rendered paste body.text:002669FF var_40 = dword ptr -40h
.text:002669FF arg_0 = dword ptr 8
.text:002669FF arg_4 = dword ptr 0Ch
.text:002669FF arg_8 = dword ptr 10h
.text:002669FF
.text:002669FF push ebp
.text:00266A00 mov ebp, esp
.text:00266A02 sub esp, 40h
.text:00266A05 cmp [ebp+arg_4], 40h
.text:00266A09 jbe short loc_266A12
.text:00266A0B mov [ebp+arg_4], 40h
.text:00266A12
.text:00266A12 loc_266A12: ; CODE XREF: XShaHmacInitialize(x,x,x)+Aj
.text:00266A12 push esi
.text:00266A13 mov esi, [ebp+arg_0]
.text:00266A16 push edi
.text:00266A17 push 10h
.text:00266A19 pop ecx
.text:00266A1A xor eax, eax
.text:00266A1C lea edi, [ebp+var_40]
.text:00266A1F rep stosd
.text:00266A21 mov ecx, [ebp+arg_4]
.text:00266A24 mov eax, ecx
.text:00266A26 shr ecx, 2
.text:00266A29 lea edi, [ebp+var_40]
.text:00266A2C rep movsd
.text:00266A2E mov ecx, eax
.text:00266A30 and ecx, 3
.text:00266A33 rep movsb
.text:00266A35 pop edi
.text:00266A36 xor eax, eax
.text:00266A38 pop esi
.text:00266A39
.text:00266A39 loc_266A39: ; CODE XREF: XShaHmacInitialize(x,x,x)+46j
.text:00266A39 xor [ebp+eax*4+var_40], 36363636h
.text:00266A41 inc eax
.text:00266A42 cmp eax, 10h
.text:00266A45 jb short loc_266A39
.text:00266A47 push [ebp+arg_8]
.text:00266A4A call sub_26F958
.text:00266A4F push 40h
.text:00266A51 lea eax, [ebp+var_40]
.text:00266A54 push eax
.text:00266A55 push [ebp+arg_8]
.text:00266A58 call sub_26F952
.text:00266A5D leave
.text:00266A5E retn 0Ch
.text:00266A5E _XShaHmacInitialize@12 endp
.text:00266A5E
.text:00266A61
.text:00266A61 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266A61
.text:00266A61 ; Attributes: thunk
.text:00266A61
.text:00266A61 sub_266A61 proc near ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+50p
.text:00266A61 ; XapiComputeContentHeaderSignature(x,x,x,x)+ACp ...
.text:00266A61 jmp sub_26F952
.text:00266A61 sub_266A61 endp
.text:00266A61
.text:00266A66
.text:00266A66 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266A66
.text:00266A66 ; Attributes: library function bp-based frame
.text:00266A66
.text:00266A66 ; __stdcall XShaHmacComputeFinal(x,x,x,x)
.text:00266A66 _XShaHmacComputeFinal@16 proc near ; CODE XREF: sub_266AD8+67p
.text:00266A66 ; XCalculateSignatureEnd(x,x)+2Bp ...
.text:00266A66
.text:00266A66 var_54 = dword ptr -54h
.text:00266A66 var_14 = dword ptr -14h
.text:00266A66 arg_0 = dword ptr 8
.text:00266A66 arg_4 = dword ptr 0Ch
.text:00266A66 arg_8 = dword ptr 10h
.text:00266A66 arg_C = dword ptr 14h
.text:00266A66
.text:00266A66 push ebp
.text:00266A67 mov ebp, esp
.text:00266A69 sub esp, 54h
.text:00266A6C push 40h
.text:00266A6E pop eax
.text:00266A6F cmp [ebp+arg_8], eax
.text:00266A72 jbe short loc_266A77
.text:00266A74 mov [ebp+arg_8], eax
.text:00266A77
.text:00266A77 loc_266A77: ; CODE XREF: XShaHmacComputeFinal(x,x,x,x)+Cj
.text:00266A77 push esi
.text:00266A78 mov esi, [ebp+arg_4]
.text:00266A7B push edi
.text:00266A7C push 10h
.text:00266A7E xor eax, eax
.text:00266A80 pop ecx
.text:00266A81 lea edi, [ebp+var_54]
.text:00266A84 rep stosd
.text:00266A86 mov ecx, [ebp+arg_8]
.text:00266A89 mov eax, ecx
.text:00266A8B shr ecx, 2
.text:00266A8E lea edi, [ebp+var_54]
.text:00266A91 rep movsd
.text:00266A93 mov ecx, eax
.text:00266A95 and ecx, 3
.text:00266A98 rep movsb
.text:00266A9A xor eax, eax
.text:00266A9C
.text:00266A9C loc_266A9C: ; CODE XREF: XShaHmacComputeFinal(x,x,x,x)+42j
.text:00266A9C xor [ebp+eax*4+var_54], 5C5C5C5Ch
.text:00266AA4 inc eax
.text:00266AA5 cmp eax, 10h
.text:00266AA8 jb short loc_266A9C
.text:00266AAA mov esi, [ebp+arg_0]
.text:00266AAD lea eax, [ebp+var_14]
.text:00266AB0 push eax
.text:00266AB1 push esi
.text:00266AB2 call sub_26F95E
.text:00266AB7 push esi
.text:00266AB8 call sub_26F958
.text:00266ABD push 54h
.text:00266ABF lea eax, [ebp+var_54]
.text:00266AC2 push eax
.text:00266AC3 push esi
.text:00266AC4 call sub_26F952
.text:00266AC9 push [ebp+arg_C]
.text:00266ACC push esi
.text:00266ACD call sub_26F95E
.text:00266AD2 pop edi
.text:00266AD3 pop esi
.text:00266AD4 leave
.text:00266AD5 retn 10h
.text:00266AD5 _XShaHmacComputeFinal@16 endp
.text:00266AD5
.text:00266AD8
.text:00266AD8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266AD8
.text:00266AD8 ; Attributes: bp-based frame
.text:00266AD8
.text:00266AD8 sub_266AD8 proc near ; CODE XREF: XCalculateSignatureEnd(x,x)+3Cp
.text:00266AD8
.text:00266AD8 var_108 = dword ptr -108h
.text:00266AD8 var_D2 = dword ptr -0D2h
.text:00266AD8 var_8 = dword ptr -8
.text:00266AD8 var_4 = dword ptr -4
.text:00266AD8 arg_0 = dword ptr 8
.text:00266AD8 arg_4 = dword ptr 0Ch
.text:00266AD8 arg_8 = dword ptr 10h
.text:00266AD8
.text:00266AD8 push ebp
.text:00266AD9 mov ebp, esp
.text:00266ADB sub esp, 108h
.text:00266AE1 push esi
.text:00266AE2 mov esi, ds:dword_485E5C
.text:00266AE8 xor al, al
.text:00266AEA push edi
.text:00266AEB xor ecx, ecx
.text:00266AED
.text:00266AED loc_266AED: ; CODE XREF: sub_266AD8+1Cj
.text:00266AED or al, [ecx+esi]
.text:00266AF0 inc ecx
.text:00266AF1 cmp ecx, 10h
.text:00266AF4 jl short loc_266AED
.text:00266AF6 test al, al
.text:00266AF8 jnz short loc_266B1E
.text:00266AFA lea eax, [ebp+var_8]
.text:00266AFD push eax
.text:00266AFE push 100h
.text:00266B03 lea eax, [ebp+var_108]
.text:00266B09 push eax
.text:00266B0A lea eax, [ebp+var_4]
.text:00266B0D push eax
.text:00266B0E push 0FFFFh
.text:00266B13 call _XQueryValue@20 ; XQueryValue(x,x,x,x,x)
.text:00266B18 lea esi, [ebp+var_D2]
.text:00266B1E
.text:00266B1E loc_266B1E: ; CODE XREF: sub_266AD8+20j
.text:00266B1E mov edi, [ebp+arg_0]
.text:00266B21 add edi, 8
.text:00266B24 push edi
.text:00266B25 push 10h
.text:00266B27 push esi
.text:00266B28 call _XShaHmacInitialize@12 ; XShaHmacInitialize(x,x,x)
.text:00266B2D push 14h
.text:00266B2F push [ebp+arg_4]
.text:00266B32 push edi
.text:00266B33 call sub_26F952
.text:00266B38 push [ebp+arg_8]
.text:00266B3B push 10h
.text:00266B3D push esi
.text:00266B3E push edi
.text:00266B3F call _XShaHmacComputeFinal@16 ; XShaHmacComputeFinal(x,x,x,x)
.text:00266B44 xor eax, eax
.text:00266B46 pop edi
.text:00266B47 inc eax
.text:00266B48 pop esi
.text:00266B49 leave
.text:00266B4A retn 0Ch
.text:00266B4A sub_266AD8 endp
.text:00266B4A
.text:00266B4D
.text:00266B4D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266B4D
.text:00266B4D
.text:00266B4D sub_266B4D proc near ; CODE XREF: sub_266CCA+2Dp
.text:00266B4D
.text:00266B4D arg_0 = dword ptr 0Ch
.text:00266B4D arg_4 = dword ptr 10h
.text:00266B4D
.text:00266B4D push ebx
.text:00266B4E push esi
.text:00266B4F mov esi, ds:10118h
.text:00266B55 push edi
.text:00266B56 push 24830000h
.text:00266B5B push 7Ch
.text:00266B5D call sub_64B60
.text:00266B62 mov edi, eax
.text:00266B64 test edi, edi
.text:00266B66 jnz short loc_266B6C
.text:00266B68 push 8
.text:00266B6A jmp short loc_266B9A
.text:00266B6C ; ---------------------------------------------------------------------------
.text:00266B6C
.text:00266B6C loc_266B6C: ; CODE XREF: sub_266B4D+19j
.text:00266B6C mov eax, [esp+4+arg_0]
.text:00266B70 mov ebx, [esp+4+arg_4]
.text:00266B74 mov [edi], eax
.text:00266B76 cmp [esi+8], ebx
.text:00266B79 jz short loc_266BAF
.text:00266B7B xor eax, eax
.text:00266B7D lea ecx, [esi+5Ch]
.text:00266B80
.text:00266B80 loc_266B80: ; CODE XREF: sub_266B4D+44j
.text:00266B80 mov edx, [ecx]
.text:00266B82 test edx, edx
.text:00266B84 jz short loc_266B98
.text:00266B86 cmp ebx, edx
.text:00266B88 jz short loc_266B93
.text:00266B8A inc eax
.text:00266B8B add ecx, 4
.text:00266B8E cmp eax, 10h
.text:00266B91 jb short loc_266B80
.text:00266B93
.text:00266B93 loc_266B93: ; CODE XREF: sub_266B4D+3Bj
.text:00266B93 cmp eax, 40h
.text:00266B96 jb short loc_266BA4
.text:00266B98
.text:00266B98 loc_266B98: ; CODE XREF: sub_266B4D+37j
.text:00266B98 push 5 ; dwErrCode
.text:00266B9A
.text:00266B9A loc_266B9A: ; CODE XREF: sub_266B4D+1Dj
.text:00266B9A call _SetLastError@4 ; SetLastError(x)
.text:00266B9F or eax, 0FFFFFFFFh
.text:00266BA2 jmp short loc_266BC7
.text:00266BA4 ; ---------------------------------------------------------------------------
.text:00266BA4
.text:00266BA4 loc_266BA4: ; CODE XREF: sub_266B4D+49j
.text:00266BA4 shl eax, 4
.text:00266BA7 add eax, ds:dword_485E64
.text:00266BAD jmp short loc_266BB4
.text:00266BAF ; ---------------------------------------------------------------------------
.text:00266BAF
.text:00266BAF loc_266BAF: ; CODE XREF: sub_266B4D+2Cj
.text:00266BAF mov eax, ds:dword_485E60
.text:00266BB4
.text:00266BB4 loc_266BB4: ; CODE XREF: sub_266B4D+60j
.text:00266BB4 mov [edi+4], eax
.text:00266BB7 lea eax, [edi+8]
.text:00266BBA push eax
.text:00266BBB push 10h
.text:00266BBD push dword ptr [edi+4]
.text:00266BC0 call _XShaHmacInitialize@12 ; XShaHmacInitialize(x,x,x)
.text:00266BC5 mov eax, edi
.text:00266BC7
.text:00266BC7 loc_266BC7: ; CODE XREF: sub_266B4D+55j
.text:00266BC7 pop edi
.text:00266BC8 pop esi
.text:00266BC9 pop ebx
.text:00266BCA retn 8
.text:00266BCA sub_266B4D endp
.text:00266BCA
.text:00266BCD
.text:00266BCD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266BCD
.text:00266BCD ; Attributes: library function bp-based frame
.text:00266BCD
.text:00266BCD ; __stdcall XCalculateSignatureEnd(x,x)
.text:00266BCD _XCalculateSignatureEnd@8 proc near ; CODE XREF: sub_266D6D+38p
.text:00266BCD
.text:00266BCD var_14 = dword ptr -14h
.text:00266BCD arg_0 = dword ptr 8
.text:00266BCD arg_4 = dword ptr 0Ch
.text:00266BCD
.text:00266BCD push ebp
.text:00266BCE mov ebp, esp
.text:00266BD0 sub esp, 14h
.text:00266BD3 mov eax, [ebp+arg_4]
.text:00266BD6 push ebx
.text:00266BD7 push esi
.text:00266BD8 push edi
.text:00266BD9 mov edi, [ebp+arg_0]
.text:00266BDC mov esi, [edi]
.text:00266BDE xor ebx, ebx
.text:00266BE0 inc ebx
.text:00266BE1 and esi, ebx
.text:00266BE3 test eax, eax
.text:00266BE5 jz short loc_266C10
.text:00266BE7 test esi, esi
.text:00266BE9 jz short loc_266BEE
.text:00266BEB lea eax, [ebp+var_14]
.text:00266BEE
.text:00266BEE loc_266BEE: ; CODE XREF: XCalculateSignatureEnd(x,x)+1Cj
.text:00266BEE push eax
.text:00266BEF push 10h
.text:00266BF1 push dword ptr [edi+4]
.text:00266BF4 lea eax, [edi+8]
.text:00266BF7 push eax
.text:00266BF8 call _XShaHmacComputeFinal@16 ; XShaHmacComputeFinal(x,x,x,x)
.text:00266BFD test esi, esi
.text:00266BFF jz short loc_266C10
.text:00266C01 push [ebp+arg_4]
.text:00266C04 lea eax, [ebp+var_14]
.text:00266C07 push eax
.text:00266C08 push edi
.text:00266C09 call sub_266AD8
.text:00266C0E mov ebx, eax
.text:00266C10
.text:00266C10 loc_266C10: ; CODE XREF: XCalculateSignatureEnd(x,x)+18j
.text:00266C10 ; XCalculateSignatureEnd(x,x)+32j
.text:00266C10 push 24830000h
.text:00266C15 push edi
.text:00266C16 call sub_645B0
.text:00266C1B pop edi
.text:00266C1C pop esi
.text:00266C1D test ebx, ebx
.text:00266C1F pop ebx
.text:00266C20 jz short loc_266C26
.text:00266C22 xor eax, eax
.text:00266C24 jmp short locret_266C2B
.text:00266C26 ; ---------------------------------------------------------------------------
.text:00266C26
.text:00266C26 loc_266C26: ; CODE XREF: XCalculateSignatureEnd(x,x)+53j
.text:00266C26 call _GetLastError@0 ; GetLastError()
.text:00266C2B
.text:00266C2B locret_266C2B: ; CODE XREF: XCalculateSignatureEnd(x,x)+57j
.text:00266C2B leave
.text:00266C2C retn 8
.text:00266C2C _XCalculateSignatureEnd@8 endp
.text:00266C2C
.text:00266C2F
.text:00266C2F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266C2F
.text:00266C2F
.text:00266C2F sub_266C2F proc near ; CODE XREF: sub_266CCA:loc_266CEBp
.text:00266C2F push esi
.text:00266C30 push 24830000h
.text:00266C35 push 7Ch
.text:00266C37 call sub_64B60
.text:00266C3C mov esi, eax
.text:00266C3E test esi, esi
.text:00266C40 jnz short loc_266C4E
.text:00266C42 push 8 ; dwErrCode
.text:00266C44 call _SetLastError@4 ; SetLastError(x)
.text:00266C49 or eax, 0FFFFFFFFh
.text:00266C4C pop esi
.text:00266C4D retn
.text:00266C4E ; ---------------------------------------------------------------------------
.text:00266C4E
.text:00266C4E loc_266C4E: ; CODE XREF: sub_266C2F+11j
.text:00266C4E and dword ptr [esi+4], 0
.text:00266C52 lea eax, [esi+8]
.text:00266C55 push eax
.text:00266C56 mov dword ptr [esi], 2
.text:00266C5C call sub_26F958
.text:00266C61 mov eax, esi
.text:00266C63 pop esi
.text:00266C64 retn
.text:00266C64 sub_266C2F endp ; sp = -4
.text:00266C64
.text:00266C65
.text:00266C65 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266C65
.text:00266C65 ; Attributes: library function
.text:00266C65
.text:00266C65 ; __stdcall XCalculateSignatureUpdate(x,x,x)
.text:00266C65 _XCalculateSignatureUpdate@12 proc near ; CODE XREF: sub_266D1F+32p
.text:00266C65 ; sub_266D1F+40p
.text:00266C65
.text:00266C65 arg_0 = dword ptr 4
.text:00266C65 arg_4 = dword ptr 8
.text:00266C65 arg_8 = dword ptr 0Ch
.text:00266C65
.text:00266C65 push [esp+arg_8]
.text:00266C69 mov eax, [esp+4+arg_0]
.text:00266C6D push [esp+4+arg_4]
.text:00266C71 add eax, 8
.text:00266C74 push eax
.text:00266C75 call sub_26F952
.text:00266C7A xor eax, eax
.text:00266C7C retn 0Ch
.text:00266C7C _XCalculateSignatureUpdate@12 endp ; sp = -0Ch
.text:00266C7C
.text:00266C7F
.text:00266C7F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266C7F
.text:00266C7F
.text:00266C7F sub_266C7F proc near ; CODE XREF: sub_266D6D+2Cp
.text:00266C7F
.text:00266C7F arg_0 = dword ptr 4
.text:00266C7F arg_4 = dword ptr 8
.text:00266C7F
.text:00266C7F cmp [esp+arg_4], 0
.text:00266C84 push esi
.text:00266C85 mov esi, [esp+4+arg_0]
.text:00266C89 jz short loc_266C98
.text:00266C8B push [esp+4+arg_4]
.text:00266C8F lea eax, [esi+8]
.text:00266C92 push eax
.text:00266C93 call sub_26F95E
.text:00266C98
.text:00266C98 loc_266C98: ; CODE XREF: sub_266C7F+Aj
.text:00266C98 push 24830000h
.text:00266C9D push esi
.text:00266C9E call sub_645B0
.text:00266CA3 xor eax, eax
.text:00266CA5 pop esi
.text:00266CA6 retn 8
.text:00266CA6 sub_266C7F endp ; sp = -8
.text:00266CA6
.text:00266CA9
.text:00266CA9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266CA9
.text:00266CA9
.text:00266CA9 sub_266CA9 proc near ; CODE XREF: .text:000536D2p
.text:00266CA9 ; .text:000A5912p ...
.text:00266CA9
.text:00266CA9 arg_0 = dword ptr 4
.text:00266CA9
.text:00266CA9 mov eax, [esp+arg_0]
.text:00266CAD cmp eax, 2
.text:00266CB0 jbe short loc_266CC1
.text:00266CB2 cmp eax, 4
.text:00266CB5 jz short loc_266CC1
.text:00266CB7 cmp eax, 8
.text:00266CBA jnz short loc_266CC5
.text:00266CBC push 64h
.text:00266CBE
.text:00266CBE loc_266CBE: ; CODE XREF: sub_266CA9+1Aj
.text:00266CBE pop eax
.text:00266CBF jmp short locret_266CC7
.text:00266CC1 ; ---------------------------------------------------------------------------
.text:00266CC1
.text:00266CC1 loc_266CC1: ; CODE XREF: sub_266CA9+7j
.text:00266CC1 ; sub_266CA9+Cj
.text:00266CC1 push 14h
.text:00266CC3 jmp short loc_266CBE
.text:00266CC5 ; ---------------------------------------------------------------------------
.text:00266CC5
.text:00266CC5 loc_266CC5: ; CODE XREF: sub_266CA9+11j
.text:00266CC5 xor eax, eax
.text:00266CC7
.text:00266CC7 locret_266CC7: ; CODE XREF: sub_266CA9+16j
.text:00266CC7 retn 4
.text:00266CC7 sub_266CA9 endp
.text:00266CC7
.text:00266CCA
.text:00266CCA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266CCA
.text:00266CCA
.text:00266CCA sub_266CCA proc near ; CODE XREF: XCalculateSignatureBegin(x)+Cp
.text:00266CCA
.text:00266CCA arg_0 = dword ptr 4
.text:00266CCA arg_4 = dword ptr 8
.text:00266CCA
.text:00266CCA mov eax, [esp+arg_0]
.text:00266CCE cmp eax, 1
.text:00266CD1 jbe short loc_266CF2
.text:00266CD3 cmp eax, 2
.text:00266CD6 jz short loc_266CEB
.text:00266CD8 cmp eax, 4
.text:00266CDB jz short loc_266CEB
.text:00266CDD cmp eax, 8
.text:00266CE0 jnz short loc_266CFE
.text:00266CE2 push eax
.text:00266CE3 call dword_5E1C08
.text:00266CE9 jmp short locret_266D08
.text:00266CEB ; ---------------------------------------------------------------------------
.text:00266CEB
.text:00266CEB loc_266CEB: ; CODE XREF: sub_266CCA+Cj
.text:00266CEB ; sub_266CCA+11j
.text:00266CEB call sub_266C2F
.text:00266CF0 jmp short locret_266D08
.text:00266CF2 ; ---------------------------------------------------------------------------
.text:00266CF2
.text:00266CF2 loc_266CF2: ; CODE XREF: sub_266CCA+7j
.text:00266CF2 push [esp+arg_4]
.text:00266CF6 push eax
.text:00266CF7 call sub_266B4D
.text:00266CFC jmp short locret_266D08
.text:00266CFE ; ---------------------------------------------------------------------------
.text:00266CFE
.text:00266CFE loc_266CFE: ; CODE XREF: sub_266CCA+16j
.text:00266CFE push 32h ; dwErrCode
.text:00266D00 call _SetLastError@4 ; SetLastError(x)
.text:00266D05 or eax, 0FFFFFFFFh
.text:00266D08
.text:00266D08 locret_266D08: ; CODE XREF: sub_266CCA+1Fj
.text:00266D08 ; sub_266CCA+26j ...
.text:00266D08 retn 8
.text:00266D08 sub_266CCA endp
.text:00266D08
.text:00266D0B ; [00000014 BYTES: COLLAPSED FUNCTION XCalculateSignatureBegin(x). PRESS KEYPAD "+" TO EXPAND]
.text:00266D1F
.text:00266D1F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266D1F
.text:00266D1F ; Attributes: bp-based frame
.text:00266D1F
.text:00266D1F sub_266D1F proc near ; CODE XREF: .text:00054B53p
.text:00266D1F ; .text:000A5D83p ...
.text:00266D1F
.text:00266D1F arg_0 = dword ptr 8
.text:00266D1F arg_4 = dword ptr 0Ch
.text:00266D1F arg_8 = dword ptr 10h
.text:00266D1F
.text:00266D1F push ebp
.text:00266D20 mov ebp, esp
.text:00266D22 mov ecx, [ebp+arg_0]
.text:00266D25 mov eax, [ecx]
.text:00266D27 cmp eax, 1
.text:00266D2A jbe short loc_266D58
.text:00266D2C cmp eax, 2
.text:00266D2F jz short loc_266D4A
.text:00266D31 cmp eax, 4
.text:00266D34 jz short loc_266D4A
.text:00266D36 cmp eax, 8
.text:00266D39 jnz short loc_266D66
.text:00266D3B push [ebp+arg_8]
.text:00266D3E push [ebp+arg_4]
.text:00266D41 push ecx
.text:00266D42 call dword_5E1C0C
.text:00266D48 jmp short loc_266D69
.text:00266D4A ; ---------------------------------------------------------------------------
.text:00266D4A
.text:00266D4A loc_266D4A: ; CODE XREF: sub_266D1F+10j
.text:00266D4A ; sub_266D1F+15j
.text:00266D4A push [ebp+arg_8]
.text:00266D4D push [ebp+arg_4]
.text:00266D50 push ecx
.text:00266D51 call _XCalculateSignatureUpdate@12 ; XCalculateSignatureUpdate(x,x,x)
.text:00266D56 jmp short loc_266D69
.text:00266D58 ; ---------------------------------------------------------------------------
.text:00266D58
.text:00266D58 loc_266D58: ; CODE XREF: sub_266D1F+Bj
.text:00266D58 push [ebp+arg_8]
.text:00266D5B push [ebp+arg_4]
.text:00266D5E push ecx
.text:00266D5F call _XCalculateSignatureUpdate@12 ; XCalculateSignatureUpdate(x,x,x)
.text:00266D64 jmp short loc_266D69
.text:00266D66 ; ---------------------------------------------------------------------------
.text:00266D66
.text:00266D66 loc_266D66: ; CODE XREF: sub_266D1F+1Aj
.text:00266D66 push 32h
.text:00266D68 pop eax
.text:00266D69
.text:00266D69 loc_266D69: ; CODE XREF: sub_266D1F+29j
.text:00266D69 ; sub_266D1F+37j ...
.text:00266D69 pop ebp
.text:00266D6A retn 0Ch
.text:00266D6A sub_266D1F endp
.text:00266D6A
.text:00266D6D
.text:00266D6D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266D6D
.text:00266D6D
.text:00266D6D sub_266D6D proc near ; CODE XREF: sub_536E0+18p
.text:00266D6D ; sub_536E0+41p ...
.text:00266D6D
.text:00266D6D arg_0 = dword ptr 4
.text:00266D6D arg_4 = dword ptr 8
.text:00266D6D
.text:00266D6D mov ecx, [esp+arg_0]
.text:00266D71 mov eax, [ecx]
.text:00266D73 cmp eax, 1
.text:00266D76 jbe short loc_266DA0
.text:00266D78 cmp eax, 2
.text:00266D7B jz short loc_266D94
.text:00266D7D cmp eax, 4
.text:00266D80 jz short loc_266D94
.text:00266D82 cmp eax, 8
.text:00266D85 jnz short loc_266DAC
.text:00266D87 push [esp+arg_4]
.text:00266D8B push ecx
.text:00266D8C call dword_5E1C10
.text:00266D92 jmp short locret_266DAF
.text:00266D94 ; ---------------------------------------------------------------------------
.text:00266D94
.text:00266D94 loc_266D94: ; CODE XREF: sub_266D6D+Ej
.text:00266D94 ; sub_266D6D+13j
.text:00266D94 push [esp+arg_4]
.text:00266D98 push ecx
.text:00266D99 call sub_266C7F
.text:00266D9E jmp short locret_266DAF
.text:00266DA0 ; ---------------------------------------------------------------------------
.text:00266DA0
.text:00266DA0 loc_266DA0: ; CODE XREF: sub_266D6D+9j
.text:00266DA0 push [esp+arg_4]
.text:00266DA4 push ecx
.text:00266DA5 call _XCalculateSignatureEnd@8 ; XCalculateSignatureEnd(x,x)
.text:00266DAA jmp short locret_266DAF
.text:00266DAC ; ---------------------------------------------------------------------------
.text:00266DAC
.text:00266DAC loc_266DAC: ; CODE XREF: sub_266D6D+18j
.text:00266DAC push 32h
.text:00266DAE pop eax
.text:00266DAF
.text:00266DAF locret_266DAF: ; CODE XREF: sub_266D6D+25j
.text:00266DAF ; sub_266D6D+31j ...
.text:00266DAF retn 8
.text:00266DAF sub_266D6D endp
.text:00266DAF
.text:00266DB2 ; [0000002E BYTES: COLLAPSED FUNCTION VirtualAlloc(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00266DE0 ; [0000003C BYTES: COLLAPSED FUNCTION VirtualFree(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00266E1C ; [00000022 BYTES: COLLAPSED FUNCTION VirtualQuery(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00266E3E ; [00000014 BYTES: COLLAPSED FUNCTION VirtualQueryEx(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00266E52 ; [0000004F BYTES: COLLAPSED FUNCTION GlobalMemoryStatus(x). PRESS KEYPAD "+" TO EXPAND]
.text:00266EA1
.text:00266EA1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266EA1
.text:00266EA1 ; Attributes: bp-based frame
.text:00266EA1
.text:00266EA1 sub_266EA1 proc near ; CODE XREF: sub_5BD30j
.text:00266EA1 ; XapiReadFromStDb(x,x,x)+18p ...
.text:00266EA1
.text:00266EA1 var_10 = dword ptr -10h
.text:00266EA1 var_C = dword ptr -0Ch
.text:00266EA1 var_8 = dword ptr -8
.text:00266EA1 var_4 = dword ptr -4
.text:00266EA1 arg_0 = dword ptr 8
.text:00266EA1 arg_4 = dword ptr 0Ch
.text:00266EA1 arg_8 = dword ptr 10h
.text:00266EA1 arg_C = dword ptr 14h
.text:00266EA1 arg_10 = dword ptr 18h
.text:00266EA1
.text:00266EA1 push ebp
.text:00266EA2 mov ebp, esp
.text:00266EA4 sub esp, 10h
.text:00266EA7 push ebx
.text:00266EA8 push esi
.text:00266EA9 push edi
.text:00266EAA mov edi, [ebp+arg_C]
.text:00266EAD xor ebx, ebx
.text:00266EAF cmp edi, ebx
.text:00266EB1 jz short loc_266EB5
.text:00266EB3 mov [edi], ebx
.text:00266EB5
.text:00266EB5 loc_266EB5: ; CODE XREF: sub_266EA1+10j
.text:00266EB5 mov esi, [ebp+arg_10]
.text:00266EB8 cmp esi, ebx
.text:00266EBA jz short loc_266F24
.text:00266EBC mov eax, [esi+8]
.text:00266EBF mov [ebp+var_10], eax
.text:00266EC2 mov eax, [esi+0Ch]
.text:00266EC5 mov [ebp+var_C], eax
.text:00266EC8 mov eax, [esi+10h]
.text:00266ECB lea ecx, [ebp+var_10]
.text:00266ECE push ecx
.text:00266ECF push [ebp+arg_8]
.text:00266ED2 mov ecx, eax
.text:00266ED4 push [ebp+arg_4]
.text:00266ED7 and cl, 1
.text:00266EDA neg cl
.text:00266EDC push esi
.text:00266EDD mov edi, 103h
.text:00266EE2 mov [esi], edi
.text:00266EE4 sbb ecx, ecx
.text:00266EE6 not ecx
.text:00266EE8 and ecx, esi
.text:00266EEA push ecx
.text:00266EEB push ebx
.text:00266EEC push eax
.text:00266EED push [ebp+arg_0]
.text:00266EF0 call ds:dword_485DFC
.text:00266EF6 cmp eax, ebx
.text:00266EF8 jl short loc_266F0F
.text:00266EFA cmp eax, edi
.text:00266EFC jz short loc_266F0F
.text:00266EFE mov eax, [ebp+arg_C]
.text:00266F01 cmp eax, ebx
.text:00266F03 jz short loc_266F0A
.text:00266F05 mov ecx, [esi+4]
.text:00266F08 mov [eax], ecx
.text:00266F0A
.text:00266F0A loc_266F0A: ; CODE XREF: sub_266EA1+62j
.text:00266F0A ; sub_266EA1+BCj ...
.text:00266F0A xor eax, eax
.text:00266F0C inc eax
.text:00266F0D jmp short loc_266F87
.text:00266F0F ; ---------------------------------------------------------------------------
.text:00266F0F
.text:00266F0F loc_266F0F: ; CODE XREF: sub_266EA1+57j
.text:00266F0F ; sub_266EA1+5Bj
.text:00266F0F mov ecx, 0C0000011h
.text:00266F14 cmp eax, ecx
.text:00266F16 jnz short loc_266F7F
.text:00266F18 mov eax, [ebp+arg_C]
.text:00266F1B cmp eax, ebx
.text:00266F1D jz short loc_266F21
.text:00266F1F mov [eax], ebx
.text:00266F21
.text:00266F21 loc_266F21: ; CODE XREF: sub_266EA1+7Cj
.text:00266F21 push ecx
.text:00266F22 jmp short loc_266F80
.text:00266F24 ; ---------------------------------------------------------------------------
.text:00266F24
.text:00266F24 loc_266F24: ; CODE XREF: sub_266EA1+19j
.text:00266F24 push ebx
.text:00266F25 push [ebp+arg_8]
.text:00266F28 lea eax, [ebp+var_8]
.text:00266F2B push [ebp+arg_4]
.text:00266F2E push eax
.text:00266F2F push ebx
.text:00266F30 push ebx
.text:00266F31 push ebx
.text:00266F32 push [ebp+arg_0]
.text:00266F35 call ds:dword_485DFC
.text:00266F3B cmp eax, 103h
.text:00266F40 jnz short loc_266F54
.text:00266F42 push ebx
.text:00266F43 push ebx
.text:00266F44 push [ebp+arg_0]
.text:00266F47 call ds:dword_485E80
.text:00266F4D cmp eax, ebx
.text:00266F4F jl short loc_266F5F
.text:00266F51 mov eax, [ebp+var_8]
.text:00266F54
.text:00266F54 loc_266F54: ; CODE XREF: sub_266EA1+9Fj
.text:00266F54 cmp eax, ebx
.text:00266F56 jl short loc_266F5F
.text:00266F58 mov eax, [ebp+var_4]
.text:00266F5B mov [edi], eax
.text:00266F5D jmp short loc_266F0A
.text:00266F5F ; ---------------------------------------------------------------------------
.text:00266F5F
.text:00266F5F loc_266F5F: ; CODE XREF: sub_266EA1+AEj
.text:00266F5F ; sub_266EA1+B5j
.text:00266F5F cmp eax, 0C0000011h
.text:00266F64 jnz short loc_266F6A
.text:00266F66 mov [edi], ebx
.text:00266F68 jmp short loc_266F0A
.text:00266F6A ; ---------------------------------------------------------------------------
.text:00266F6A
.text:00266F6A loc_266F6A: ; CODE XREF: sub_266EA1+C3j
.text:00266F6A mov ecx, eax
.text:00266F6C and ecx, 0C0000000h
.text:00266F72 cmp ecx, 80000000h
.text:00266F78 jnz short loc_266F7F
.text:00266F7A mov ecx, [ebp+var_4]
.text:00266F7D mov [edi], ecx
.text:00266F7F
.text:00266F7F loc_266F7F: ; CODE XREF: sub_266EA1+75j
.text:00266F7F ; sub_266EA1+D7j
.text:00266F7F push eax
.text:00266F80
.text:00266F80 loc_266F80: ; CODE XREF: sub_266EA1+81j
.text:00266F80 call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:00266F85 xor eax, eax
.text:00266F87
.text:00266F87 loc_266F87: ; CODE XREF: sub_266EA1+6Cj
.text:00266F87 pop edi
.text:00266F88 pop esi
.text:00266F89 pop ebx
.text:00266F8A leave
.text:00266F8B retn 14h
.text:00266F8B sub_266EA1 endp
.text:00266F8B
.text:00266F8E
.text:00266F8E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00266F8E
.text:00266F8E ; Attributes: bp-based frame
.text:00266F8E
.text:00266F8E sub_266F8E proc near ; CODE XREF: sub_5BD40j
.text:00266F8E ; XCreateSaveGame(x,x,x,x,x,x)+1FDp ...
.text:00266F8E
.text:00266F8E var_10 = dword ptr -10h
.text:00266F8E var_C = dword ptr -0Ch
.text:00266F8E var_8 = dword ptr -8
.text:00266F8E var_4 = dword ptr -4
.text:00266F8E arg_0 = dword ptr 8
.text:00266F8E arg_4 = dword ptr 0Ch
.text:00266F8E arg_8 = dword ptr 10h
.text:00266F8E arg_C = dword ptr 14h
.text:00266F8E arg_10 = dword ptr 18h
.text:00266F8E
.text:00266F8E push ebp
.text:00266F8F mov ebp, esp
.text:00266F91 sub esp, 10h
.text:00266F94 push ebx
.text:00266F95 push esi
.text:00266F96 push edi
.text:00266F97 mov edi, [ebp+arg_C]
.text:00266F9A xor ebx, ebx
.text:00266F9C cmp edi, ebx
.text:00266F9E jz short loc_266FA2
.text:00266FA0 mov [edi], ebx
.text:00266FA2
.text:00266FA2 loc_266FA2: ; CODE XREF: sub_266F8E+10j
.text:00266FA2 mov esi, [ebp+arg_10]
.text:00266FA5 cmp esi, ebx
.text:00266FA7 jz short loc_267005
.text:00266FA9 mov eax, [esi+8]
.text:00266FAC mov [ebp+var_10], eax
.text:00266FAF mov eax, [esi+0Ch]
.text:00266FB2 mov [ebp+var_C], eax
.text:00266FB5 mov eax, [esi+10h]
.text:00266FB8 lea ecx, [ebp+var_10]
.text:00266FBB push ecx
.text:00266FBC push [ebp+arg_8]
.text:00266FBF mov ecx, eax
.text:00266FC1 push [ebp+arg_4]
.text:00266FC4 and cl, 1
.text:00266FC7 neg cl
.text:00266FC9 push esi
.text:00266FCA mov edi, 103h
.text:00266FCF mov [esi], edi
.text:00266FD1 sbb ecx, ecx
.text:00266FD3 not ecx
.text:00266FD5 and ecx, esi
.text:00266FD7 push ecx
.text:00266FD8 push ebx
.text:00266FD9 push eax
.text:00266FDA push [ebp+arg_0]
.text:00266FDD call ds:dword_485DF4
.text:00266FE3 mov ecx, 0C0000000h
.text:00266FE8 mov edx, eax
.text:00266FEA and edx, ecx
.text:00266FEC cmp edx, ecx
.text:00266FEE jz short loc_267055
.text:00266FF0 cmp eax, edi
.text:00266FF2 jz short loc_267055
.text:00266FF4 mov eax, [ebp+arg_C]
.text:00266FF7 cmp eax, ebx
.text:00266FF9 jz short loc_267000
.text:00266FFB mov ecx, [esi+4]
.text:00266FFE mov [eax], ecx
.text:00267000
.text:00267000 loc_267000: ; CODE XREF: sub_266F8E+6Bj
.text:00267000 ; sub_266F8E+B0j
.text:00267000 xor eax, eax
.text:00267002 inc eax
.text:00267003 jmp short loc_26705D
.text:00267005 ; ---------------------------------------------------------------------------
.text:00267005
.text:00267005 loc_267005: ; CODE XREF: sub_266F8E+19j
.text:00267005 push ebx
.text:00267006 push [ebp+arg_8]
.text:00267009 lea eax, [ebp+var_8]
.text:0026700C push [ebp+arg_4]
.text:0026700F push eax
.text:00267010 push ebx
.text:00267011 push ebx
.text:00267012 push ebx
.text:00267013 push [ebp+arg_0]
.text:00267016 call ds:dword_485DF4
.text:0026701C cmp eax, 103h
.text:00267021 jnz short loc_267035
.text:00267023 push ebx
.text:00267024 push ebx
.text:00267025 push [ebp+arg_0]
.text:00267028 call ds:dword_485E80
.text:0026702E cmp eax, ebx
.text:00267030 jl short loc_267040
.text:00267032 mov eax, [ebp+var_8]
.text:00267035
.text:00267035 loc_267035: ; CODE XREF: sub_266F8E+93j
.text:00267035 cmp eax, ebx
.text:00267037 jl short loc_267040
.text:00267039 mov eax, [ebp+var_4]
.text:0026703C mov [edi], eax
.text:0026703E jmp short loc_267000
.text:00267040 ; ---------------------------------------------------------------------------
.text:00267040
.text:00267040 loc_267040: ; CODE XREF: sub_266F8E+A2j
.text:00267040 ; sub_266F8E+A9j
.text:00267040 mov ecx, eax
.text:00267042 and ecx, 0C0000000h
.text:00267048 cmp ecx, 80000000h
.text:0026704E jnz short loc_267055
.text:00267050 mov ecx, [ebp+var_4]
.text:00267053 mov [edi], ecx
.text:00267055
.text:00267055 loc_267055: ; CODE XREF: sub_266F8E+60j
.text:00267055 ; sub_266F8E+64j ...
.text:00267055 push eax
.text:00267056 call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:0026705B xor eax, eax
.text:0026705D
.text:0026705D loc_26705D: ; CODE XREF: sub_266F8E+75j
.text:0026705D pop edi
.text:0026705E pop esi
.text:0026705F pop ebx
.text:00267060 leave
.text:00267061 retn 14h
.text:00267061 sub_266F8E endp
.text:00267061
.text:00267064 ; [00000084 BYTES: COLLAPSED FUNCTION SetEndOfFile(x). PRESS KEYPAD "+" TO EXPAND]
.text:002670E8 ; [000000FA BYTES: COLLAPSED FUNCTION SetFilePointer(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:002671E2 ; [000000C8 BYTES: COLLAPSED FUNCTION SetFilePointerEx(x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:002672AA ; [00000066 BYTES: COLLAPSED FUNCTION GetFileTime(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00267310 ; [00000072 BYTES: COLLAPSED FUNCTION SetFileTime(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00267382 ; [00000027 BYTES: COLLAPSED FUNCTION FlushFileBuffers(x). PRESS KEYPAD "+" TO EXPAND]
.text:002673A9 ; [0000003E BYTES: COLLAPSED FUNCTION GetFileSizeEx(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:002673E7
.text:002673E7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:002673E7
.text:002673E7 ; Attributes: bp-based frame
.text:002673E7
.text:002673E7 sub_2673E7 proc near ; CODE XREF: sub_5BD50j
.text:002673E7
.text:002673E7 var_8 = dword ptr -8
.text:002673E7 var_4 = dword ptr -4
.text:002673E7 arg_0 = dword ptr 8
.text:002673E7 arg_4 = dword ptr 0Ch
.text:002673E7 arg_8 = dword ptr 10h
.text:002673E7 arg_C = dword ptr 14h
.text:002673E7 arg_10 = dword ptr 18h
.text:002673E7
.text:002673E7 push ebp
.text:002673E8 mov ebp, esp
.text:002673EA push ecx
.text:002673EB push ecx
.text:002673EC mov eax, [ebp+arg_C]
.text:002673EF mov ecx, [eax+8]
.text:002673F2 mov [ebp+var_8], ecx
.text:002673F5 mov ecx, [eax+0Ch]
.text:002673F8 mov [ebp+var_4], ecx
.text:002673FB lea ecx, [ebp+var_8]
.text:002673FE push ecx
.text:002673FF push [ebp+arg_8]
.text:00267402 push [ebp+arg_4]
.text:00267405 push eax
.text:00267406 push [ebp+arg_10]
.text:00267409 push ds:dword_485E8C
.text:0026740F push 0
.text:00267411 push [ebp+arg_0]
.text:00267414 call ds:dword_485DFC
.text:0026741A mov ecx, 0C0000000h
.text:0026741F mov edx, eax
.text:00267421 and edx, ecx
.text:00267423 cmp edx, ecx
.text:00267425 jnz short loc_267431
.text:00267427 push eax
.text:00267428 call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:0026742D xor eax, eax
.text:0026742F jmp short locret_267434
.text:00267431 ; ---------------------------------------------------------------------------
.text:00267431
.text:00267431 loc_267431: ; CODE XREF: sub_2673E7+3Ej
.text:00267431 xor eax, eax
.text:00267433 inc eax
.text:00267434
.text:00267434 locret_267434: ; CODE XREF: sub_2673E7+48j
.text:00267434 leave
.text:00267435 retn 14h
.text:00267435 sub_2673E7 endp
.text:00267435
.text:00267438
.text:00267438 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00267438
.text:00267438 ; Attributes: bp-based frame
.text:00267438
.text:00267438 sub_267438 proc near ; CODE XREF: sub_5BD60j
.text:00267438
.text:00267438 var_8 = dword ptr -8
.text:00267438 var_4 = dword ptr -4
.text:00267438 arg_0 = dword ptr 8
.text:00267438 arg_4 = dword ptr 0Ch
.text:00267438 arg_8 = dword ptr 10h
.text:00267438 arg_C = dword ptr 14h
.text:00267438 arg_10 = dword ptr 18h
.text:00267438
.text:00267438 push ebp
.text:00267439 mov ebp, esp
.text:0026743B push ecx
.text:0026743C push ecx
.text:0026743D mov eax, [ebp+arg_C]
.text:00267440 mov ecx, [eax+8]
.text:00267443 mov [ebp+var_8], ecx
.text:00267446 mov ecx, [eax+0Ch]
.text:00267449 mov [ebp+var_4], ecx
.text:0026744C lea ecx, [ebp+var_8]
.text:0026744F push ecx
.text:00267450 push [ebp+arg_8]
.text:00267453 push [ebp+arg_4]
.text:00267456 push eax
.text:00267457 push [ebp+arg_10]
.text:0026745A push ds:dword_485E8C
.text:00267460 push 0
.text:00267462 push [ebp+arg_0]
.text:00267465 call ds:dword_485DF4
.text:0026746B mov ecx, 0C0000000h
.text:00267470 mov edx, eax
.text:00267472 and edx, ecx
.text:00267474 cmp edx, ecx
.text:00267476 jnz short loc_267482
.text:00267478 push eax
.text:00267479 call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:0026747E xor eax, eax
.text:00267480 jmp short locret_267485
.text:00267482 ; ---------------------------------------------------------------------------
.text:00267482
.text:00267482 loc_267482: ; CODE XREF: sub_267438+3Ej
.text:00267482 xor eax, eax
.text:00267484 inc eax
.text:00267485
.text:00267485 locret_267485: ; CODE XREF: sub_267438+48j
.text:00267485 leave
.text:00267486 retn 14h
.text:00267486 sub_267438 endp
.text:00267486
.text:00267489
.text:00267489 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00267489
.text:00267489 ; Attributes: bp-based frame
.text:00267489
.text:00267489 sub_267489 proc near ; CODE XREF: sub_5ABB0+F5p
.text:00267489 ; sub_5ABB0+161p ...
.text:00267489
.text:00267489 var_24 = dword ptr -24h
.text:00267489 var_1C = dword ptr -1Ch
.text:00267489 var_18 = dword ptr -18h
.text:00267489 var_4 = dword ptr -4
.text:00267489 arg_0 = dword ptr 8
.text:00267489
.text:00267489 push ebp
.text:0026748A mov ebp, esp
.text:0026748C
.text:0026748C loc_26748C: ; DATA XREF: .text:002EC928o
.text:0026748C sub esp, 24h
.text:0026748F push esi
.text:00267490 lea eax, [ebp+arg_0]
.text:00267493 push eax
.text:00267494 push ds:dword_485E98
.text:0026749A or esi, 0FFFFFFFFh
.text:0026749D push [ebp+arg_0]
.text:002674A0 call ds:dword_485E30
.text:002674A6 test eax, eax
.text:002674A8 jge short loc_2674B2
.text:002674AA push eax
.text:002674AB call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:002674B0 jmp short loc_267529
.text:002674B2 ; ---------------------------------------------------------------------------
.text:002674B2
.text:002674B2 loc_2674B2: ; CODE XREF: sub_267489+1Fj
.text:002674B2 push edi
.text:002674B3 lea eax, [ebp+var_4]
.text:002674B6 push eax
.text:002674B7 lea eax, [ebp+var_24]
.text:002674BA push eax
.text:002674BB push 20h
.text:002674BD push 5
.text:002674BF push [ebp+arg_0]
.text:002674C2 call ds:dword_485E94
.text:002674C8 mov edi, eax
.text:002674CA test edi, edi
.text:002674CC jge short loc_2674DF
.text:002674CE mov ecx, [ebp+arg_0]
.text:002674D1 call ds:dword_485E28
.text:002674D7 push edi
.text:002674D8 call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:002674DD jmp short loc_267528
.text:002674DF ; ---------------------------------------------------------------------------
.text:002674DF
.text:002674DF loc_2674DF: ; CODE XREF: sub_267489+43j
.text:002674DF cmp [ebp+var_1C], 4
.text:002674E3 jnz short loc_267515
.text:002674E5 cmp [ebp+var_18], 58544146h
.text:002674EC jnz short loc_267502
.text:002674EE mov eax, [ebp+arg_0]
.text:002674F1 mov eax, [eax+8]
.text:002674F4 test byte ptr [eax], 1
.text:002674F7 jnz short loc_2674FE
.text:002674F9 mov esi, [eax+1Ch]
.text:002674FC jmp short loc_26751F
.text:002674FE ; ---------------------------------------------------------------------------
.text:002674FE
.text:002674FE loc_2674FE: ; CODE XREF: sub_267489+6Ej
.text:002674FE xor esi, esi
.text:00267500 jmp short loc_26751F
.text:00267502 ; ---------------------------------------------------------------------------
.text:00267502
.text:00267502 loc_267502: ; CODE XREF: sub_267489+63j
.text:00267502 cmp [ebp+var_18], 58464447h
.text:00267509 jnz short loc_267515
.text:0026750B mov eax, [ebp+arg_0]
.text:0026750E mov eax, [eax+8]
.text:00267511 mov esi, [eax]
.text:00267513 jmp short loc_26751F
.text:00267515 ; ---------------------------------------------------------------------------
.text:00267515
.text:00267515 loc_267515: ; CODE XREF: sub_267489+5Aj
.text:00267515 ; sub_267489+80j
.text:00267515 push 0C000000Dh
.text:0026751A call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:0026751F
.text:0026751F loc_26751F: ; CODE XREF: sub_267489+73j
.text:0026751F ; sub_267489+77j ...
.text:0026751F mov ecx, [ebp+arg_0]
.text:00267522 call ds:dword_485E28
.text:00267528
.text:00267528 loc_267528: ; CODE XREF: sub_267489+54j
.text:00267528 pop edi
.text:00267529
.text:00267529 loc_267529: ; CODE XREF: sub_267489+27j
.text:00267529 mov eax, esi
.text:0026752B pop esi
.text:0026752C leave
.text:0026752D retn 4
.text:0026752D sub_267489 endp
.text:0026752D
.text:00267530 ; [0000003B BYTES: COLLAPSED FUNCTION GetFileSize(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026756B ; [0000018B BYTES: COLLAPSED FUNCTION CreateFileA(x,x,x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:002676F6 ; [000002E2 BYTES: COLLAPSED FUNCTION CopyFileExA(x,x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:002679D8 ; [0000001F BYTES: COLLAPSED FUNCTION CopyFileA(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:002679F7
.text:002679F7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:002679F7
.text:002679F7
.text:002679F7 sub_2679F7 proc near ; CODE XREF: FindFirstFileA(x,x)+F3p
.text:002679F7 ; FindNextFileA(x,x)+45p
.text:002679F7
.text:002679F7 arg_0 = dword ptr 4
.text:002679F7 arg_4 = dword ptr 8
.text:002679F7
.text:002679F7 mov eax, [esp+arg_0]
.text:002679FB mov ecx, [eax+38h]
.text:002679FE mov edx, [esp+arg_4]
.text:00267A02 mov [edx], ecx
.text:00267A04 mov ecx, [eax+8]
.text:00267A07 mov [edx+4], ecx
.text:00267A0A mov ecx, [eax+0Ch]
.text:00267A0D mov [edx+8], ecx
.text:00267A10 mov ecx, [eax+10h]
.text:00267A13 mov [edx+0Ch], ecx
.text:00267A16 mov ecx, [eax+14h]
.text:00267A19 mov [edx+10h], ecx
.text:00267A1C mov ecx, [eax+18h]
.text:00267A1F mov [edx+14h], ecx
.text:00267A22 mov ecx, [eax+1Ch]
.text:00267A25 mov [edx+18h], ecx
.text:00267A28 mov ecx, [eax+2Ch]
.text:00267A2B mov [edx+1Ch], ecx
.text:00267A2E mov ecx, [eax+28h]
.text:00267A31 mov [edx+20h], ecx
.text:00267A34 mov ecx, [eax+3Ch]
.text:00267A37 push ebx
.text:00267A38 push esi
.text:00267A39 mov ebx, ecx
.text:00267A3B push edi
.text:00267A3C shr ecx, 2
.text:00267A3F lea esi, [eax+40h]
.text:00267A42 lea edi, [edx+2Ch]
.text:00267A45 rep movsd
.text:00267A47 mov ecx, ebx
.text:00267A49 and ecx, 3
.text:00267A4C rep movsb
.text:00267A4E mov eax, [eax+3Ch]
.text:00267A51 pop edi
.text:00267A52 pop esi
.text:00267A53 mov byte ptr [eax+edx+2Ch], 0
.text:00267A58 mov byte ptr [edx+130h], 0
.text:00267A5F pop ebx
.text:00267A60 retn 8
.text:00267A60 sub_2679F7 endp
.text:00267A60
.text:00267A63 ; [0000010D BYTES: COLLAPSED FUNCTION FindFirstFileA(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00267B70 ; [00000051 BYTES: COLLAPSED FUNCTION FindNextFileA(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00267BC1
.text:00267BC1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00267BC1
.text:00267BC1
.text:00267BC1 sub_267BC1 proc near ; CODE XREF: sub_5BD20j
.text:00267BC1 ; sub_265816+21Ap ...
.text:00267BC1
.text:00267BC1 arg_0 = dword ptr 4
.text:00267BC1
.text:00267BC1 push [esp+arg_0]
.text:00267BC5 call ds:dword_485DD4
.text:00267BCB test eax, eax
.text:00267BCD jl short loc_267BD4
.text:00267BCF xor eax, eax
.text:00267BD1 inc eax
.text:00267BD2 jmp short locret_267BDC
.text:00267BD4 ; ---------------------------------------------------------------------------
.text:00267BD4
.text:00267BD4 loc_267BD4: ; CODE XREF: sub_267BC1+Cj
.text:00267BD4 push eax
.text:00267BD5 call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:00267BDA xor eax, eax
.text:00267BDC
.text:00267BDC locret_267BDC: ; CODE XREF: sub_267BC1+11j
.text:00267BDC retn 4
.text:00267BDC sub_267BC1 endp
.text:00267BDC
.text:00267BDF ; [00000026 BYTES: COLLAPSED FUNCTION DuplicateHandle(x,x,x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00267C05
.text:00267C05 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00267C05
.text:00267C05
.text:00267C05 sub_267C05 proc near ; CODE XREF: sub_5D2D0+24p
.text:00267C05 ; sub_5D490+B0p ...
.text:00267C05
.text:00267C05 arg_0 = dword ptr 8
.text:00267C05 arg_4 = dword ptr 0Ch
.text:00267C05
.text:00267C05 mov eax, offset dword_512650
.text:00267C0A push esi
.text:00267C0B mov esi, eax
.text:00267C0D mov ecx, eax
.text:00267C0F mov eax, offset dword_512658
.text:00267C14 xor edx, edx
.text:00267C16 cmp esi, eax
.text:00267C18 pop esi
.text:00267C19 jnb short loc_267C26
.text:00267C1B
.text:00267C1B loc_267C1B: ; CODE XREF: sub_267C05+1Fj
.text:00267C1B cmp [ecx], edx
.text:00267C1D jnz short loc_267C38
.text:00267C1F add ecx, 4
.text:00267C22 cmp ecx, eax
.text:00267C24 jb short loc_267C1B
.text:00267C26
.text:00267C26 loc_267C26: ; CODE XREF: sub_267C05+14j
.text:00267C26 push edx
.text:00267C27 push edx
.text:00267C28 push [esp+4+arg_4]
.text:00267C2C push [esp+8+arg_0]
.text:00267C30 call sub_26A0E7
.text:00267C35
.text:00267C35 locret_267C35: ; CODE XREF: sub_267C05+40j
.text:00267C35 retn 8
.text:00267C38 ; ---------------------------------------------------------------------------
.text:00267C38
.text:00267C38 loc_267C38: ; CODE XREF: sub_267C05+18j
.text:00267C38 push edx
.text:00267C39 push 1
.text:00267C3B push [esp+4+arg_4]
.text:00267C3F push [esp+8+arg_0]
.text:00267C43 call dword ptr [ecx]
.text:00267C45 jmp short locret_267C35
.text:00267C45 sub_267C05 endp
.text:00267C45
.text:00267C47 ; [000000E1 BYTES: COLLAPSED FUNCTION XWriteTitleInfoNoReboot(x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00267D28 ; [00000064 BYTES: COLLAPSED FUNCTION XGetLaunchInfo(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00267D8C
.text:00267D8C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00267D8C
.text:00267D8C ; Attributes: bp-based frame
.text:00267D8C
.text:00267D8C sub_267D8C proc near ; CODE XREF: sub_269CBE+AFp
.text:00267D8C ; sub_26A0E7+2Ep ...
.text:00267D8C
.text:00267D8C arg_0 = dword ptr 8
.text:00267D8C arg_4 = dword ptr 0Ch
.text:00267D8C arg_8 = dword ptr 10h
.text:00267D8C arg_C = dword ptr 14h
.text:00267D8C arg_10 = dword ptr 18h
.text:00267D8C
.text:00267D8C push ebp
.text:00267D8D mov ebp, esp
.text:00267D8F push [ebp+arg_10]
.text:00267D92 push [ebp+arg_C]
.text:00267D95 push [ebp+arg_8]
.text:00267D98 push 1
.text:00267D9A push [ebp+arg_4]
.text:00267D9D push [ebp+arg_0]
.text:00267DA0 call _XWriteTitleInfoNoReboot@20 ; XWriteTitleInfoNoReboot(x,x,x,x,x)
.text:00267DA5 test eax, eax
.text:00267DA7 jl short loc_267DC8
.text:00267DA9 mov eax, large fs:20h
.text:00267DAF mov eax, [eax+250h]
.text:00267DB5 test eax, eax
.text:00267DB7 jz short loc_267DC0
.text:00267DB9 push 0
.text:00267DBB push 2
.text:00267DBD call dword ptr [eax+14h]
.text:00267DC0
.text:00267DC0 loc_267DC0: ; CODE XREF: sub_267D8C+2Bj
.text:00267DC0 push 2
.text:00267DC2 call ds:dword_485EB4
.text:00267DC8
.text:00267DC8 loc_267DC8: ; CODE XREF: sub_267D8C+1Bj
.text:00267DC8 push eax
.text:00267DC9 call ds:dword_485DD0
.text:00267DCF pop ebp
.text:00267DD0 retn 14h
.text:00267DD0 sub_267D8C endp
.text:00267DD0
.text:00267DD3 ; [0000006C BYTES: COLLAPSED FUNCTION CreateDirectoryA(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00267E3F ; [0000008E BYTES: COLLAPSED FUNCTION RemoveDirectoryA(x). PRESS KEYPAD "+" TO EXPAND]
.text:00267ECD
.text:00267ECD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00267ECD
.text:00267ECD ; Attributes: bp-based frame
.text:00267ECD
.text:00267ECD sub_267ECD proc near ; CODE XREF: sub_5E660+67p
.text:00267ECD ; sub_B5490+75p ...
.text:00267ECD
.text:00267ECD var_8 = dword ptr -8
.text:00267ECD var_4 = dword ptr -4
.text:00267ECD
.text:00267ECD push ebp
.text:00267ECE mov ebp, esp
.text:00267ED0 push ecx
.text:00267ED1 push ecx
.text:00267ED2 push 0
.text:00267ED4 push 4
.text:00267ED6 lea eax, [ebp+var_4]
.text:00267ED9 push eax
.text:00267EDA lea eax, [ebp+var_8]
.text:00267EDD push eax
.text:00267EDE push 7
.text:00267EE0 call sub_26F964
.text:00267EE5 test eax, eax
.text:00267EE7 jl short loc_267EF6
.text:00267EE9 mov eax, [ebp+var_4]
.text:00267EEC cmp eax, 9
.text:00267EEF jbe short locret_267EF8
.text:00267EF1 xor eax, eax
.text:00267EF3 inc eax
.text:00267EF4 leave
.text:00267EF5 retn
.text:00267EF6 ; ---------------------------------------------------------------------------
.text:00267EF6
.text:00267EF6 loc_267EF6: ; CODE XREF: sub_267ECD+1Aj
.text:00267EF6 xor eax, eax
.text:00267EF8
.text:00267EF8 locret_267EF8: ; CODE XREF: sub_267ECD+22j
.text:00267EF8 leave
.text:00267EF9 retn
.text:00267EF9 sub_267ECD endp
.text:00267EF9
.text:00267EFA
.text:00267EFA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00267EFA
.text:00267EFA ; Attributes: bp-based frame
.text:00267EFA
.text:00267EFA sub_267EFA proc near ; CODE XREF: sub_64620+53p
.text:00267EFA ; sub_64620+C6p
.text:00267EFA
.text:00267EFA arg_0 = dword ptr 8
.text:00267EFA arg_4 = dword ptr 0Ch
.text:00267EFA
.text:00267EFA push ebp
.text:00267EFB mov ebp, esp
.text:00267EFD push esi
.text:00267EFE mov esi, [ebp+arg_4]
.text:00267F01 test esi, esi
.text:00267F03 jns short loc_267F82
.text:00267F05 test esi, 0F000000h
.text:00267F0B jnz short loc_267F19
.text:00267F0D and esi, 0FCFFFFFFh
.text:00267F13 or esi, 0C000000h
.text:00267F19
.text:00267F19 loc_267F19: ; CODE XREF: sub_267EFA+11j
.text:00267F19 mov ecx, esi
.text:00267F1B shr ecx, 18h
.text:00267F1E mov eax, esi
.text:00267F20 shr eax, 1Ch
.text:00267F23 and ecx, 0Fh
.text:00267F26 and eax, 3
.text:00267F29 cmp ecx, 1
.text:00267F2C push dword_56DD6C[eax*4]
.text:00267F33 jnz short loc_267F4B
.text:00267F35 push 1000h
.text:00267F3A push 0FFFFFFh
.text:00267F3F push 0
.text:00267F41 push [ebp+arg_0]
.text:00267F44 call sub_2666A8
.text:00267F49 jmp short loc_267F5B
.text:00267F4B ; ---------------------------------------------------------------------------
.text:00267F4B
.text:00267F4B loc_267F4B: ; CODE XREF: sub_267EFA+39j
.text:00267F4B xor eax, eax
.text:00267F4D inc eax
.text:00267F4E shl eax, cl
.text:00267F50 push eax
.text:00267F51 push 0FFFFFFFFh
.text:00267F53 push [ebp+arg_0]
.text:00267F56 call _XPhysicalAlloc@16 ; XPhysicalAlloc(x,x,x,x)
.text:00267F5B
.text:00267F5B loc_267F5B: ; CODE XREF: sub_267EFA+4Fj
.text:00267F5B mov edx, eax
.text:00267F5D test edx, edx
.text:00267F5F jz short loc_267F93
.text:00267F61 test esi, 40000000h
.text:00267F67 jz short loc_267F93
.text:00267F69 mov ecx, [ebp+arg_0]
.text:00267F6C mov esi, ecx
.text:00267F6E push edi
.text:00267F6F shr ecx, 2
.text:00267F72 xor eax, eax
.text:00267F74 mov edi, edx
.text:00267F76 rep stosd
.text:00267F78 mov ecx, esi
.text:00267F7A and ecx, 3
.text:00267F7D rep stosb
.text:00267F7F pop edi
.text:00267F80 jmp short loc_267F93
.text:00267F82 ; ---------------------------------------------------------------------------
.text:00267F82
.text:00267F82 loc_267F82: ; CODE XREF: sub_267EFA+9j
.text:00267F82 push [ebp+arg_0]
.text:00267F85 shr esi, 18h
.text:00267F88 and esi, 40h
.text:00267F8B push esi
.text:00267F8C call unknown_libname_44 ; XBOX Flirt v2.00 Final.
.text:00267F91 mov edx, eax
.text:00267F93
.text:00267F93 loc_267F93: ; CODE XREF: sub_267EFA+65j
.text:00267F93 ; sub_267EFA+6Dj ...
.text:00267F93 mov eax, edx
.text:00267F95 pop esi
.text:00267F96 pop ebp
.text:00267F97 retn 8
.text:00267F97 sub_267EFA endp
.text:00267F97
.text:00267F9A ; [00000067 BYTES: COLLAPSED FUNCTION XGetSectionHandleA(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268001 ; [00000021 BYTES: COLLAPSED FUNCTION XLoadSectionByHandle(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268022 ; [0000001E BYTES: COLLAPSED FUNCTION XFreeSectionByHandle(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268040 ; [0000001B BYTES: COLLAPSED FUNCTION XLoadSectionA(x). PRESS KEYPAD "+" TO EXPAND]
.text:0026805B ; [0000001B BYTES: COLLAPSED FUNCTION XFreeSectionA(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268076 ; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_41. PRESS KEYPAD "+" TO EXPAND]
.text:00268080 ; [00000032 BYTES: COLLAPSED FUNCTION OutputDebugStringA(x). PRESS KEYPAD "+" TO EXPAND]
.text:002680B2 ; [00000014 BYTES: COLLAPSED FUNCTION HexDigitToChar(x). PRESS KEYPAD "+" TO EXPAND]
.text:002680C6 ; [00000092 BYTES: COLLAPSED FUNCTION XapiSaveGameHashEncode(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268158 ; [00000048 BYTES: COLLAPSED FUNCTION XapiValidateAndSkipUnicodeSignature(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:002681A0 ; [00000183 BYTES: COLLAPSED FUNCTION XapiFindValueInMetaFile(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268323 ; [00000101 BYTES: COLLAPSED FUNCTION sub_268323. PRESS KEYPAD "+" TO EXPAND]
.text:00268424 ; [00000080 BYTES: COLLAPSED FUNCTION XapiVerifyGameName(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:002684A4 ; [0000005C BYTES: COLLAPSED FUNCTION XapiTouchDirectoryTimestamp(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268500 ; [00000263 BYTES: COLLAPSED FUNCTION XCreateSaveGame(x,x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268763 ; [000000D0 BYTES: COLLAPSED FUNCTION XDeleteSaveGame(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268833 ; [0000010A BYTES: COLLAPSED FUNCTION XFindFirstSaveGame(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026893D ; [00000047 BYTES: COLLAPSED FUNCTION XFindNextSaveGame(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268984
.text:00268984 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00268984
.text:00268984
.text:00268984 sub_268984 proc near ; CODE XREF: sub_7B880+7Bp
.text:00268984 ; sub_2486E0+84p
.text:00268984
.text:00268984 arg_0 = dword ptr 4
.text:00268984
.text:00268984 mov ecx, [esp+arg_0]
.text:00268988 mov edx, [ecx]
.text:0026898A xor eax, eax
.text:0026898C cmp edx, 434F4E54h
.text:00268992 push esi
.text:00268993 jz short loc_2689C2
.text:00268995 cmp edx, 4E49434Bh
.text:0026899B jz short loc_2689B2
.text:0026899D cmp edx, 53425645h
.text:002689A3 jz short loc_2689C2
.text:002689A5 cmp edx, 0BE4BEA00h
.text:002689AB jnz short loc_2689D6
.text:002689AD mov esi, [ecx+0Ch]
.text:002689B0 jmp short loc_2689C5
.text:002689B2 ; ---------------------------------------------------------------------------
.text:002689B2
.text:002689B2 loc_2689B2: ; CODE XREF: sub_268984+17j
.text:002689B2 push 24830000h
.text:002689B7 push ecx
.text:002689B8 call sub_645B0
.text:002689BD xor eax, eax
.text:002689BF inc eax
.text:002689C0 jmp short loc_2689D6
.text:002689C2 ; ---------------------------------------------------------------------------
.text:002689C2
.text:002689C2 loc_2689C2: ; CODE XREF: sub_268984+Fj
.text:002689C2 ; sub_268984+1Fj
.text:002689C2 mov esi, [ecx+4]
.text:002689C5
.text:002689C5 loc_2689C5: ; CODE XREF: sub_268984+2Cj
.text:002689C5 push 24830000h
.text:002689CA push ecx
.text:002689CB call sub_645B0
.text:002689D0 push esi
.text:002689D1 call sub_267BC1
.text:002689D6
.text:002689D6 loc_2689D6: ; CODE XREF: sub_268984+27j
.text:002689D6 ; sub_268984+3Cj
.text:002689D6 pop esi
.text:002689D7 retn 4
.text:002689D7 sub_268984 endp
.text:002689D7
.text:002689DA
.text:002689DA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:002689DA
.text:002689DA ; Attributes: bp-based frame
.text:002689DA
.text:002689DA sub_2689DA proc near ; CODE XREF: sub_1D8F10+95p
.text:002689DA ; sub_1D9010+18p ...
.text:002689DA
.text:002689DA var_8 = dword ptr -8
.text:002689DA var_4 = dword ptr -4
.text:002689DA
.text:002689DA push ebp
.text:002689DB mov ebp, esp
.text:002689DD push ecx
.text:002689DE push ecx
.text:002689DF push 0
.text:002689E1 push 4
.text:002689E3 lea eax, [ebp+var_4]
.text:002689E6 push eax
.text:002689E7 lea eax, [ebp+var_8]
.text:002689EA push eax
.text:002689EB push 8
.text:002689ED call sub_26F964
.text:002689F2 test eax, eax
.text:002689F4 jl short loc_268A04
.text:002689F6 mov eax, [ebp+var_4]
.text:002689F9 shr eax, 10h
.text:002689FC and eax, 5Fh
.text:002689FF mov [ebp+var_4], eax
.text:00268A02 jmp short loc_268A08
.text:00268A04 ; ---------------------------------------------------------------------------
.text:00268A04
.text:00268A04 loc_268A04: ; CODE XREF: sub_2689DA+1Aj
.text:00268A04 and [ebp+var_4], 0
.text:00268A08
.text:00268A08 loc_268A08: ; CODE XREF: sub_2689DA+28j
.text:00268A08 call sub_26A67C
.text:00268A0D dec eax
.text:00268A0E jnz short loc_268A1A
.text:00268A10 call _XGetVideoStandard@0 ; XGetVideoStandard()
.text:00268A15 cmp eax, 3
.text:00268A18 jnz short loc_268A1E
.text:00268A1A
.text:00268A1A loc_268A1A: ; CODE XREF: sub_2689DA+34j
.text:00268A1A and [ebp+var_4], 0FFFFFFF1h
.text:00268A1E
.text:00268A1E loc_268A1E: ; CODE XREF: sub_2689DA+3Ej
.text:00268A1E mov eax, [ebp+var_4]
.text:00268A21 leave
.text:00268A22 retn
.text:00268A22 sub_2689DA endp
.text:00268A22
.text:00268A23 ; [00000029 BYTES: COLLAPSED FUNCTION XGetVideoStandard(). PRESS KEYPAD "+" TO EXPAND]
.text:00268A4C ; [00000045 BYTES: COLLAPSED FUNCTION XapiFiberStartup(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268A91 ; [0000008C BYTES: COLLAPSED FUNCTION CreateFiber(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268B1D ; [00000013 BYTES: COLLAPSED FUNCTION DeleteFiber(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268B30 ; [0000003F BYTES: COLLAPSED FUNCTION SwitchToFiber(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268B6F ; [00000036 BYTES: COLLAPSED FUNCTION ConvertThreadToFiber(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268BA5 align 2
.text:00268BA6 ; [00000028 BYTES: COLLAPSED FUNCTION XGetGameRegion(). PRESS KEYPAD "+" TO EXPAND]
.text:00268BCE
.text:00268BCE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00268BCE
.text:00268BCE ; Attributes: bp-based frame
.text:00268BCE
.text:00268BCE sub_268BCE proc near ; CODE XREF: sub_365430:loc_3654AEp
.text:00268BCE ; FZFULLUI:00365814p
.text:00268BCE
.text:00268BCE var_8 = dword ptr -8
.text:00268BCE var_4 = dword ptr -4
.text:00268BCE
.text:00268BCE push ebp
.text:00268BCF mov ebp, esp
.text:00268BD1 push ecx
.text:00268BD2 push ecx
.text:00268BD3 push 0
.text:00268BD5 push 4
.text:00268BD7 lea eax, [ebp+var_4]
.text:00268BDA push eax
.text:00268BDB lea eax, [ebp+var_8]
.text:00268BDE push eax
.text:00268BDF push 11h
.text:00268BE1 call sub_26F964
.text:00268BE6 test eax, eax
.text:00268BE8 jl short loc_268BF5
.text:00268BEA test byte ptr [ebp+var_4], 4
.text:00268BEE jnz short loc_268BF5
.text:00268BF0 xor eax, eax
.text:00268BF2 inc eax
.text:00268BF3 leave
.text:00268BF4 retn
.text:00268BF5 ; ---------------------------------------------------------------------------
.text:00268BF5
.text:00268BF5 loc_268BF5: ; CODE XREF: sub_268BCE+1Aj
.text:00268BF5 ; sub_268BCE+20j
.text:00268BF5 push 2
.text:00268BF7 pop eax
.text:00268BF8 leave
.text:00268BF9 retn
.text:00268BF9 sub_268BCE endp
.text:00268BF9
.text:00268BFA ; [00000064 BYTES: COLLAPSED FUNCTION lstrcmpA(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268C5E ; [00000045 BYTES: COLLAPSED FUNCTION lstrcmpiA(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268CA3 ; [0000003E BYTES: COLLAPSED FUNCTION lstrcpyA(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268CE1
.text:00268CE1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00268CE1
.text:00268CE1
.text:00268CE1 sub_268CE1 proc near ; CODE XREF: XWriteTitleInfoNoReboot(x,x,x,x,x)+ADp
.text:00268CE1 ; XWriteTitleInfoNoReboot(x,x,x,x,x)+D3p ...
.text:00268CE1 push 10h
.text:00268CE3 push offset dword_4CE718
.text:00268CE8 call __SEH_prolog
.text:00268CED xor ebx, ebx
.text:00268CEF mov [ebp-4], ebx
.text:00268CF2 mov ecx, [ebp+0Ch]
.text:00268CF5 mov [ebp-20h], ecx
.text:00268CF8 mov eax, [ebp+8]
.text:00268CFB mov [ebp-1Ch], eax
.text:00268CFE cmp [ebp+10h], ebx
.text:00268D01 jz short loc_268D28
.text:00268D03
.text:00268D03 loc_268D03: ; CODE XREF: sub_268CE1+3Aj
.text:00268D03 cmp [ebp+10h], ebx
.text:00268D06 jz short loc_268D22
.text:00268D08 mov dl, [ecx]
.text:00268D0A cmp dl, bl
.text:00268D0C jz short loc_268D1D
.text:00268D0E mov [eax], dl
.text:00268D10 inc eax
.text:00268D11 mov [ebp-1Ch], eax
.text:00268D14 inc ecx
.text:00268D15 mov [ebp-20h], ecx
.text:00268D18 dec dword ptr [ebp+10h]
.text:00268D1B jmp short loc_268D03
.text:00268D1D ; ---------------------------------------------------------------------------
.text:00268D1D
.text:00268D1D loc_268D1D: ; CODE XREF: sub_268CE1+2Bj
.text:00268D1D cmp [ebp+10h], ebx
.text:00268D20 jnz short loc_268D26
.text:00268D22
.text:00268D22 loc_268D22: ; CODE XREF: sub_268CE1+25j
.text:00268D22 dec eax
.text:00268D23 mov [ebp-1Ch], eax
.text:00268D26
.text:00268D26 loc_268D26: ; CODE XREF: sub_268CE1+3Fj
.text:00268D26 mov [eax], bl
.text:00268D28
.text:00268D28 loc_268D28: ; CODE XREF: sub_268CE1+20j
.text:00268D28 or dword ptr [ebp-4], 0FFFFFFFFh
.text:00268D2C mov eax, [ebp+8]
.text:00268D2F jmp short loc_268D3E
.text:00268D31 ; ---------------------------------------------------------------------------
.text:00268D31 xor eax, eax
.text:00268D33 inc eax
.text:00268D34 retn
.text:00268D35 ; ---------------------------------------------------------------------------
.text:00268D35 mov esp, [ebp-18h]
.text:00268D38 or dword ptr [ebp-4], 0FFFFFFFFh
.text:00268D3C xor eax, eax
.text:00268D3E
.text:00268D3E loc_268D3E: ; CODE XREF: sub_268CE1+4Ej
.text:00268D3E call __SEH_epilog
.text:00268D43 retn 0Ch
.text:00268D43 sub_268CE1 endp ; sp = -8
.text:00268D43
.text:00268D46 ; [0000005A BYTES: COLLAPSED FUNCTION lstrcatA(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268DA0 ; [0000003E BYTES: COLLAPSED FUNCTION lstrlenA(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268DDE ; [00000063 BYTES: COLLAPSED FUNCTION IntersectRect(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268E41
.text:00268E41 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00268E41
.text:00268E41
.text:00268E41 ; DWORD __stdcall sub_268E41(LPVOID)
.text:00268E41 sub_268E41 proc near ; DATA XREF: _mainCRTStartup+4Bo
.text:00268E41 call sub_26A8F2
.text:00268E41 sub_268E41 endp
.text:00268E41
.text:00268E46 ; [0000006F BYTES: COLLAPSED FUNCTION mainXapiStartup(x). PRESS KEYPAD "+" TO EXPAND]
.text:00268EB5 ; [00000072 BYTES: COLLAPSED FUNCTION _mainCRTStartup. PRESS KEYPAD "+" TO EXPAND]
.text:00268F27
.text:00268F27 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00268F27
.text:00268F27 ; Attributes: library function
.text:00268F27
.text:00268F27 ; __stdcall XapiFormatObjectAttributes(x,x,x)
.text:00268F27 _XapiFormatObjectAttributes@12 proc near
.text:00268F27 ; CODE XREF: CreateEventA(x,x,x,x)+17p
.text:00268F27 ; CreateSemaphoreA(x,x,x,x)+17p ...
.text:00268F27
.text:00268F27 var_4 = dword ptr -4
.text:00268F27 arg_4 = dword ptr 8
.text:00268F27 arg_8 = dword ptr 0Ch
.text:00268F27
.text:00268F27 push esi
.text:00268F28 push [esp+4+arg_8]
.text:00268F2C mov esi, [esp+8+arg_4]
.text:00268F30 push esi
.text:00268F31 call ds:dword_485D98
.text:00268F37 mov eax, [esp+8]
.text:00268F3B mov [eax+4], esi
.text:00268F3E mov dword ptr [eax], 0FFFFFFFCh
.text:00268F44 mov dword ptr [eax+8], 80h
.text:00268F4B pop esi
.text:00268F4C retn 0Ch
.text:00268F4C _XapiFormatObjectAttributes@12 endp
.text:00268F4C
.text:00268F4F ; [0000002E BYTES: COLLAPSED FUNCTION XapiFormatTimeOut(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268F7D ; [00000022 BYTES: COLLAPSED FUNCTION XQueryValue(x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00268F9F ; [00000199 BYTES: COLLAPSED FUNCTION xCompareStringW(x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00269138 ; [00000078 BYTES: COLLAPSED FUNCTION XapiValidateDiskPartitionEx(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:002691B0 ; [000000E7 BYTES: COLLAPSED FUNCTION XapiCopySectionToFile(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00269297 ; [00000334 BYTES: COLLAPSED FUNCTION XapiMapLetterToDirectory(x,x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:002695CB ; [00000055 BYTES: COLLAPSED FUNCTION XapiSetupPerTitleDriveLetters(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00269620 ; [00000065 BYTES: COLLAPSED FUNCTION XapiBootToDash(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:00269685 ; [00000011 BYTES: COLLAPSED FUNCTION XapiValidateDiskPartition(x). PRESS KEYPAD "+" TO EXPAND]
.text:00269696
.text:00269696 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00269696
.text:00269696 ; Attributes: bp-based frame
.text:00269696
.text:00269696 sub_269696 proc near ; CODE XREF: mainXapiStartup(x)p
.text:00269696
.text:00269696 var_34 = dword ptr -34h
.text:00269696 var_4 = dword ptr -4
.text:00269696
.text:00269696 push ebp
.text:00269697 mov ebp, esp
.text:00269699 sub esp, 34h
.text:0026969C push ebx
.text:0026969D push esi
.text:0026969E push edi
.text:0026969F xor ebx, ebx
.text:002696A1 inc ebx
.text:002696A2 push ebx
.text:002696A3 xor esi, esi
.text:002696A5 push offset off_56E280
.text:002696AA mov [ebp+var_4], esi
.text:002696AD call ds:dword_485EF0
.text:002696B3 call sub_26D021
.text:002696B8 push 0Ch
.text:002696BA pop ecx
.text:002696BB xor eax, eax
.text:002696BD lea edi, [ebp+var_34]
.text:002696C0 rep stosd
.text:002696C2 lea eax, [ebp+var_34]
.text:002696C5 push eax
.text:002696C6 xor edi, edi
.text:002696C8 push edi
.text:002696C9 mov [ebp+var_34], 30h
.text:002696D0 push dword ptr ds:10138h
.text:002696D6 push dword ptr ds:10134h
.text:002696DC push edi
.text:002696DD push 2
.text:002696DF call sub_26BB33
.text:002696E4 cmp eax, edi
.text:002696E6 mov dword_5E7360, eax
.text:002696EB jz short loc_26973D
.text:002696ED test byte ptr ds:10124h, 8
.text:002696F4 jnz short loc_269718
.text:002696F6 push offset off_56DDBC
.text:002696FB call _XapiValidateDiskPartition@4 ; XapiValidateDiskPartition(x)
.text:00269700 test eax, eax
.text:00269702 jge short loc_269718
.text:00269704 push 2
.text:00269706
.text:00269706 loc_269706: ; CODE XREF: sub_269696+D2j
.text:00269706 mov eax, ebx
.text:00269708 pop ecx
.text:00269709
.text:00269709 loc_269709: ; CODE XREF: sub_269696+ABj
.text:00269709 ; sub_269696+DFj ...
.text:00269709 push [ebp+var_4]
.text:0026970C push ecx
.text:0026970D push eax
.text:0026970E call _XapiBootToDash@12 ; XapiBootToDash(x,x,x)
.text:00269713
.text:00269713 loc_269713: ; CODE XREF: sub_269696+14Cj
.text:00269713 ; sub_269696+155j ...
.text:00269713 pop edi
.text:00269714 pop esi
.text:00269715 pop ebx
.text:00269716 leave
.text:00269717 retn
.text:00269718 ; ---------------------------------------------------------------------------
.text:00269718
.text:00269718 loc_269718: ; CODE XREF: sub_269696+5Ej
.text:00269718 ; sub_269696+6Cj
.text:00269718 mov eax, ds:dword_485EEC
.text:0026971D test byte ptr [eax], 8
.text:00269720 jnz short loc_269743
.text:00269722 push offset off_56DDB4
.text:00269727 push offset off_56DDAC
.text:0026972C call ds:dword_485E00
.text:00269732 cmp eax, edi
.text:00269734 jge short loc_269743
.text:00269736 cmp eax, 0C0000035h
.text:0026973B jz short loc_269743
.text:0026973D
.text:0026973D loc_26973D: ; CODE XREF: sub_269696+55j
.text:0026973D mov eax, ebx
.text:0026973F mov ecx, ebx
.text:00269741 jmp short loc_269709
.text:00269743 ; ---------------------------------------------------------------------------
.text:00269743
.text:00269743 loc_269743: ; CODE XREF: sub_269696+8Aj
.text:00269743 ; sub_269696+9Ej ...
.text:00269743 test byte ptr ds:10124h, 18h
.text:0026974A jnz short loc_269777
.text:0026974C mov eax, ds:10118h
.text:00269751 lea ecx, [eax+0Ch]
.text:00269754 push ecx
.text:00269755 push dword ptr [eax+8]
.text:00269758 call _XapiSetupPerTitleDriveLetters@8 ; XapiSetupPerTitleDriveLetters(x,x)
.text:0026975D cmp eax, edi
.text:0026975F jge short loc_269777
.text:00269761 cmp eax, 0C000007Fh
.text:00269766 push 2
.text:00269768 jnz short loc_269706
.text:0026976A pop eax
.text:0026976B push 54h
.text:0026976D pop ecx
.text:0026976E mov [ebp+var_4], 10h
.text:00269775 jmp short loc_269709
.text:00269777 ; ---------------------------------------------------------------------------
.text:00269777
.text:00269777 loc_269777: ; CODE XREF: sub_269696+B4j
.text:00269777 ; sub_269696+C9j
.text:00269777 mov eax, ds:10124h
.text:0026977C test al, 8
.text:0026977E jnz short loc_26979A
.text:00269780 test al, bl
.text:00269782 jz short loc_26979A
.text:00269784 and eax, 2
.text:00269787 push eax
.text:00269788 call _XMountUtilityDrive@4 ; XMountUtilityDrive(x)
.text:0026978D test eax, eax
.text:0026978F jnz short loc_26979A
.text:00269791 push edi
.text:00269792 push 2
.text:00269794 push ebx
.text:00269795 call _XapiBootToDash@12 ; XapiBootToDash(x,x,x)
.text:0026979A
.text:0026979A loc_26979A: ; CODE XREF: sub_269696+E8j
.text:0026979A ; sub_269696+ECj ...
.text:0026979A mov eax, ds:10118h
.text:0026979F mov edi, [eax+0A4h]
.text:002697A5 call _XGetParentalControlSetting@0 ; XGetParentalControlSetting()
.text:002697AA cmp edi, eax
.text:002697AC jnb short loc_2697BB
.text:002697AE push 4
.text:002697B0 mov eax, ebx
.text:002697B2 pop ecx
.text:002697B3 mov [ebp+var_4], edi
.text:002697B6 jmp loc_269709
.text:002697BB ; ---------------------------------------------------------------------------
.text:002697BB
.text:002697BB loc_2697BB: ; CODE XREF: sub_269696+116j
.text:002697BB mov eax, ds:dword_485EB0
.text:002697C0 test eax, eax
.text:002697C2 jz short loc_2697DB
.text:002697C4 mov eax, [eax]
.text:002697C6 test eax, eax
.text:002697C8 jz short loc_2697DB
.text:002697CA mov esi, eax
.text:002697CC lea eax, [esi+214h]
.text:002697D2 test [eax], bl
.text:002697D4 jz short loc_2697DB
.text:002697D6 mov eax, [eax+4]
.text:002697D9 mov [esi], eax
.text:002697DB
.text:002697DB loc_2697DB: ; CODE XREF: sub_269696+12Cj
.text:002697DB ; sub_269696+132j ...
.text:002697DB call sub_26A268
.text:002697E0 test esi, esi
.text:002697E2 jz loc_269713
.text:002697E8 cmp dword ptr [esi], 0FFFFFFFFh
.text:002697EB jnz loc_269713
.text:002697F1 mov eax, ds:dword_485EB0
.text:002697F6 and dword ptr [eax], 0
.text:002697F9 push esi
.text:002697FA call ds:dword_485E20
.text:00269800 jmp loc_269713
.text:00269800 sub_269696 endp
.text:00269800
.text:00269805 ; [00000324 BYTES: COLLAPSED FUNCTION unknown_libname_42. PRESS KEYPAD "+" TO EXPAND]
.text:00269B29
.text:00269B29 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00269B29
.text:00269B29
.text:00269B29 sub_269B29 proc near ; CODE XREF: sub_269EEE+28p
.text:00269B29 ; sub_269EEE+12Dp
.text:00269B29
.text:00269B29 arg_0 = dword ptr 8
.text:00269B29 arg_4 = dword ptr 0Ch
.text:00269B29 arg_8 = dword ptr 10h
.text:00269B29
.text:00269B29 push esi
.text:00269B2A push [esp+arg_0]
.text:00269B2E mov esi, [esp+4+arg_8]
.text:00269B32 push offset dword_4CE8D8 ; char *
.text:00269B37 push dword ptr [esi] ; size_t
.text:00269B39 push [esp+0Ch+arg_4] ; char *
.text:00269B3D call __snprintf
.text:00269B42 add esp, 10h
.text:00269B45 test eax, eax
.text:00269B47 jge short loc_269B69
.text:00269B49 mov eax, [esp+arg_0]
.text:00269B4D lea edx, [eax+1]
.text:00269B50
.text:00269B50 loc_269B50: ; CODE XREF: sub_269B29+2Cj
.text:00269B50 mov cl, [eax]
.text:00269B52 inc eax
.text:00269B53 test cl, cl
.text:00269B55 jnz short loc_269B50
.text:00269B57 sub eax, edx
.text:00269B59 add eax, 7
.text:00269B5C push 7Ah ; dwErrCode
.text:00269B5E mov [esi], eax
.text:00269B60 call _SetLastError@4 ; SetLastError(x)
.text:00269B65 xor eax, eax
.text:00269B67 jmp short loc_269B6F
.text:00269B69 ; ---------------------------------------------------------------------------
.text:00269B69
.text:00269B69 loc_269B69: ; CODE XREF: sub_269B29+1Ej
.text:00269B69 inc eax
.text:00269B6A mov [esi], eax
.text:00269B6C xor eax, eax
.text:00269B6E inc eax
.text:00269B6F
.text:00269B6F loc_269B6F: ; CODE XREF: sub_269B29+3Ej
.text:00269B6F pop esi
.text:00269B70 retn 0Ch
.text:00269B70 sub_269B29 endp
.text:00269B70
.text:00269B73
.text:00269B73 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00269B73
.text:00269B73 ; Attributes: bp-based frame
.text:00269B73
.text:00269B73 sub_269B73 proc near ; CODE XREF: sub_26A070+Ap
.text:00269B73
.text:00269B73 var_10 = dword ptr -10h
.text:00269B73 var_8 = dword ptr -8
.text:00269B73
.text:00269B73 push ebp
.text:00269B74 mov ebp, esp
.text:00269B76 sub esp, 10h
.text:00269B79 push ebx
.text:00269B7A push esi
.text:00269B7B mov esi, ds:dword_485D98
.text:00269B81 push edi
.text:00269B82 mov edi, offset aDeviceHarddi_1 ; "\\Device\\Harddisk0\\Partition2\\"
.text:00269B87 push edi
.text:00269B88 lea eax, [ebp+var_10]
.text:00269B8B push eax
.text:00269B8C xor ebx, ebx
.text:00269B8E call esi
.text:00269B90 push edi
.text:00269B91 lea eax, [ebp+var_8]
.text:00269B94 push eax
.text:00269B95 call esi
.text:00269B97 dec word ptr [ebp+var_8]
.text:00269B9B lea eax, [ebp+var_10]
.text:00269B9E push eax
.text:00269B9F call _XapiValidateDiskPartition@4 ; XapiValidateDiskPartition(x)
.text:00269BA4 mov edi, eax
.text:00269BA6 test edi, edi
.text:00269BA8 jl short loc_269BC7
.text:00269BAA mov esi, offset off_56DE34
.text:00269BAF push esi
.text:00269BB0 call ds:dword_485E0C
.text:00269BB6 lea eax, [ebp+var_8]
.text:00269BB9 push eax
.text:00269BBA push esi
.text:00269BBB call ds:dword_485E00
.text:00269BC1 mov edi, eax
.text:00269BC3 test edi, edi
.text:00269BC5 jge short loc_269BEB
.text:00269BC7
.text:00269BC7 loc_269BC7: ; CODE XREF: sub_269B73+35j
.text:00269BC7 mov esi, ds:dword_485DD0
.text:00269BCD push edi
.text:00269BCE call esi
.text:00269BD0 test eax, eax
.text:00269BD2 push edi
.text:00269BD3 jg short loc_269BDB
.text:00269BD5 call esi
.text:00269BD7 mov ebx, eax
.text:00269BD9 jmp short loc_269BEB
.text:00269BDB ; ---------------------------------------------------------------------------
.text:00269BDB
.text:00269BDB loc_269BDB: ; CODE XREF: sub_269B73+60j
.text:00269BDB call esi
.text:00269BDD mov ebx, eax
.text:00269BDF and ebx, 0FFFFh
.text:00269BE5 or ebx, 80070000h
.text:00269BEB
.text:00269BEB loc_269BEB: ; CODE XREF: sub_269B73+52j
.text:00269BEB ; sub_269B73+66j
.text:00269BEB pop edi
.text:00269BEC pop esi
.text:00269BED mov eax, ebx
.text:00269BEF pop ebx
.text:00269BF0 leave
.text:00269BF1 retn
.text:00269BF1 sub_269B73 endp
.text:00269BF1
.text:00269BF2
.text:00269BF2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00269BF2
.text:00269BF2 ; Attributes: bp-based frame
.text:00269BF2
.text:00269BF2 sub_269BF2 proc near ; CODE XREF: sub_269EEE+150p
.text:00269BF2 ; sub_26A070+1Cp ...
.text:00269BF2
.text:00269BF2 var_188 = dword ptr -188h
.text:00269BF2 var_84 = dword ptr -84h
.text:00269BF2 var_70 = dword ptr -70h
.text:00269BF2 var_4 = dword ptr -4
.text:00269BF2 lpFileName = dword ptr 8
.text:00269BF2 arg_4 = dword ptr 0Ch
.text:00269BF2
.text:00269BF2 push ebp
.text:00269BF3 mov ebp, esp
.text:00269BF5 sub esp, 188h
.text:00269BFB push ebx
.text:00269BFC push esi
.text:00269BFD push edi
.text:00269BFE xor esi, esi
.text:00269C00 push esi ; hTemplateFile
.text:00269C01 push 8000080h ; dwFlagsAndAttributes
.text:00269C06 push 3 ; dwCreationDisposition
.text:00269C08 push esi ; lpSecurityAttributes
.text:00269C09 push esi ; dwShareMode
.text:00269C0A push 80000000h ; dwDesiredAccess
.text:00269C0F push [ebp+lpFileName] ; lpFileName
.text:00269C12 mov [ebp+var_4], esi
.text:00269C15 call _CreateFileA@28 ; CreateFileA(x,x,x,x,x,x,x)
.text:00269C1A mov edi, eax
.text:00269C1C cmp edi, 0FFFFFFFFh
.text:00269C1F jz short loc_269C87
.text:00269C21 push esi
.text:00269C22 lea eax, [ebp+lpFileName]
.text:00269C25 push eax
.text:00269C26 mov ebx, 178h
.text:00269C2B push ebx
.text:00269C2C lea eax, [ebp+var_188]
.text:00269C32 push eax
.text:00269C33 push edi
.text:00269C34 call sub_266EA1
.text:00269C39 test eax, eax
.text:00269C3B jz short loc_269C87
.text:00269C3D cmp [ebp+lpFileName], ebx
.text:00269C40 jnz short loc_269C80
.text:00269C42 mov eax, [ebp+var_70]
.text:00269C45 cmp eax, [ebp+var_84]
.text:00269C4B jb short loc_269C80
.text:00269C4D sub eax, [ebp+var_84]
.text:00269C53 push esi ; dwMoveMethod
.text:00269C54 push esi ; lpDistanceToMoveHigh
.text:00269C55 push eax ; lDistanceToMove
.text:00269C56 push edi ; hFile
.text:00269C57 mov [ebp+lpFileName], eax
.text:00269C5A call _SetFilePointer@16 ; SetFilePointer(x,x,x,x)
.text:00269C5F test eax, eax
.text:00269C61 jz short loc_269C87
.text:00269C63 push esi
.text:00269C64 lea eax, [ebp+lpFileName]
.text:00269C67 push eax
.text:00269C68 mov esi, 1D0h
.text:00269C6D push esi
.text:00269C6E push [ebp+arg_4]
.text:00269C71 push edi
.text:00269C72 call sub_266EA1
.text:00269C77 test eax, eax
.text:00269C79 jz short loc_269C87
.text:00269C7B cmp [ebp+lpFileName], esi
.text:00269C7E jz short loc_269CA9
.text:00269C80
.text:00269C80 loc_269C80: ; CODE XREF: sub_269BF2+4Ej
.text:00269C80 ; sub_269BF2+59j
.text:00269C80 push 0Dh ; dwErrCode
.text:00269C82 call _SetLastError@4 ; SetLastError(x)
.text:00269C87
.text:00269C87 loc_269C87: ; CODE XREF: sub_269BF2+2Dj
.text:00269C87 ; sub_269BF2+49j ...
.text:00269C87 call _GetLastError@0 ; GetLastError()
.text:00269C8C test eax, eax
.text:00269C8E jg short loc_269C97
.text:00269C90 call _GetLastError@0 ; GetLastError()
.text:00269C95 jmp short loc_269CA6
.text:00269C97 ; ---------------------------------------------------------------------------
.text:00269C97
.text:00269C97 loc_269C97: ; CODE XREF: sub_269BF2+9Cj
.text:00269C97 call _GetLastError@0 ; GetLastError()
.text:00269C9C and eax, 0FFFFh
.text:00269CA1 or eax, 80070000h
.text:00269CA6
.text:00269CA6 loc_269CA6: ; CODE XREF: sub_269BF2+A3j
.text:00269CA6 mov [ebp+var_4], eax
.text:00269CA9
.text:00269CA9 loc_269CA9: ; CODE XREF: sub_269BF2+8Cj
.text:00269CA9 cmp edi, 0FFFFFFFFh
.text:00269CAC jz short loc_269CB4
.text:00269CAE push edi
.text:00269CAF call sub_267BC1
.text:00269CB4
.text:00269CB4 loc_269CB4: ; CODE XREF: sub_269BF2+BAj
.text:00269CB4 mov eax, [ebp+var_4]
.text:00269CB7 pop edi
.text:00269CB8 pop esi
.text:00269CB9 pop ebx
.text:00269CBA leave
.text:00269CBB retn 8
.text:00269CBB sub_269BF2 endp
.text:00269CBB
.text:00269CBE
.text:00269CBE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00269CBE
.text:00269CBE ; Attributes: bp-based frame
.text:00269CBE
.text:00269CBE sub_269CBE proc near ; CODE XREF: sub_26A070+6Cp
.text:00269CBE
.text:00269CBE var_428 = dword ptr -428h
.text:00269CBE var_220 = dword ptr -220h
.text:00269CBE var_18 = dword ptr -18h
.text:00269CBE var_14 = dword ptr -14h
.text:00269CBE var_10 = dword ptr -10h
.text:00269CBE var_C = dword ptr -0Ch
.text:00269CBE var_8 = dword ptr -8
.text:00269CBE var_4 = dword ptr -4
.text:00269CBE arg_0 = dword ptr 8
.text:00269CBE arg_4 = dword ptr 0Ch
.text:00269CBE arg_8 = dword ptr 10h
.text:00269CBE
.text:00269CBE push ebp
.text:00269CBF mov ebp, esp
.text:00269CC1 sub esp, 428h
.text:00269CC7 and [ebp+var_18], 0
.text:00269CCB push esi
.text:00269CCC lea eax, [ebp+var_18]
.text:00269CCF push eax
.text:00269CD0 lea eax, [ebp+var_4]
.text:00269CD3 push eax
.text:00269CD4 mov byte ptr [ebp+var_220], 0
.text:00269CDB mov [ebp+var_10], 40h
.text:00269CE2 mov [ebp+var_14], offset off_56DDAC
.text:00269CE9 call ds:dword_485E08
.text:00269CEF test eax, eax
.text:00269CF1 mov esi, 208h
.text:00269CF6 jl short loc_269D3F
.text:00269CF8 and word ptr [ebp+var_C], 0
.text:00269CFD push edi
.text:00269CFE lea eax, [ebp+var_428]
.text:00269D04 mov [ebp+var_8], eax
.text:00269D07 push 0
.text:00269D09 lea eax, [ebp+var_C]
.text:00269D0C push eax
.text:00269D0D push [ebp+var_4]
.text:00269D10 mov word ptr [ebp+var_C+2], si
.text:00269D14 call ds:dword_485E04
.text:00269D1A push [ebp+var_4]
.text:00269D1D mov edi, eax
.text:00269D1F call ds:dword_485DD4
.text:00269D25 test edi, edi
.text:00269D27 pop edi
.text:00269D28 jl short loc_269D3F
.text:00269D2A movzx eax, word ptr [ebp+var_C]
.text:00269D2E inc eax
.text:00269D2F cmp eax, esi
.text:00269D31 jbe short loc_269D35
.text:00269D33 mov eax, esi
.text:00269D35
.text:00269D35 loc_269D35: ; CODE XREF: sub_269CBE+73j
.text:00269D35 push eax
.text:00269D36 lea eax, [ebp+var_428]
.text:00269D3C push eax
.text:00269D3D jmp short loc_269D45
.text:00269D3F ; ---------------------------------------------------------------------------
.text:00269D3F
.text:00269D3F loc_269D3F: ; CODE XREF: sub_269CBE+38j
.text:00269D3F ; sub_269CBE+6Aj
.text:00269D3F push esi
.text:00269D40 push offset dword_4CE8E4
.text:00269D45
.text:00269D45 loc_269D45: ; CODE XREF: sub_269CBE+7Fj
.text:00269D45 lea eax, [ebp+var_220]
.text:00269D4B push eax
.text:00269D4C call sub_268CE1
.text:00269D51 push [ebp+arg_8]
.text:00269D54 mov eax, ds:10118h
.text:00269D59 push dword ptr [eax+8]
.text:00269D5C lea eax, [ebp+var_220]
.text:00269D62 push [ebp+arg_4]
.text:00269D65 push eax
.text:00269D66 mov eax, [ebp+arg_0]
.text:00269D69 add eax, 3
.text:00269D6C push eax
.text:00269D6D call sub_267D8C
.text:00269D72 pop esi
.text:00269D73 leave
.text:00269D74 retn 0Ch
.text:00269D74 sub_269CBE endp
.text:00269D74
.text:00269D77
.text:00269D77 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00269D77
.text:00269D77 ; Attributes: bp-based frame
.text:00269D77
.text:00269D77 sub_269D77 proc near ; CODE XREF: sub_26A268+34p
.text:00269D77
.text:00269D77 arg_0 = dword ptr 8
.text:00269D77 arg_4 = dword ptr 0Ch
.text:00269D77 arg_8 = dword ptr 10h
.text:00269D77
.text:00269D77 push ebp
.text:00269D78 mov ebp, esp
.text:00269D7A mov edx, [ebp+arg_4]
.text:00269D7D or dword ptr [edx], 0FFFFFFFFh
.text:00269D80 push esi
.text:00269D81 mov esi, [ebp+arg_0]
.text:00269D84 xor eax, eax
.text:00269D86 mov [esi], eax
.text:00269D88 mov ecx, ds:dword_485EB0
.text:00269D8E cmp ecx, eax
.text:00269D90 push edi
.text:00269D91 jz short loc_269DBD
.text:00269D93 mov ecx, [ecx]
.text:00269D95 cmp ecx, eax
.text:00269D97 jz short loc_269DBD
.text:00269D99 mov edi, ecx
.text:00269D9B lea ecx, [edi+214h]
.text:00269DA1 test byte ptr [ecx], 1
.text:00269DA4 jz short loc_269DB7
.text:00269DA6 add ecx, 4
.text:00269DA9 mov eax, [ecx]
.text:00269DAB mov [edx], eax
.text:00269DAD add ecx, 4
.text:00269DB0 xor eax, eax
.text:00269DB2 mov [esi], ecx
.text:00269DB4 inc eax
.text:00269DB5 jmp short loc_269DC0
.text:00269DB7 ; ---------------------------------------------------------------------------
.text:00269DB7
.text:00269DB7 loc_269DB7: ; CODE XREF: sub_269D77+2Dj
.text:00269DB7 mov ecx, [edi]
.text:00269DB9 mov [edx], ecx
.text:00269DBB jmp short loc_269DC0
.text:00269DBD ; ---------------------------------------------------------------------------
.text:00269DBD
.text:00269DBD loc_269DBD: ; CODE XREF: sub_269D77+1Aj
.text:00269DBD ; sub_269D77+20j
.text:00269DBD mov edi, [ebp+arg_4]
.text:00269DC0
.text:00269DC0 loc_269DC0: ; CODE XREF: sub_269D77+3Ej
.text:00269DC0 ; sub_269D77+44j
.text:00269DC0 cmp dword ptr [edx], 0FFFFFFFFh
.text:00269DC3 jz short loc_269DD5
.text:00269DC5 lea esi, [edi+400h]
.text:00269DCB mov edi, [ebp+arg_8]
.text:00269DCE mov ecx, 300h
.text:00269DD3 rep movsd
.text:00269DD5
.text:00269DD5 loc_269DD5: ; CODE XREF: sub_269D77+4Cj
.text:00269DD5 pop edi
.text:00269DD6 pop esi
.text:00269DD7 pop ebp
.text:00269DD8 retn 0Ch
.text:00269DD8 sub_269D77 endp
.text:00269DD8
.text:00269DDB
.text:00269DDB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00269DDB
.text:00269DDB ; Attributes: bp-based frame
.text:00269DDB
.text:00269DDB sub_269DDB proc near ; CODE XREF: sub_26A0E7+53p
.text:00269DDB ; sub_26A268+4Dp ...
.text:00269DDB
.text:00269DDB var_21C = dword ptr -21Ch
.text:00269DDB var_14 = dword ptr -14h
.text:00269DDB var_10 = dword ptr -10h
.text:00269DDB var_C = dword ptr -0Ch
.text:00269DDB var_8 = dword ptr -8
.text:00269DDB var_4 = dword ptr -4
.text:00269DDB arg_0 = dword ptr 8
.text:00269DDB arg_4 = dword ptr 0Ch
.text:00269DDB
.text:00269DDB push ebp
.text:00269DDC mov ebp, esp
.text:00269DDE sub esp, 21Ch
.text:00269DE4 and [ebp+var_14], 0
.text:00269DE8 push edi
.text:00269DE9 mov edi, [ebp+arg_0]
.text:00269DEC lea eax, [ebp+var_14]
.text:00269DEF push eax
.text:00269DF0 lea eax, [ebp+arg_0]
.text:00269DF3 push eax
.text:00269DF4 mov byte ptr [edi], 0
.text:00269DF7 mov [ebp+var_C], 40h
.text:00269DFE mov [ebp+var_10], offset off_56DDAC
.text:00269E05 call ds:dword_485E08
.text:00269E0B test eax, eax
.text:00269E0D jl short loc_269E5A
.text:00269E0F and word ptr [ebp+var_8], 0
.text:00269E14 push esi
.text:00269E15 lea eax, [ebp+var_21C]
.text:00269E1B mov [ebp+var_4], eax
.text:00269E1E push 0
.text:00269E20 lea eax, [ebp+var_8]
.text:00269E23 push eax
.text:00269E24 push [ebp+arg_0]
.text:00269E27 mov word ptr [ebp+var_8+2], 208h
.text:00269E2D call ds:dword_485E04
.text:00269E33 push [ebp+arg_0]
.text:00269E36 mov esi, eax
.text:00269E38 call ds:dword_485DD4
.text:00269E3E test esi, esi
.text:00269E40 pop esi
.text:00269E41 jl short loc_269E5A
.text:00269E43 movzx eax, word ptr [ebp+var_8]
.text:00269E47 inc eax
.text:00269E48 cmp [ebp+arg_4], eax
.text:00269E4B jnb short loc_269E50
.text:00269E4D mov eax, [ebp+arg_4]
.text:00269E50
.text:00269E50 loc_269E50: ; CODE XREF: sub_269DDB+70j
.text:00269E50 push eax
.text:00269E51 lea eax, [ebp+var_21C]
.text:00269E57 push eax
.text:00269E58 jmp short loc_269E62
.text:00269E5A ; ---------------------------------------------------------------------------
.text:00269E5A
.text:00269E5A loc_269E5A: ; CODE XREF: sub_269DDB+32j
.text:00269E5A ; sub_269DDB+66j
.text:00269E5A push [ebp+arg_4]
.text:00269E5D push offset dword_4CE8E4
.text:00269E62
.text:00269E62 loc_269E62: ; CODE XREF: sub_269DDB+7Dj
.text:00269E62 push edi
.text:00269E63 call sub_268CE1
.text:00269E68 pop edi
.text:00269E69 leave
.text:00269E6A retn 8
.text:00269E6A sub_269DDB endp
.text:00269E6A
.text:00269E6D
.text:00269E6D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00269E6D
.text:00269E6D ; Attributes: bp-based frame
.text:00269E6D
.text:00269E6D sub_269E6D proc near ; CODE XREF: sub_26A0E7+147p
.text:00269E6D ; sub_4421A8+2C4p
.text:00269E6D
.text:00269E6D arg_0 = dword ptr 8
.text:00269E6D arg_4 = dword ptr 0Ch
.text:00269E6D
.text:00269E6D push ebp
.text:00269E6E mov ebp, esp
.text:00269E70 mov eax, ds:dword_485EB0
.text:00269E75 push esi
.text:00269E76 mov esi, [eax]
.text:00269E78 mov eax, [ebp+arg_0]
.text:00269E7B push edi
.text:00269E7C lea ecx, [eax+1]
.text:00269E7F
.text:00269E7F loc_269E7F: ; CODE XREF: sub_269E6D+17j
.text:00269E7F mov dl, [eax]
.text:00269E81 inc eax
.text:00269E82 test dl, dl
.text:00269E84 jnz short loc_269E7F
.text:00269E86 sub eax, ecx
.text:00269E88 lea ecx, [eax+1]
.text:00269E8B mov eax, [ebp+arg_4]
.text:00269E8E lea edi, [eax+1]
.text:00269E91
.text:00269E91 loc_269E91: ; CODE XREF: sub_269E6D+29j
.text:00269E91 mov dl, [eax]
.text:00269E93 inc eax
.text:00269E94 test dl, dl
.text:00269E96 jnz short loc_269E91
.text:00269E98 sub eax, edi
.text:00269E9A lea eax, [eax+ecx+8]
.text:00269E9E cmp eax, 1ECh
.text:00269EA3 jnb short loc_269EE8
.text:00269EA5 lea eax, [esi+214h]
.text:00269EAB mov word ptr [eax], 1
.text:00269EB0 inc eax
.text:00269EB1 inc eax
.text:00269EB2 mov [eax], cx
.text:00269EB5 mov edx, [esi]
.text:00269EB7 inc eax
.text:00269EB8 inc eax
.text:00269EB9 mov [eax], edx
.text:00269EBB add eax, 4
.text:00269EBE cmp dword ptr [esi], 0FFFFFFFFh
.text:00269EC1 jnz short loc_269EC6
.text:00269EC3
.text:00269EC3 loc_269EC3: ; DATA XREF: _rand+Eo
.text:00269EC3 and dword ptr [esi], 0
.text:00269EC6
.text:00269EC6 loc_269EC6: ; CODE XREF: sub_269E6D+54j
.text:00269EC6 mov esi, [ebp+arg_0]
.text:00269EC9 mov edi, eax
.text:00269ECB sub edi, esi
.text:00269ECD
.text:00269ECD loc_269ECD: ; CODE XREF: sub_269E6D+68j
.text:00269ECD mov dl, [esi]
.text:00269ECF mov [edi+esi], dl
.text:00269ED2 inc esi
.text:00269ED3 test dl, dl
.text:00269ED5 jnz short loc_269ECD
.text:00269ED7 mov edx, [ebp+arg_4]
.text:00269EDA add eax, ecx
.text:00269EDC sub eax, edx
.text:00269EDE
.text:00269EDE loc_269EDE: ; CODE XREF: sub_269E6D+79j
.text:00269EDE mov cl, [edx]
.text:00269EE0 mov [eax+edx], cl
.text:00269EE3 inc edx
.text:00269EE4 test cl, cl
.text:00269EE6 jnz short loc_269EDE
.text:00269EE8
.text:00269EE8 loc_269EE8: ; CODE XREF: sub_269E6D+36j
.text:00269EE8 pop edi
.text:00269EE9 pop esi
.text:00269EEA pop ebp
.text:00269EEB retn 8
.text:00269EEB sub_269E6D endp
.text:00269EEB
.text:00269EEE
.text:00269EEE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00269EEE
.text:00269EEE ; Attributes: bp-based frame fpd=68h
.text:00269EEE
.text:00269EEE sub_269EEE proc near ; CODE XREF: sub_26A268+FFp
.text:00269EEE ; sub_4424B5+60p
.text:00269EEE
.text:00269EEE var_45C = dword ptr -45Ch
.text:00269EEE var_454 = dword ptr -454h
.text:00269EEE FileName = byte ptr -270h
.text:00269EEE var_16C = dword ptr -16Ch
.text:00269EEE var_F8 = dword ptr -0F8h
.text:00269EEE var_D8 = byte ptr -0D8h
.text:00269EEE var_C4 = dword ptr -0C4h
.text:00269EEE var_C0 = dword ptr -0C0h
.text:00269EEE var_BC = dword ptr -0BCh
.text:00269EEE var_70 = dword ptr -70h
.text:00269EEE var_6C = dword ptr -6Ch
.text:00269EEE var_2C = dword ptr -2Ch
.text:00269EEE var_18 = dword ptr -18h
.text:00269EEE var_10 = dword ptr -10h
.text:00269EEE var_4 = dword ptr -4
.text:00269EEE arg_0 = dword ptr 8
.text:00269EEE arg_4 = dword ptr 0Ch
.text:00269EEE arg_8 = dword ptr 10h
.text:00269EEE
.text:00269EEE push ebp
.text:00269EEF lea ebp, [esp-68h]
.text:00269EF3 sub esp, 45Ch
.text:00269EF9 push ebx
.text:00269EFA push esi
.text:00269EFB push edi
.text:00269EFC lea eax, [ebp+68h+var_4]
.text:00269EFF push eax
.text:00269F00 lea eax, [ebp+68h+FileName]
.text:00269F06 push eax
.text:00269F07 push offset aContentmeta_xb ; "contentmeta.xbx"
.text:00269F0C or ebx, 0FFFFFFFFh
.text:00269F0F mov [ebp+68h+var_4], 104h
.text:00269F16 call sub_269B29
.text:00269F1B test eax, eax
.text:00269F1D jz loc_26A054
.text:00269F23 xor eax, eax
.text:00269F25 push eax ; hTemplateFile
.text:00269F26 push eax ; dwFlagsAndAttributes
.text:00269F27 push 3 ; dwCreationDisposition
.text:00269F29 push eax ; lpSecurityAttributes
.text:00269F2A push 1 ; dwShareMode
.text:00269F2C push 80000000h ; dwDesiredAccess
.text:00269F31 lea eax, [ebp+68h+FileName]
.text:00269F37 push eax ; lpFileName
.text:00269F38 call _CreateFileA@28 ; CreateFileA(x,x,x,x,x,x,x)
.text:00269F3D mov ebx, eax
.text:00269F3F cmp ebx, 0FFFFFFFFh
.text:00269F42 jz loc_26A054
.text:00269F48 lea eax, [ebp+68h+var_F8]
.text:00269F4E push eax
.text:00269F4F push 1
.text:00269F51 push [ebp+68h+arg_4]
.text:00269F54 push ebx
.text:00269F55 call sub_26D256
.text:00269F5A test eax, eax
.text:00269F5C jz loc_26A054
.text:00269F62 test [ebp+68h+var_D8], 1
.text:00269F66 jz loc_26A054
.text:00269F6C xor eax, eax
.text:00269F6E lea edi, [ebp+68h+var_18]
.text:00269F71 stosd
.text:00269F72 stosd
.text:00269F73 stosd
.text:00269F74 stosd
.text:00269F75 push 44h
.text:00269F77 stosd
.text:00269F78 mov eax, [ebp+68h+var_C4]
.text:00269F7B pop esi
.text:00269F7C cmp [ebp+68h+var_C0], esi
.text:00269F7F mov [ebp+68h+var_10], eax
.text:00269F82 jnz loc_26A054
.text:00269F88 lea eax, [ebp+68h+var_18]
.text:00269F8B push eax
.text:00269F8C lea eax, [ebp+68h+var_4]
.text:00269F8F push eax
.text:00269F90 push esi
.text:00269F91 lea eax, [ebp+68h+var_70]
.text:00269F94 push eax
.text:00269F95 push ebx
.text:00269F96 call sub_266EA1
.text:00269F9B test eax, eax
.text:00269F9D jz loc_26A054
.text:00269FA3 cmp [ebp+68h+var_4], esi
.text:00269FA6 jnz loc_26A054
.text:00269FAC lea eax, [ebp+68h+var_16C]
.text:00269FB2 push eax
.text:00269FB3 call sub_26F958
.text:00269FB8 push esi
.text:00269FB9 lea eax, [ebp+68h+var_70]
.text:00269FBC push eax
.text:00269FBD lea eax, [ebp+68h+var_16C]
.text:00269FC3 push eax
.text:00269FC4 call sub_26F952
.text:00269FC9 lea eax, [ebp+68h+var_2C]
.text:00269FCC push eax
.text:00269FCD lea eax, [ebp+68h+var_16C]
.text:00269FD3 push eax
.text:00269FD4 call sub_26F95E
.text:00269FD9 push 5
.text:00269FDB pop ecx
.text:00269FDC lea edi, [ebp+68h+var_BC]
.text:00269FDF lea esi, [ebp+68h+var_2C]
.text:00269FE2 xor eax, eax
.text:00269FE4 repe cmpsd
.text:00269FE6 jnz short loc_26A054
.text:00269FE8 mov ecx, [ebp+68h+var_70]
.text:00269FEB cmp ecx, 10h
.text:00269FEE ja short loc_26A054
.text:00269FF0 test ecx, ecx
.text:00269FF2 jbe short loc_26A002
.text:00269FF4
.text:00269FF4 loc_269FF4: ; CODE XREF: sub_269EEE+112j
.text:00269FF4 mov edx, [ebp+eax*4+68h+var_6C]
.text:00269FF8 cmp edx, [ebp+68h+arg_8]
.text:00269FFB jz short loc_26A002
.text:00269FFD inc eax
.text:00269FFE cmp eax, ecx
.text:0026A000 jb short loc_269FF4
.text:0026A002
.text:0026A002 loc_26A002: ; CODE XREF: sub_269EEE+104j
.text:0026A002 ; sub_269EEE+10Dj
.text:0026A002 cmp eax, ecx
.text:0026A004 jz short loc_26A054
.text:0026A006 lea eax, [ebp+68h+var_4]
.text:0026A009 push eax
.text:0026A00A lea eax, [ebp+68h+FileName]
.text:0026A010 push eax
.text:0026A011 push [ebp+68h+arg_0]
.text:0026A014 mov [ebp+68h+var_4], 104h
.text:0026A01B call sub_269B29
.text:0026A020 test eax, eax
.text:0026A022 jnz short loc_26A030
.text:0026A024 call _GetLastError@0 ; GetLastError()
.text:0026A029 call _GetLastError@0 ; GetLastError()
.text:0026A02E jmp short loc_26A054
.text:0026A030 ; ---------------------------------------------------------------------------
.text:0026A030
.text:0026A030 loc_26A030: ; CODE XREF: sub_269EEE+134j
.text:0026A030 lea eax, [ebp+68h+var_45C]
.text:0026A036 push eax
.text:0026A037 lea eax, [ebp+68h+FileName]
.text:0026A03D push eax
.text:0026A03E call sub_269BF2
.text:0026A043 mov esi, eax
.text:0026A045 test esi, esi
.text:0026A047 jl short loc_26A054
.text:0026A049 mov eax, [ebp+68h+arg_4]
.text:0026A04C cmp [ebp+68h+var_454], eax
.text:0026A052 jz short loc_26A059
.text:0026A054
.text:0026A054 loc_26A054: ; CODE XREF: sub_269EEE+2Fj
.text:0026A054 ; sub_269EEE+54j ...
.text:0026A054 mov esi, 8007000Dh
.text:0026A059
.text:0026A059 loc_26A059: ; CODE XREF: sub_269EEE+164j
.text:0026A059 cmp ebx, 0FFFFFFFFh
.text:0026A05C jz short loc_26A064
.text:0026A05E push ebx
.text:0026A05F call sub_267BC1
.text:0026A064
.text:0026A064 loc_26A064: ; CODE XREF: sub_269EEE+16Ej
.text:0026A064 pop edi
.text:0026A065 mov eax, esi
.text:0026A067 pop esi
.text:0026A068 pop ebx
.text:0026A069 add ebp, 68h
.text:0026A06C leave
.text:0026A06D retn 10h
.text:0026A06D sub_269EEE endp
.text:0026A06D
.text:0026A070
.text:0026A070 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026A070
.text:0026A070 ; Attributes: bp-based frame
.text:0026A070
.text:0026A070 sub_26A070 proc near ; CODE XREF: sub_4421A8+AEp
.text:0026A070
.text:0026A070 var_1EC = dword ptr -1ECh
.text:0026A070 var_140 = dword ptr -140h
.text:0026A070 arg_0 = dword ptr 8
.text:0026A070
.text:0026A070 push ebp
.text:0026A071 mov ebp, esp
.text:0026A073 sub esp, 1ECh
.text:0026A079 push edi
.text:0026A07A call sub_269B73
.text:0026A07F lea eax, [ebp+var_1EC]
.text:0026A085 push eax
.text:0026A086 mov edi, offset aDDashupdate_xb ; "d:\\dashupdate.xbe"
.text:0026A08B push edi
.text:0026A08C call sub_269BF2
.text:0026A091 test eax, eax
.text:0026A093 jl short loc_26A0E2
.text:0026A095 push esi
.text:0026A096 mov esi, [ebp+var_140]
.text:0026A09C lea eax, [ebp+var_1EC]
.text:0026A0A2 push eax
.text:0026A0A3 push offset aYXboxdash_xbe ; "y:\\xboxdash.xbe"
.text:0026A0A8 call sub_269BF2
.text:0026A0AD test eax, eax
.text:0026A0AF jl short loc_26A0D6
.text:0026A0B1 cmp [ebp+var_140], esi
.text:0026A0B7 jb short loc_26A0D6
.text:0026A0B9 lea eax, [ebp+var_1EC]
.text:0026A0BF push eax
.text:0026A0C0 push offset aYXodashXonline ; "y:\\XODash\\xonlinedash.xbe"
.text:0026A0C5 call sub_269BF2
.text:0026A0CA test eax, eax
.text:0026A0CC jl short loc_26A0D6
.text:0026A0CE cmp [ebp+var_140], esi
.text:0026A0D4 jnb short loc_26A0E1
.text:0026A0D6
.text:0026A0D6 loc_26A0D6: ; CODE XREF: sub_26A070+3Fj
.text:0026A0D6 ; sub_26A070+47j ...
.text:0026A0D6 push [ebp+arg_0]
.text:0026A0D9 push 1
.text:0026A0DB push edi
.text:0026A0DC call sub_269CBE
.text:0026A0E1
.text:0026A0E1 loc_26A0E1: ; CODE XREF: sub_26A070+64j
.text:0026A0E1 pop esi
.text:0026A0E2
.text:0026A0E2 loc_26A0E2: ; CODE XREF: sub_26A070+23j
.text:0026A0E2 pop edi
.text:0026A0E3 leave
.text:0026A0E4 retn 4
.text:0026A0E4 sub_26A070 endp
.text:0026A0E4
.text:0026A0E7
.text:0026A0E7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026A0E7
.text:0026A0E7 ; Attributes: bp-based frame
.text:0026A0E7
.text:0026A0E7 sub_26A0E7 proc near ; CODE XREF: sub_267C05+2Bp
.text:0026A0E7 ; sub_26A268+123p
.text:0026A0E7
.text:0026A0E7 var_2D4 = dword ptr -2D4h
.text:0026A0E7 var_16C = byte ptr -16Ch
.text:0026A0E7 var_4 = dword ptr -4
.text:0026A0E7 arg_0 = dword ptr 8
.text:0026A0E7 arg_4 = dword ptr 0Ch
.text:0026A0E7 arg_8 = byte ptr 10h
.text:0026A0E7 arg_C = dword ptr 14h
.text:0026A0E7
.text:0026A0E7 push ebp
.text:0026A0E8 mov ebp, esp
.text:0026A0EA sub esp, 2D4h
.text:0026A0F0 mov ecx, ds:10118h
.text:0026A0F6 push esi
.text:0026A0F7 mov esi, [ebp+arg_0]
.text:0026A0FA xor eax, eax
.text:0026A0FC cmp esi, eax
.text:0026A0FE jnz short loc_26A11F
.text:0026A100 push [ebp+arg_4]
.text:0026A103 push dword ptr [ecx+8]
.text:0026A106 xor ecx, ecx
.text:0026A108 cmp [ebp+arg_4], eax
.text:0026A10B setnz cl
.text:0026A10E lea ecx, [ecx+ecx-1]
.text:0026A112 push ecx
.text:0026A113 push eax
.text:0026A114 push eax
.text:0026A115 call sub_267D8C
.text:0026A11A jmp loc_26A263
.text:0026A11F ; ---------------------------------------------------------------------------
.text:0026A11F
.text:0026A11F loc_26A11F: ; CODE XREF: sub_26A0E7+17j
.text:0026A11F mov ecx, [ecx+8]
.text:0026A122 push ebx
.text:0026A123 push edi
.text:0026A124 mov [ebp+var_4], eax
.text:0026A127 mov edi, 168h
.text:0026A12C push edi
.text:0026A12D lea eax, [ebp+var_2D4]
.text:0026A133 xor ebx, ebx
.text:0026A135 push eax
.text:0026A136 mov [ebp+arg_0], ecx
.text:0026A139 inc ebx
.text:0026A13A call sub_269DDB
.text:0026A13F mov al, [esi]
.text:0026A141 cmp al, 44h
.text:0026A143 mov dl, 5Ch
.text:0026A145 jz short loc_26A14B
.text:0026A147 cmp al, 64h
.text:0026A149 jnz short loc_26A16D
.text:0026A14B
.text:0026A14B loc_26A14B: ; CODE XREF: sub_26A0E7+5Ej
.text:0026A14B cmp byte ptr [esi+1], 3Ah
.text:0026A14F jnz short loc_26A16D
.text:0026A151 cmp [esi+2], dl
.text:0026A154 jnz short loc_26A16D
.text:0026A156 lea eax, [esi+3]
.text:0026A159 mov esi, eax
.text:0026A15B lea ecx, [ebp+var_2D4]
.text:0026A161 mov [ebp+var_4], 1
.text:0026A168 jmp loc_26A1FB
.text:0026A16D ; ---------------------------------------------------------------------------
.text:0026A16D
.text:0026A16D loc_26A16D: ; CODE XREF: sub_26A0E7+62j
.text:0026A16D ; sub_26A0E7+68j ...
.text:0026A16D cmp al, 54h
.text:0026A16F jz short loc_26A175
.text:0026A171 cmp al, 74h
.text:0026A173 jnz short loc_26A1A6
.text:0026A175
.text:0026A175 loc_26A175: ; CODE XREF: sub_26A0E7+88j
.text:0026A175 cmp byte ptr [esi+1], 3Ah
.text:0026A179 jnz short loc_26A1A6
.text:0026A17B cmp [esi+2], dl
.text:0026A17E jnz short loc_26A1A6
.text:0026A180 cmp byte ptr [esi+3], 24h
.text:0026A184 jnz short loc_26A1A6
.text:0026A186 mov cl, [esi+4]
.text:0026A189 cmp cl, 55h
.text:0026A18C jz short loc_26A193
.text:0026A18E cmp cl, 75h
.text:0026A191 jnz short loc_26A1A6
.text:0026A193
.text:0026A193 loc_26A193: ; CODE XREF: sub_26A0E7+A5j
.text:0026A193 cmp [esi+5], dl
.text:0026A196 jnz short loc_26A1A6
.text:0026A198 add esi, 6
.text:0026A19B push esi
.text:0026A19C push [ebp+arg_0]
.text:0026A19F push offset aDeviceHarddi_2 ; "\\Device\\Harddisk0\\Partition1\\TDATA\\%08x"...
.text:0026A1A4 jmp short loc_26A1DD
.text:0026A1A6 ; ---------------------------------------------------------------------------
.text:0026A1A6
.text:0026A1A6 loc_26A1A6: ; CODE XREF: sub_26A0E7+8Cj
.text:0026A1A6 ; sub_26A0E7+92j ...
.text:0026A1A6 test [ebp+arg_8], 2
.text:0026A1AA jz loc_26A25E
.text:0026A1B0 cmp al, 59h
.text:0026A1B2 jz short loc_26A1BC
.text:0026A1B4 cmp al, 79h
.text:0026A1B6 jnz loc_26A25E
.text:0026A1BC
.text:0026A1BC loc_26A1BC: ; CODE XREF: sub_26A0E7+CBj
.text:0026A1BC cmp byte ptr [esi+1], 3Ah
.text:0026A1C0 jnz loc_26A25E
.text:0026A1C6 cmp [esi+2], dl
.text:0026A1C9 jnz loc_26A25E
.text:0026A1CF add esi, 3
.text:0026A1D2 push esi
.text:0026A1D3 push offset aDeviceHarddi_1 ; "\\Device\\Harddisk0\\Partition2\\"
.text:0026A1D8 push offset dword_494980 ; char *
.text:0026A1DD
.text:0026A1DD loc_26A1DD: ; CODE XREF: sub_26A0E7+BDj
.text:0026A1DD lea eax, [ebp+var_16C]
.text:0026A1E3 push edi ; size_t
.text:0026A1E4 push eax ; char *
.text:0026A1E5 call __snprintf
.text:0026A1EA add esp, 14h
.text:0026A1ED test eax, eax
.text:0026A1EF jl short loc_26A25E
.text:0026A1F1 xor ecx, ecx
.text:0026A1F3 lea eax, [ebp+var_16C]
.text:0026A1F9 xor ebx, ebx
.text:0026A1FB
.text:0026A1FB loc_26A1FB: ; CODE XREF: sub_26A0E7+81j
.text:0026A1FB cmp [ebp+arg_4], 0
.text:0026A1FF jz short loc_26A206
.text:0026A201 mov edx, [ebp+arg_C]
.text:0026A204 jmp short loc_26A209
.text:0026A206 ; ---------------------------------------------------------------------------
.text:0026A206
.text:0026A206 loc_26A206: ; CODE XREF: sub_26A0E7+118j
.text:0026A206 or edx, 0FFFFFFFFh
.text:0026A209
.text:0026A209 loc_26A209: ; CODE XREF: sub_26A0E7+11Dj
.text:0026A209 push [ebp+arg_4]
.text:0026A20C push [ebp+arg_0]
.text:0026A20F push edx
.text:0026A210 push ebx
.text:0026A211 push ecx
.text:0026A212 push eax
.text:0026A213 call _XWriteTitleInfoNoReboot@20 ; XWriteTitleInfoNoReboot(x,x,x,x,x)
.text:0026A218 xor ebx, ebx
.text:0026A21A cmp [ebp+var_4], ebx
.text:0026A21D mov edi, eax
.text:0026A21F jz short loc_26A226
.text:0026A221 cmp [ebp+arg_4], ebx
.text:0026A224 jz short loc_26A233
.text:0026A226
.text:0026A226 loc_26A226: ; CODE XREF: sub_26A0E7+138j
.text:0026A226 push esi
.text:0026A227 lea eax, [ebp+var_2D4]
.text:0026A22D push eax
.text:0026A22E call sub_269E6D
.text:0026A233
.text:0026A233 loc_26A233: ; CODE XREF: sub_26A0E7+13Dj
.text:0026A233 cmp edi, ebx
.text:0026A235 jl short loc_26A255
.text:0026A237 mov eax, large fs:20h
.text:0026A23D mov eax, [eax+250h]
.text:0026A243 cmp eax, ebx
.text:0026A245 jz short loc_26A24D
.text:0026A247 push ebx
.text:0026A248 push 2
.text:0026A24A call dword ptr [eax+14h]
.text:0026A24D
.text:0026A24D loc_26A24D: ; CODE XREF: sub_26A0E7+15Ej
.text:0026A24D push 2
.text:0026A24F call ds:dword_485EB4
.text:0026A255
.text:0026A255 loc_26A255: ; CODE XREF: sub_26A0E7+14Ej
.text:0026A255 push edi
.text:0026A256 call ds:dword_485DD0
.text:0026A25C jmp short loc_26A261
.text:0026A25E ; ---------------------------------------------------------------------------
.text:0026A25E
.text:0026A25E loc_26A25E: ; CODE XREF: sub_26A0E7+C3j
.text:0026A25E ; sub_26A0E7+CFj ...
.text:0026A25E push 57h
.text:0026A260 pop eax
.text:0026A261
.text:0026A261 loc_26A261: ; CODE XREF: sub_26A0E7+175j
.text:0026A261 pop edi
.text:0026A262 pop ebx
.text:0026A263
.text:0026A263 loc_26A263: ; CODE XREF: sub_26A0E7+33j
.text:0026A263 pop esi
.text:0026A264 leave
.text:0026A265 retn 10h
.text:0026A265 sub_26A0E7 endp
.text:0026A265
.text:0026A268
.text:0026A268 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026A268
.text:0026A268 ; Attributes: bp-based frame
.text:0026A268
.text:0026A268 sub_26A268 proc near ; CODE XREF: sub_269696:loc_2697DBp
.text:0026A268
.text:0026A268 var_1050 = dword ptr -1050h
.text:0026A268 var_450 = dword ptr -450h
.text:0026A268 var_2E8 = byte ptr -2E8h
.text:0026A268 var_180 = dword ptr -180h
.text:0026A268 var_18 = dword ptr -18h
.text:0026A268 var_14 = dword ptr -14h
.text:0026A268 var_10 = dword ptr -10h
.text:0026A268 var_C = dword ptr -0Ch
.text:0026A268 var_8 = dword ptr -8
.text:0026A268 var_4 = dword ptr -4
.text:0026A268
.text:0026A268 push ebp
.text:0026A269 mov ebp, esp
.text:0026A26B mov eax, 1050h
.text:0026A270 call unknown_libname_124 ; XBOX Flirt v2.00 Final.
.text:0026A275 mov eax, ds:10118h
.text:0026A27A mov eax, [eax+8]
.text:0026A27D cmp eax, 0FFFE0000h
.text:0026A282 mov [ebp+var_18], eax
.text:0026A285 jz loc_26A3C9
.text:0026A28B push ebx
.text:0026A28C push edi
.text:0026A28D lea eax, [ebp+var_1050]
.text:0026A293 push eax
.text:0026A294 lea eax, [ebp+var_14]
.text:0026A297 push eax
.text:0026A298 lea eax, [ebp+var_C]
.text:0026A29B push eax
.text:0026A29C call sub_269D77
.text:0026A2A1 test eax, eax
.text:0026A2A3 mov [ebp+var_10], eax
.text:0026A2A6 mov ebx, 168h
.text:0026A2AB jnz short loc_26A2C2
.text:0026A2AD push ebx
.text:0026A2AE lea eax, [ebp+var_450]
.text:0026A2B4 push eax
.text:0026A2B5 call sub_269DDB
.text:0026A2BA lea edi, [ebp+var_450]
.text:0026A2C0 jmp short loc_26A2C5
.text:0026A2C2 ; ---------------------------------------------------------------------------
.text:0026A2C2
.text:0026A2C2 loc_26A2C2: ; CODE XREF: sub_26A268+43j
.text:0026A2C2 mov edi, [ebp+var_C]
.text:0026A2C5
.text:0026A2C5 loc_26A2C5: ; CODE XREF: sub_26A268+58j
.text:0026A2C5 mov eax, edi
.text:0026A2C7 lea edx, [eax+1]
.text:0026A2CA
.text:0026A2CA loc_26A2CA: ; CODE XREF: sub_26A268+67j
.text:0026A2CA mov cl, [eax]
.text:0026A2CC inc eax
.text:0026A2CD test cl, cl
.text:0026A2CF jnz short loc_26A2CA
.text:0026A2D1 sub eax, edx
.text:0026A2D3 push esi
.text:0026A2D4 mov esi, eax
.text:0026A2D6 mov eax, ds:dword_485EF4
.text:0026A2DB movzx ecx, word ptr [eax]
.text:0026A2DE cmp ecx, esi
.text:0026A2E0 jbe loc_26A390
.text:0026A2E6 push esi ; size_t
.text:0026A2E7 push edi ; char *
.text:0026A2E8 push dword ptr [eax+4] ; char *
.text:0026A2EB call __strnicmp
.text:0026A2F0 add esp, 0Ch
.text:0026A2F3 test eax, eax
.text:0026A2F5 jnz loc_26A390
.text:0026A2FB mov eax, ds:dword_485EF4
.text:0026A300 movzx ecx, word ptr [eax]
.text:0026A303 mov eax, [eax+4]
.text:0026A306 inc esi
.text:0026A307 sub ecx, esi
.text:0026A309 push ecx
.text:0026A30A add eax, esi
.text:0026A30C push eax
.text:0026A30D lea eax, [ebp+var_180]
.text:0026A313 push eax
.text:0026A314 call unknown_libname_79 ; XBOX Flirt v2.00 Final.
.text:0026A319 mov eax, ds:dword_485EF4
.text:0026A31E movzx eax, word ptr [eax]
.text:0026A321 sub eax, esi
.text:0026A323 mov byte ptr [ebp+eax+var_180], 0
.text:0026A32B lea eax, [ebp+var_180]
.text:0026A331 push eax
.text:0026A332 push offset aTU ; "t:\\$u\\"
.text:0026A337 push offset dword_494980 ; char *
.text:0026A33C lea eax, [ebp+var_2E8]
.text:0026A342 push ebx ; size_t
.text:0026A343 push eax ; char *
.text:0026A344 call __snprintf
.text:0026A349 add esp, 20h
.text:0026A34C test eax, eax
.text:0026A34E jl short loc_26A3C6
.text:0026A350 mov eax, ds:10118h
.text:0026A355 push 0
.text:0026A357 push dword ptr [eax+0ACh]
.text:0026A35D lea eax, [ebp+var_180]
.text:0026A363 push [ebp+var_18]
.text:0026A366 push eax
.text:0026A367 call sub_269EEE
.text:0026A36C test eax, eax
.text:0026A36E jl short loc_26A390
.text:0026A370 mov eax, [ebp+var_14]
.text:0026A373 push eax
.text:0026A374 inc eax
.text:0026A375 neg eax
.text:0026A377 sbb eax, eax
.text:0026A379 lea ecx, [ebp+var_1050]
.text:0026A37F push 0
.text:0026A381 and eax, ecx
.text:0026A383 push eax
.text:0026A384 lea eax, [ebp+var_2E8]
.text:0026A38A push eax
.text:0026A38B call sub_26A0E7
.text:0026A390
.text:0026A390 loc_26A390: ; CODE XREF: sub_26A268+78j
.text:0026A390 ; sub_26A268+8Dj ...
.text:0026A390 cmp [ebp+var_10], 0
.text:0026A394 jz short loc_26A3C6
.text:0026A396 mov eax, edi
.text:0026A398 lea edx, [eax+1]
.text:0026A39B
.text:0026A39B loc_26A39B: ; CODE XREF: sub_26A268+138j
.text:0026A39B mov cl, [eax]
.text:0026A39D inc eax
.text:0026A39E test cl, cl
.text:0026A3A0 jnz short loc_26A39B
.text:0026A3A2 sub eax, edx
.text:0026A3A4 mov esi, offset off_56DDAC
.text:0026A3A9 push esi
.text:0026A3AA mov word ptr [ebp+var_8], ax
.text:0026A3AE mov word ptr [ebp+var_8+2], ax
.text:0026A3B2 mov [ebp+var_4], edi
.text:0026A3B5 call ds:dword_485E0C
.text:0026A3BB lea eax, [ebp+var_8]
.text:0026A3BE push eax
.text:0026A3BF push esi
.text:0026A3C0 call ds:dword_485E00
.text:0026A3C6
.text:0026A3C6 loc_26A3C6: ; CODE XREF: sub_26A268+E6j
.text:0026A3C6 ; sub_26A268+12Cj
.text:0026A3C6 pop esi
.text:0026A3C7 pop edi
.text:0026A3C8 pop ebx
.text:0026A3C9
.text:0026A3C9 loc_26A3C9: ; CODE XREF: sub_26A268+1Dj
.text:0026A3C9 xor eax, eax
.text:0026A3CB leave
.text:0026A3CC retn
.text:0026A3CC sub_26A268 endp
.text:0026A3CC
.text:0026A3CD ; [0000004F BYTES: COLLAPSED FUNCTION HeapCreate(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026A41C ; [0000001C BYTES: COLLAPSED FUNCTION HeapDestroy(x). PRESS KEYPAD "+" TO EXPAND]
.text:0026A438 ; [00000017 BYTES: COLLAPSED FUNCTION HeapFree(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026A44F
.text:0026A44F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026A44F
.text:0026A44F
.text:0026A44F sub_26A44F proc near ; CODE XREF: sub_289230+74p
.text:0026A44F ; sub_289300+Ap ...
.text:0026A44F mov eax, dword_5E7360
.text:0026A454 retn
.text:0026A454 sub_26A44F endp
.text:0026A454
.text:0026A455 ; [0000001D BYTES: COLLAPSED FUNCTION unknown_libname_44. PRESS KEYPAD "+" TO EXPAND]
.text:0026A472 ; [0000001E BYTES: COLLAPSED FUNCTION LocalFree(x). PRESS KEYPAD "+" TO EXPAND]
.text:0026A490 ; [0000017D BYTES: COLLAPSED FUNCTION XapiNukeDirectoryFromHandle(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026A60D ; [0000006F BYTES: COLLAPSED FUNCTION XapiNukeDirectory(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026A67C
.text:0026A67C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026A67C
.text:0026A67C
.text:0026A67C sub_26A67C proc near ; CODE XREF: sub_2689DA:loc_268A08p
.text:0026A67C ; sub_303E01:loc_303E21p
.text:0026A67C mov eax, ds:dword_485F1C
.text:0026A681 mov eax, [eax]
.text:0026A683 retn
.text:0026A683 sub_26A67C endp
.text:0026A683
.text:0026A684 ; [00000189 BYTES: COLLAPSED FUNCTION xCompareStringA(x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026A80D ; [00000058 BYTES: COLLAPSED FUNCTION _cinit(). PRESS KEYPAD "+" TO EXPAND]
.text:0026A865 ; [00000029 BYTES: COLLAPSED FUNCTION _rtinit(). PRESS KEYPAD "+" TO EXPAND]
.text:0026A88E ; ---------------------------------------------------------------------------
.text:0026A88E ; START OF FUNCTION CHUNK FOR sub_26A8F2
.text:0026A88E
.text:0026A88E loc_26A88E: ; CODE XREF: sub_26A8F2+BFj
.text:0026A88E push ebp
.text:0026A88F mov ebp, esp
.text:0026A891 push ecx
.text:0026A892 push ecx
.text:0026A893 mov eax, ds:8001003Ch
.text:0026A898 mov edx, 7FFF0000h
.text:0026A89D sub eax, edx
.text:0026A89F movzx ecx, word ptr [eax+6]
.text:0026A8A3 push esi
.text:0026A8A4 movzx esi, word ptr [eax+14h]
.text:0026A8A8 add esi, eax
.text:0026A8AA lea ecx, [ecx+ecx*4]
.text:0026A8AD lea eax, [esi+ecx*8-10h]
.text:0026A8B1 cmp dword ptr [eax], 54494E49h
.text:0026A8B7 pop esi
.text:0026A8B8 jnz short locret_26A8F0
.text:0026A8BA mov eax, [eax+0Ch]
.text:0026A8BD and word ptr [ebp-6], 0
.text:0026A8C2 sub eax, edx
.text:0026A8C4 shr eax, 0Ch
.text:0026A8C7 mov ecx, eax
.text:0026A8C9 shr ecx, 10h
.text:0026A8CC and ecx, 0Fh
.text:0026A8CF shl ecx, 10h
.text:0026A8D2 or ecx, 0C09B00h
.text:0026A8D8 push ecx
.text:0026A8D9 mov [ebp-8], ax
.text:0026A8DD push dword ptr [ebp-8]
.text:0026A8E0 call sub_26D950
.text:0026A8E5 mov dword_5E7358, eax
.text:0026A8EA mov dword_5E735C, edx
.text:0026A8F0
.text:0026A8F0 locret_26A8F0: ; CODE XREF: sub_26A8F2-3Aj
.text:0026A8F0 leave
.text:0026A8F1 retn
.text:0026A8F1 ; END OF FUNCTION CHUNK FOR sub_26A8F2
.text:0026A8F2
.text:0026A8F2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026A8F2
.text:0026A8F2
.text:0026A8F2 sub_26A8F2 proc near ; CODE XREF: sub_268E41p
.text:0026A8F2
.text:0026A8F2 ; FUNCTION CHUNK AT .text:0026A88E SIZE 00000064 BYTES
.text:0026A8F2
.text:0026A8F2 mov eax, ds:dword_485EEC
.text:0026A8F7 mov eax, [eax]
.text:0026A8F9 mov ecx, ds:dword_485F20
.text:0026A8FF movzx ecx, word ptr [ecx+4]
.text:0026A903 shr eax, 1
.text:0026A905 not al
.text:0026A907 and al, 1
.text:0026A909 cmp ecx, 0F68h
.text:0026A90F push esi
.text:0026A910 jz short loc_26A95D
.text:0026A912 cmp ecx, 0FC2h
.text:0026A918 jz short loc_26A952
.text:0026A91A cmp ecx, 0FC7h
.text:0026A920 jz short loc_26A942
.text:0026A922 cmp ecx, 12D0h
.text:0026A928 jle short loc_26A9A1
.text:0026A92A cmp ecx, 12D2h
.text:0026A930 jg short loc_26A9A1
.text:0026A932 neg al
.text:0026A934 sbb eax, eax
.text:0026A936 and eax, 0FFFF1611h
.text:0026A93B add eax, 8003838Fh
.text:0026A940 jmp short loc_26A96B
.text:0026A942 ; ---------------------------------------------------------------------------
.text:0026A942
.text:0026A942 loc_26A942: ; CODE XREF: sub_26A8F2+2Ej
.text:0026A942 neg al
.text:0026A944 sbb eax, eax
.text:0026A946 and eax, 0FFFF12CBh
.text:0026A94B add eax, 800398CDh
.text:0026A950 jmp short loc_26A96B
.text:0026A952 ; ---------------------------------------------------------------------------
.text:0026A952
.text:0026A952 loc_26A952: ; CODE XREF: sub_26A8F2+26j
.text:0026A952 neg al
.text:0026A954 sbb eax, eax
.text:0026A956 and eax, 8002AB88h
.text:0026A95B jmp short loc_26A96B
.text:0026A95D ; ---------------------------------------------------------------------------
.text:0026A95D
.text:0026A95D loc_26A95D: ; CODE XREF: sub_26A8F2+1Ej
.text:0026A95D neg al
.text:0026A95F sbb eax, eax
.text:0026A961 and eax, 0FFFF1471h
.text:0026A966 add eax, 80039749h
.text:0026A96B
.text:0026A96B loc_26A96B: ; CODE XREF: sub_26A8F2+4Ej
.text:0026A96B ; sub_26A8F2+5Ej ...
.text:0026A96B mov esi, eax
.text:0026A96D test esi, esi
.text:0026A96F jz short loc_26A9A1
.text:0026A971 cmp dword ptr [esi], 20C5048Dh
.text:0026A977 jnz short loc_26A9A1
.text:0026A979 push ebx
.text:0026A97A push edi
.text:0026A97B push esi
.text:0026A97C call ds:dword_485E24
.text:0026A982 mov edi, ds:dword_485E1C
.text:0026A988 push 4
.text:0026A98A push 4
.text:0026A98C push esi
.text:0026A98D mov ebx, eax
.text:0026A98F call edi
.text:0026A991 cli
.text:0026A992 mov dword ptr [esi], 28C5048Dh
.text:0026A998 sti
.text:0026A999 push ebx
.text:0026A99A push 4
.text:0026A99C push esi
.text:0026A99D call edi
.text:0026A99F pop edi
.text:0026A9A0 pop ebx
.text:0026A9A1
.text:0026A9A1 loc_26A9A1: ; CODE XREF: sub_26A8F2+36j
.text:0026A9A1 ; sub_26A8F2+3Ej ...
.text:0026A9A1 mov eax, large fs:20h
.text:0026A9A7 cmp dword ptr [eax+250h], 0
.text:0026A9AE pop esi
.text:0026A9AF jnz short locret_26A9B6
.text:0026A9B1 jmp loc_26A88E
.text:0026A9B6 ; ---------------------------------------------------------------------------
.text:0026A9B6
.text:0026A9B6 locret_26A9B6: ; CODE XREF: sub_26A8F2+BDj
.text:0026A9B6 retn
.text:0026A9B6 sub_26A8F2 endp ; sp = -8
.text:0026A9B6
.text:0026A9B7 ; [00000025 BYTES: COLLAPSED FUNCTION XGetParentalControlSetting(). PRESS KEYPAD "+" TO EXPAND]
.text:0026A9DC ; [00000120 BYTES: COLLAPSED FUNCTION RtlpCreateUnCommittedRange(x). PRESS KEYPAD "+" TO EXPAND]
.text:0026AAFC ; [00000021 BYTES: COLLAPSED FUNCTION RtlpDestroyUnCommittedRange(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026AB1D ; [00000093 BYTES: COLLAPSED FUNCTION RtlpInsertUnCommittedPages(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026ABB0 ; [0000018B BYTES: COLLAPSED FUNCTION RtlpFindAndCommitPages(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026AD3B ; [00000032 BYTES: COLLAPSED FUNCTION RtlpDestroyHeapSegment(x). PRESS KEYPAD "+" TO EXPAND]
.text:0026AD6D ; [000002A5 BYTES: COLLAPSED FUNCTION RtlpCoalesceFreeBlocks(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026B012
.text:0026B012 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026B012
.text:0026B012 ; Attributes: bp-based frame
.text:0026B012
.text:0026B012 sub_26B012 proc near ; CODE XREF: sub_26B1B7+82p
.text:0026B012 ; sub_26B1B7+3B0p ...
.text:0026B012
.text:0026B012 var_8 = dword ptr -8
.text:0026B012 var_1 = byte ptr -1
.text:0026B012 arg_0 = dword ptr 8
.text:0026B012 arg_4 = dword ptr 0Ch
.text:0026B012 arg_8 = dword ptr 10h
.text:0026B012
.text:0026B012 push ebp
.text:0026B013 mov ebp, esp
.text:0026B015 push ecx
.text:0026B016 push ecx
.text:0026B017 mov eax, [ebp+arg_4]
.text:0026B01A mov dl, [eax+4]
.text:0026B01D push ebx
.text:0026B01E push esi
.text:0026B01F mov si, [eax+2]
.text:0026B023 movzx ecx, dl
.text:0026B026 push edi
.text:0026B027 mov edi, [ebp+arg_0]
.text:0026B02A mov ecx, [edi+ecx*4+60h]
.text:0026B02E mov [ebp+var_8], ecx
.text:0026B031 mov cl, [eax+5]
.text:0026B034 mov byte ptr [ebp+arg_4+3], cl
.text:0026B037 mov ecx, [ebp+arg_8]
.text:0026B03A add [edi+30h], ecx
.text:0026B03D test ecx, ecx
.text:0026B03F mov [ebp+var_1], dl
.text:0026B042 jz loc_26B0FB
.text:0026B048 jmp short loc_26B050
.text:0026B04A ; ---------------------------------------------------------------------------
.text:0026B04A
.text:0026B04A loc_26B04A: ; CODE XREF: sub_26B012+E3j
.text:0026B04A mov dl, [ebp+var_1]
.text:0026B04D mov ecx, [ebp+arg_8]
.text:0026B050
.text:0026B050 loc_26B050: ; CODE XREF: sub_26B012+36j
.text:0026B050 cmp ecx, 0FF00h
.text:0026B056 jbe short loc_26B06E
.text:0026B058 cmp ecx, 0FF01h
.text:0026B05E mov ebx, 0FF00h
.text:0026B063 jnz short loc_26B068
.text:0026B065 add ebx, 0FFFFFFF0h
.text:0026B068
.text:0026B068 loc_26B068: ; CODE XREF: sub_26B012+51j
.text:0026B068 mov byte ptr [eax+5], 0
.text:0026B06C jmp short loc_26B076
.text:0026B06E ; ---------------------------------------------------------------------------
.text:0026B06E
.text:0026B06E loc_26B06E: ; CODE XREF: sub_26B012+44j
.text:0026B06E mov ebx, ecx
.text:0026B070 mov cl, byte ptr [ebp+arg_4+3]
.text:0026B073 mov [eax+5], cl
.text:0026B076
.text:0026B076 loc_26B076: ; CODE XREF: sub_26B012+5Aj
.text:0026B076 and byte ptr [eax+5], 0F8h
.text:0026B07A cmp bx, 80h
.text:0026B07F mov [eax+2], si
.text:0026B083 mov [eax+4], dl
.text:0026B086 mov [eax], bx
.text:0026B089 jnb short loc_26B0B6
.text:0026B08B movzx ecx, bx
.text:0026B08E lea esi, [edi+ecx*8+180h]
.text:0026B095 cmp [esi], esi
.text:0026B097 jnz short loc_26B0CC
.text:0026B099 mov edx, ecx
.text:0026B09B shr edx, 3
.text:0026B09E lea edx, [edx+edi+160h]
.text:0026B0A5 mov [ebp+arg_0], edx
.text:0026B0A8 and ecx, 7
.text:0026B0AB mov dl, 1
.text:0026B0AD shl dl, cl
.text:0026B0AF mov ecx, [ebp+arg_0]
.text:0026B0B2 or [ecx], dl
.text:0026B0B4 jmp short loc_26B0CC
.text:0026B0B6 ; ---------------------------------------------------------------------------
.text:0026B0B6
.text:0026B0B6 loc_26B0B6: ; CODE XREF: sub_26B012+77j
.text:0026B0B6 lea ecx, [edi+180h]
.text:0026B0BC mov esi, [ecx]
.text:0026B0BE jmp short loc_26B0C8
.text:0026B0C0 ; ---------------------------------------------------------------------------
.text:0026B0C0
.text:0026B0C0 loc_26B0C0: ; CODE XREF: sub_26B012+B8j
.text:0026B0C0 cmp bx, [esi-8]
.text:0026B0C4 jbe short loc_26B0CC
.text:0026B0C6 mov esi, [esi]
.text:0026B0C8
.text:0026B0C8 loc_26B0C8: ; CODE XREF: sub_26B012+ACj
.text:0026B0C8 cmp ecx, esi
.text:0026B0CA jnz short loc_26B0C0
.text:0026B0CC
.text:0026B0CC loc_26B0CC: ; CODE XREF: sub_26B012+85j
.text:0026B0CC ; sub_26B012+A2j ...
.text:0026B0CC mov edx, [esi+4]
.text:0026B0CF lea ecx, [eax+8]
.text:0026B0D2 mov [ecx], esi
.text:0026B0D4 mov [eax+0Ch], edx
.text:0026B0D7 mov [edx], ecx
.text:0026B0D9 mov [esi+4], ecx
.text:0026B0DC movzx ecx, bx
.text:0026B0DF sub [ebp+arg_8], ecx
.text:0026B0E2 shl ecx, 4
.text:0026B0E5 add eax, ecx
.text:0026B0E7 mov ecx, [ebp+var_8]
.text:0026B0EA cmp eax, [ecx+2Ch]
.text:0026B0ED mov esi, ebx
.text:0026B0EF jnb short loc_26B105
.text:0026B0F1 cmp [ebp+arg_8], 0
.text:0026B0F5 jnz loc_26B04A
.text:0026B0FB
.text:0026B0FB loc_26B0FB: ; CODE XREF: sub_26B012+30j
.text:0026B0FB test byte ptr [ebp+arg_4+3], 10h
.text:0026B0FF jnz short loc_26B105
.text:0026B101 mov [eax+2], si
.text:0026B105
.text:0026B105 loc_26B105: ; CODE XREF: sub_26B012+DDj
.text:0026B105 ; sub_26B012+EDj
.text:0026B105 pop edi
.text:0026B106 pop esi
.text:0026B107 pop ebx
.text:0026B108 leave
.text:0026B109 retn 0Ch
.text:0026B109 sub_26B012 endp
.text:0026B109
.text:0026B10C ; [0000001C BYTES: COLLAPSED FUNCTION RtlpGetExtraStuffPointer(x). PRESS KEYPAD "+" TO EXPAND]
.text:0026B128 ; [0000008F BYTES: COLLAPSED FUNCTION RtlDestroyHeap(x). PRESS KEYPAD "+" TO EXPAND]
.text:0026B1B7
.text:0026B1B7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026B1B7
.text:0026B1B7 ; Attributes: bp-based frame
.text:0026B1B7
.text:0026B1B7 sub_26B1B7 proc near ; CODE XREF: sub_26C8C6+4F3p
.text:0026B1B7
.text:0026B1B7 var_C = dword ptr -0Ch
.text:0026B1B7 var_8 = dword ptr -8
.text:0026B1B7 var_2 = byte ptr -2
.text:0026B1B7 arg_0 = dword ptr 8
.text:0026B1B7 arg_4 = dword ptr 0Ch
.text:0026B1B7 arg_8 = dword ptr 10h
.text:0026B1B7 arg_C = dword ptr 14h
.text:0026B1B7 arg_10 = dword ptr 18h
.text:0026B1B7
.text:0026B1B7 push ebp
.text:0026B1B8 mov ebp, esp
.text:0026B1BA sub esp, 0Ch
.text:0026B1BD mov edx, [ebp+arg_10]
.text:0026B1C0 push ebx
.text:0026B1C1 mov ebx, [ebp+arg_0]
.text:0026B1C4 cmp edx, [ebx+1Ch]
.text:0026B1C7 jbe short loc_26B1D0
.text:0026B1C9 xor al, al
.text:0026B1CB jmp loc_26B5B0
.text:0026B1D0 ; ---------------------------------------------------------------------------
.text:0026B1D0
.text:0026B1D0 loc_26B1D0: ; CODE XREF: sub_26B1B7+10j
.text:0026B1D0 push esi
.text:0026B1D1 push edi
.text:0026B1D2 mov edi, [ebp+arg_8]
.text:0026B1D5 movzx eax, word ptr [edi]
.text:0026B1D8 mov cl, [edi+5]
.text:0026B1DB mov esi, eax
.text:0026B1DD shl esi, 4
.text:0026B1E0 add esi, edi
.text:0026B1E2 test cl, 10h
.text:0026B1E5 mov [ebp+var_2], cl
.text:0026B1E8 jz short loc_26B251
.text:0026B1EA sub edx, eax
.text:0026B1EC push esi
.text:0026B1ED shl edx, 4
.text:0026B1F0 lea eax, [ebp+var_8]
.text:0026B1F3 push eax
.text:0026B1F4 movzx eax, byte ptr [edi+4]
.text:0026B1F8 add edx, 0FFFh
.text:0026B1FE and edx, 0FFFFF000h
.text:0026B204 mov [ebp+var_8], edx
.text:0026B207 push dword ptr [ebx+eax*4+60h]
.text:0026B20B push ebx
.text:0026B20C call _RtlpFindAndCommitPages@16 ; RtlpFindAndCommitPages(x,x,x,x)
.text:0026B211 test eax, eax
.text:0026B213 jz short loc_26B268
.text:0026B215 shr [ebp+var_8], 4
.text:0026B219 push 0
.text:0026B21B lea ecx, [ebp+var_8]
.text:0026B21E push ecx
.text:0026B21F push eax
.text:0026B220 push ebx
.text:0026B221 call _RtlpCoalesceFreeBlocks@16 ; RtlpCoalesceFreeBlocks(x,x,x,x)
.text:0026B226 movzx edx, word ptr [edi]
.text:0026B229 mov esi, [ebp+var_8]
.text:0026B22C mov cl, [eax+5]
.text:0026B22F add edx, esi
.text:0026B231 cmp edx, [ebp+arg_10]
.text:0026B234 jnb short loc_26B246
.text:0026B236 push esi
.text:0026B237 push eax
.text:0026B238 push ebx
.text:0026B239 call sub_26B012
.text:0026B23E mov eax, [ebp+var_8]
.text:0026B241 add [ebx+30h], eax
.text:0026B244 jmp short loc_26B268
.text:0026B246 ; ---------------------------------------------------------------------------
.text:0026B246
.text:0026B246 loc_26B246: ; CODE XREF: sub_26B1B7+7Dj
.text:0026B246 mov [ebp+var_8], edx
.text:0026B249 mov edx, [ebp+arg_10]
.text:0026B24C jmp loc_26B2E1
.text:0026B251 ; ---------------------------------------------------------------------------
.text:0026B251
.text:0026B251 loc_26B251: ; CODE XREF: sub_26B1B7+31j
.text:0026B251 mov cl, [esi+5]
.text:0026B254 test cl, 1
.text:0026B257 mov byte ptr [ebp+arg_0+3], cl
.text:0026B25A jnz short loc_26B268
.text:0026B25C movzx ecx, word ptr [esi]
.text:0026B25F add ecx, eax
.text:0026B261 cmp ecx, edx
.text:0026B263 mov [ebp+var_8], ecx
.text:0026B266 jnb short loc_26B26F
.text:0026B268
.text:0026B268 loc_26B268: ; CODE XREF: sub_26B1B7+5Cj
.text:0026B268 ; sub_26B1B7+8Dj ...
.text:0026B268 xor al, al
.text:0026B26A jmp loc_26B5AE
.text:0026B26F ; ---------------------------------------------------------------------------
.text:0026B26F
.text:0026B26F loc_26B26F: ; CODE XREF: sub_26B1B7+AFj
.text:0026B26F mov eax, [esi+8]
.text:0026B272 mov ecx, [esi+0Ch]
.text:0026B275 cmp eax, ecx
.text:0026B277 mov [ecx], eax
.text:0026B279 mov [eax+4], ecx
.text:0026B27C jnz short loc_26B2A7
.text:0026B27E mov ax, [esi]
.text:0026B281 cmp ax, 80h
.text:0026B285 jnb short loc_26B2A7
.text:0026B287 movzx ecx, ax
.text:0026B28A mov eax, ecx
.text:0026B28C shr eax, 3
.text:0026B28F lea eax, [eax+ebx+160h]
.text:0026B296 mov [ebp+var_C], eax
.text:0026B299 and ecx, 7
.text:0026B29C mov al, 1
.text:0026B29E shl al, cl
.text:0026B2A0 mov cl, al
.text:0026B2A2 mov eax, [ebp+var_C]
.text:0026B2A5 xor [eax], cl
.text:0026B2A7
.text:0026B2A7 loc_26B2A7: ; CODE XREF: sub_26B1B7+C5j
.text:0026B2A7 ; sub_26B1B7+CEj
.text:0026B2A7 mov cl, [esi+5]
.text:0026B2AA test cl, 4
.text:0026B2AD jz short loc_26B2D8
.text:0026B2AF movzx eax, word ptr [esi]
.text:0026B2B2 shl eax, 4
.text:0026B2B5 sub eax, 18h
.text:0026B2B8 test cl, 2
.text:0026B2BB jz short loc_26B2C5
.text:0026B2BD cmp eax, 4
.text:0026B2C0 jbe short loc_26B2C5
.text:0026B2C2 sub eax, 4
.text:0026B2C5
.text:0026B2C5 loc_26B2C5: ; CODE XREF: sub_26B1B7+104j
.text:0026B2C5 ; sub_26B1B7+109j
.text:0026B2C5 push 0FEEEFEEEh
.text:0026B2CA push eax
.text:0026B2CB lea eax, [esi+18h]
.text:0026B2CE push eax
.text:0026B2CF call ds:dword_485F24
.text:0026B2D5 mov edx, [ebp+arg_10]
.text:0026B2D8
.text:0026B2D8 loc_26B2D8: ; CODE XREF: sub_26B1B7+F6j
.text:0026B2D8 movzx eax, word ptr [esi]
.text:0026B2DB sub [ebx+30h], eax
.text:0026B2DE mov cl, byte ptr [ebp+arg_0+3]
.text:0026B2E1
.text:0026B2E1 loc_26B2E1: ; CODE XREF: sub_26B1B7+95j
.text:0026B2E1 movzx eax, word ptr [edi]
.text:0026B2E4 movzx esi, byte ptr [edi+6]
.text:0026B2E8 sub [ebp+var_8], edx
.text:0026B2EB shl eax, 4
.text:0026B2EE sub eax, esi
.text:0026B2F0 cmp [ebp+var_8], 2
.text:0026B2F4 mov [ebp+var_C], eax
.text:0026B2F7 ja short loc_26B300
.text:0026B2F9 add edx, [ebp+var_8]
.text:0026B2FC and [ebp+var_8], 0
.text:0026B300
.text:0026B300 loc_26B300: ; CODE XREF: sub_26B1B7+140j
.text:0026B300 test [ebp+var_2], 2
.text:0026B304 jz short loc_26B320
.text:0026B306 movzx eax, word ptr [edi]
.text:0026B309 shl eax, 4
.text:0026B30C lea esi, [eax+edi-10h]
.text:0026B310 mov eax, edx
.text:0026B312 shl eax, 4
.text:0026B315 lea edi, [eax+edi-10h]
.text:0026B319 movsd
.text:0026B31A movsd
.text:0026B31B movsd
.text:0026B31C movsd
.text:0026B31D mov edi, [ebp+arg_8]
.text:0026B320
.text:0026B320 loc_26B320: ; CODE XREF: sub_26B1B7+14Dj
.text:0026B320 mov al, dl
.text:0026B322 shl al, 4
.text:0026B325 sub al, byte ptr [ebp+arg_C]
.text:0026B328 cmp [ebp+var_8], 0
.text:0026B32C mov [edi], dx
.text:0026B32F mov [edi+6], al
.text:0026B332 jnz short loc_26B361
.text:0026B334 and cl, 10h
.text:0026B337 or [edi+5], cl
.text:0026B33A test cl, cl
.text:0026B33C mov byte ptr [ebp+arg_10+3], cl
.text:0026B33F jnz short loc_26B351
.text:0026B341 movzx eax, dx
.text:0026B344 shl eax, 4
.text:0026B347 mov [eax+edi+2], dx
.text:0026B34C jmp loc_26B56F
.text:0026B351 ; ---------------------------------------------------------------------------
.text:0026B351
.text:0026B351 loc_26B351: ; CODE XREF: sub_26B1B7+188j
.text:0026B351 movzx eax, byte ptr [edi+4]
.text:0026B355 mov eax, [ebx+eax*4+60h]
.text:0026B359 mov [eax+40h], edi
.text:0026B35C jmp loc_26B56F
.text:0026B361 ; ---------------------------------------------------------------------------
.text:0026B361
.text:0026B361 loc_26B361: ; CODE XREF: sub_26B1B7+17Bj
.text:0026B361 mov esi, edx
.text:0026B363 shl esi, 4
.text:0026B366 add esi, edi
.text:0026B368 test cl, 10h
.text:0026B36B mov [esi+2], dx
.text:0026B36F mov al, [edi+4]
.text:0026B372 mov [esi+4], al
.text:0026B375 jz loc_26B400
.text:0026B37B movzx eax, al
.text:0026B37E mov eax, [ebx+eax*4+60h]
.text:0026B382 mov [eax+40h], esi
.text:0026B385 mov [esi+5], cl
.text:0026B388 mov ax, word ptr [ebp+var_8]
.text:0026B38C and cl, 0F8h
.text:0026B38F mov [esi], ax
.text:0026B392 mov [esi+5], cl
.text:0026B395 mov ecx, [ebp+var_8]
.text:0026B398 cmp cx, 80h
.text:0026B39D jnb short loc_26B3CF
.text:0026B39F movzx eax, cx
.text:0026B3A2 lea edx, [ebx+eax*8+180h]
.text:0026B3A9 cmp [edx], edx
.text:0026B3AB jnz short loc_26B3E5
.text:0026B3AD movzx ecx, word ptr [esi]
.text:0026B3B0 mov eax, ecx
.text:0026B3B2 shr eax, 3
.text:0026B3B5 lea eax, [eax+ebx+160h]
.text:0026B3BC mov [ebp+arg_0], eax
.text:0026B3BF and ecx, 7
.text:0026B3C2 mov al, 1
.text:0026B3C4 shl al, cl
.text:0026B3C6 mov cl, al
.text:0026B3C8 mov eax, [ebp+arg_0]
.text:0026B3CB or [eax], cl
.text:0026B3CD jmp short loc_26B3E5
.text:0026B3CF ; ---------------------------------------------------------------------------
.text:0026B3CF
.text:0026B3CF loc_26B3CF: ; CODE XREF: sub_26B1B7+1E6j
.text:0026B3CF lea eax, [ebx+180h]
.text:0026B3D5 mov edx, [eax]
.text:0026B3D7 jmp short loc_26B3E1
.text:0026B3D9 ; ---------------------------------------------------------------------------
.text:0026B3D9
.text:0026B3D9 loc_26B3D9: ; CODE XREF: sub_26B1B7+22Cj
.text:0026B3D9 cmp cx, [edx-8]
.text:0026B3DD jbe short loc_26B3E5
.text:0026B3DF mov edx, [edx]
.text:0026B3E1
.text:0026B3E1 loc_26B3E1: ; CODE XREF: sub_26B1B7+220j
.text:0026B3E1 cmp eax, edx
.text:0026B3E3 jnz short loc_26B3D9
.text:0026B3E5
.text:0026B3E5 loc_26B3E5: ; CODE XREF: sub_26B1B7+1F4j
.text:0026B3E5 ; sub_26B1B7+216j ...
.text:0026B3E5 mov ecx, [edx+4]
.text:0026B3E8 lea eax, [esi+8]
.text:0026B3EB mov [eax], edx
.text:0026B3ED mov [esi+0Ch], ecx
.text:0026B3F0 mov [ecx], eax
.text:0026B3F2 mov [edx+4], eax
.text:0026B3F5 mov eax, [ebp+var_8]
.text:0026B3F8 add [ebx+30h], eax
.text:0026B3FB jmp loc_26B56F
.text:0026B400 ; ---------------------------------------------------------------------------
.text:0026B400
.text:0026B400 loc_26B400: ; CODE XREF: sub_26B1B7+1BEj
.text:0026B400 mov edi, [ebp+var_8]
.text:0026B403 shl edi, 4
.text:0026B406 add edi, esi
.text:0026B408 mov al, [edi+5]
.text:0026B40B test al, 1
.text:0026B40D jz short loc_26B485
.text:0026B40F and cl, 0EFh
.text:0026B412 mov [esi+5], cl
.text:0026B415 mov ax, word ptr [ebp+var_8]
.text:0026B419 mov [esi], ax
.text:0026B41C mov eax, [ebp+var_8]
.text:0026B41F mov ecx, eax
.text:0026B421 shl ecx, 4
.text:0026B424 mov [ecx+esi+2], ax
.text:0026B429 and byte ptr [esi+5], 0F8h
.text:0026B42D mov ecx, [ebp+var_8]
.text:0026B430 cmp cx, 80h
.text:0026B435 jnb short loc_26B466
.text:0026B437
.text:0026B437 loc_26B437: ; CODE XREF: sub_26B1B7+379j
.text:0026B437 movzx eax, cx
.text:0026B43A lea edi, [ebx+eax*8+180h]
.text:0026B441 cmp [edi], edi
.text:0026B443 jnz loc_26B54C
.text:0026B449 movzx ecx, word ptr [esi]
.text:0026B44C mov eax, ecx
.text:0026B44E and ecx, 7
.text:0026B451 mov dl, 1
.text:0026B453 shr eax, 3
.text:0026B456 shl dl, cl
.text:0026B458 lea eax, [eax+ebx+160h]
.text:0026B45F or [eax], dl
.text:0026B461 jmp loc_26B54C
.text:0026B466 ; ---------------------------------------------------------------------------
.text:0026B466
.text:0026B466 loc_26B466: ; CODE XREF: sub_26B1B7+27Ej
.text:0026B466 lea eax, [ebx+180h]
.text:0026B46C mov edi, [eax]
.text:0026B46E jmp short loc_26B47C
.text:0026B470 ; ---------------------------------------------------------------------------
.text:0026B470
.text:0026B470 loc_26B470: ; CODE XREF: sub_26B1B7+2C7j
.text:0026B470 cmp cx, [edi-8]
.text:0026B474 jbe loc_26B54C
.text:0026B47A mov edi, [edi]
.text:0026B47C
.text:0026B47C loc_26B47C: ; CODE XREF: sub_26B1B7+2B7j
.text:0026B47C cmp eax, edi
.text:0026B47E jnz short loc_26B470
.text:0026B480 jmp loc_26B54C
.text:0026B485 ; ---------------------------------------------------------------------------
.text:0026B485
.text:0026B485 loc_26B485: ; CODE XREF: sub_26B1B7+256j
.text:0026B485 mov ecx, [edi+0Ch]
.text:0026B488 mov byte ptr [ebp+arg_0+3], al
.text:0026B48B mov eax, [edi+8]
.text:0026B48E cmp eax, ecx
.text:0026B490 mov [ecx], eax
.text:0026B492 mov [eax+4], ecx
.text:0026B495 jnz short loc_26B4B8
.text:0026B497 mov ax, [edi]
.text:0026B49A cmp ax, 80h
.text:0026B49E jnb short loc_26B4B8
.text:0026B4A0 movzx ecx, ax
.text:0026B4A3 mov eax, ecx
.text:0026B4A5 and ecx, 7
.text:0026B4A8 mov dl, 1
.text:0026B4AA shr eax, 3
.text:0026B4AD shl dl, cl
.text:0026B4AF lea eax, [eax+ebx+160h]
.text:0026B4B6 xor [eax], dl
.text:0026B4B8
.text:0026B4B8 loc_26B4B8: ; CODE XREF: sub_26B1B7+2DEj
.text:0026B4B8 ; sub_26B1B7+2E7j
.text:0026B4B8 mov cl, [edi+5]
.text:0026B4BB test cl, 4
.text:0026B4BE jz short loc_26B4E6
.text:0026B4C0 movzx eax, word ptr [edi]
.text:0026B4C3 shl eax, 4
.text:0026B4C6 sub eax, 18h
.text:0026B4C9 test cl, 2
.text:0026B4CC jz short loc_26B4D6
.text:0026B4CE cmp eax, 4
.text:0026B4D1 jbe short loc_26B4D6
.text:0026B4D3 sub eax, 4
.text:0026B4D6
.text:0026B4D6 loc_26B4D6: ; CODE XREF: sub_26B1B7+315j
.text:0026B4D6 ; sub_26B1B7+31Aj
.text:0026B4D6 push 0FEEEFEEEh
.text:0026B4DB push eax
.text:0026B4DC lea eax, [edi+18h]
.text:0026B4DF push eax
.text:0026B4E0 call ds:dword_485F24
.text:0026B4E6
.text:0026B4E6 loc_26B4E6: ; CODE XREF: sub_26B1B7+307j
.text:0026B4E6 movzx eax, word ptr [edi]
.text:0026B4E9 sub [ebx+30h], eax
.text:0026B4EC movzx eax, word ptr [edi]
.text:0026B4EF add [ebp+var_8], eax
.text:0026B4F2 mov cl, byte ptr [ebp+arg_0+3]
.text:0026B4F5 mov [esi+5], cl
.text:0026B4F8 mov eax, [ebp+var_8]
.text:0026B4FB cmp eax, 0FF00h
.text:0026B500 ja short loc_26B564
.text:0026B502 test cl, 10h
.text:0026B505 mov [esi], ax
.text:0026B508 jnz short loc_26B519
.text:0026B50A mov eax, [ebp+var_8]
.text:0026B50D mov ecx, eax
.text:0026B50F shl ecx, 4
.text:0026B512 mov [ecx+esi+2], ax
.text:0026B517 jmp short loc_26B524
.text:0026B519 ; ---------------------------------------------------------------------------
.text:0026B519
.text:0026B519 loc_26B519: ; CODE XREF: sub_26B1B7+351j
.text:0026B519 movzx eax, byte ptr [esi+4]
.text:0026B51D mov eax, [ebx+eax*4+60h]
.text:0026B521 mov [eax+40h], esi
.text:0026B524
.text:0026B524 loc_26B524: ; CODE XREF: sub_26B1B7+360j
.text:0026B524 and byte ptr [esi+5], 0F8h
.text:0026B528 mov ecx, [ebp+var_8]
.text:0026B52B cmp cx, 80h
.text:0026B530 jb loc_26B437
.text:0026B536 lea eax, [ebx+180h]
.text:0026B53C mov edi, [eax]
.text:0026B53E jmp short loc_26B548
.text:0026B540 ; ---------------------------------------------------------------------------
.text:0026B540
.text:0026B540 loc_26B540: ; CODE XREF: sub_26B1B7+393j
.text:0026B540 cmp cx, [edi-8]
.text:0026B544 jbe short loc_26B54C
.text:0026B546 mov edi, [edi]
.text:0026B548
.text:0026B548 loc_26B548: ; CODE XREF: sub_26B1B7+387j
.text:0026B548 cmp eax, edi
.text:0026B54A jnz short loc_26B540
.text:0026B54C
.text:0026B54C loc_26B54C: ; CODE XREF: sub_26B1B7+28Cj
.text:0026B54C ; sub_26B1B7+2AAj ...
.text:0026B54C mov ecx, [edi+4]
.text:0026B54F lea eax, [esi+8]
.text:0026B552 mov [eax], edi
.text:0026B554 mov [esi+0Ch], ecx
.text:0026B557 mov [ecx], eax
.text:0026B559 mov [edi+4], eax
.text:0026B55C mov eax, [ebp+var_8]
.text:0026B55F add [ebx+30h], eax
.text:0026B562 jmp short loc_26B56C
.text:0026B564 ; ---------------------------------------------------------------------------
.text:0026B564
.text:0026B564 loc_26B564: ; CODE XREF: sub_26B1B7+349j
.text:0026B564 push eax
.text:0026B565 push esi
.text:0026B566 push ebx
.text:0026B567 call sub_26B012
.text:0026B56C
.text:0026B56C loc_26B56C: ; CODE XREF: sub_26B1B7+3ABj
.text:0026B56C mov edi, [ebp+arg_8]
.text:0026B56F
.text:0026B56F loc_26B56F: ; CODE XREF: sub_26B1B7+195j
.text:0026B56F ; sub_26B1B7+1A5j ...
.text:0026B56F mov edx, [ebp+arg_4]
.text:0026B572 test dl, 8
.text:0026B575 jz short loc_26B59A
.text:0026B577 mov esi, [ebp+var_C]
.text:0026B57A mov ecx, [ebp+arg_C]
.text:0026B57D cmp ecx, esi
.text:0026B57F jbe short loc_26B59A
.text:0026B581 sub ecx, esi
.text:0026B583 lea edi, [esi+edi+10h]
.text:0026B587 mov esi, ecx
.text:0026B589 shr ecx, 2
.text:0026B58C xor eax, eax
.text:0026B58E rep stosd
.text:0026B590 mov ecx, esi
.text:0026B592 and ecx, 3
.text:0026B595 rep stosb
.text:0026B597 mov edi, [ebp+arg_8]
.text:0026B59A
.text:0026B59A loc_26B59A: ; CODE XREF: sub_26B1B7+3BEj
.text:0026B59A ; sub_26B1B7+3C8j
.text:0026B59A mov eax, edx
.text:0026B59C shr eax, 4
.text:0026B59F xor al, [edi+5]
.text:0026B5A2 shr edx, 4
.text:0026B5A5 and al, 1Fh
.text:0026B5A7 xor al, dl
.text:0026B5A9 mov [edi+5], al
.text:0026B5AC mov al, 1
.text:0026B5AE
.text:0026B5AE loc_26B5AE: ; CODE XREF: sub_26B1B7+B3j
.text:0026B5AE pop edi
.text:0026B5AF pop esi
.text:0026B5B0
.text:0026B5B0 loc_26B5B0: ; CODE XREF: sub_26B1B7+14j
.text:0026B5B0 pop ebx
.text:0026B5B1 leave
.text:0026B5B2 retn 14h
.text:0026B5B2 sub_26B1B7 endp
.text:0026B5B2
.text:0026B5B5 ; [0000002F BYTES: COLLAPSED FUNCTION RtlSizeHeap(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026B5E4 ; [0000011E BYTES: COLLAPSED FUNCTION RtlpInitializeHeapSegment(x,x,x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026B702
.text:0026B702 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026B702
.text:0026B702 ; Attributes: bp-based frame
.text:0026B702
.text:0026B702 sub_26B702 proc near ; CODE XREF: sub_26BF57+253p
.text:0026B702
.text:0026B702 var_10 = dword ptr -10h
.text:0026B702 var_C = dword ptr -0Ch
.text:0026B702 var_8 = dword ptr -8
.text:0026B702 var_4 = dword ptr -4
.text:0026B702 arg_0 = dword ptr 8
.text:0026B702 arg_4 = dword ptr 0Ch
.text:0026B702
.text:0026B702 push ebp
.text:0026B703 mov ebp, esp
.text:0026B705 sub esp, 10h
.text:0026B708 push ebx
.text:0026B709 mov ebx, [ebp+arg_4]
.text:0026B70C push esi
.text:0026B70D lea esi, [ebx+0FFFh]
.text:0026B713 shr esi, 0Ch
.text:0026B716 mov eax, esi
.text:0026B718 shl eax, 0Ch
.text:0026B71B push edi
.text:0026B71C mov edi, [ebp+arg_0]
.text:0026B71F mov [ebp+var_8], eax
.text:0026B722 mov byte ptr [ebp+var_C], 40h
.text:0026B726 mov byte ptr [ebp+arg_4+3], 0
.text:0026B72A
.text:0026B72A loc_26B72A: ; CODE XREF: sub_26B702+6Ej
.text:0026B72A movzx ecx, byte ptr [ebp+arg_4+3]
.text:0026B72E mov ecx, [edi+ecx*4+60h]
.text:0026B732 test ecx, ecx
.text:0026B734 mov [ebp+var_4], ecx
.text:0026B737 jz short loc_26B75D
.text:0026B739 cmp esi, [ecx+30h]
.text:0026B73C ja short loc_26B769
.text:0026B73E cmp eax, [ecx+1Ch]
.text:0026B741 ja short loc_26B769
.text:0026B743 push 0
.text:0026B745 lea eax, [ebp+var_8]
.text:0026B748 push eax
.text:0026B749 push ecx
.text:0026B74A push edi
.text:0026B74B call _RtlpFindAndCommitPages@16 ; RtlpFindAndCommitPages(x,x,x,x)
.text:0026B750 test eax, eax
.text:0026B752 jnz loc_26B84C
.text:0026B758 mov eax, [ebp+var_8]
.text:0026B75B jmp short loc_26B769
.text:0026B75D ; ---------------------------------------------------------------------------
.text:0026B75D
.text:0026B75D loc_26B75D: ; CODE XREF: sub_26B702+35j
.text:0026B75D cmp byte ptr [ebp+var_C], 40h
.text:0026B761 jnz short loc_26B769
.text:0026B763 mov cl, byte ptr [ebp+arg_4+3]
.text:0026B766 mov byte ptr [ebp+var_C], cl
.text:0026B769
.text:0026B769 loc_26B769: ; CODE XREF: sub_26B702+3Aj
.text:0026B769 ; sub_26B702+3Fj ...
.text:0026B769 inc byte ptr [ebp+arg_4+3]
.text:0026B76C cmp byte ptr [ebp+arg_4+3], 40h
.text:0026B770 jb short loc_26B72A
.text:0026B772 cmp byte ptr [ebp+var_C], 40h
.text:0026B776 jz loc_26B880
.text:0026B77C test byte ptr [edi+14h], 2
.text:0026B780 jz loc_26B880
.text:0026B786 mov ecx, [edi+20h]
.text:0026B789 and [ebp+var_4], 0
.text:0026B78D lea eax, [ebx+1000h]
.text:0026B793 cmp eax, ecx
.text:0026B795 mov [ebp+arg_4], eax
.text:0026B798 mov [ebp+arg_0], eax
.text:0026B79B ja short loc_26B7A0
.text:0026B79D mov [ebp+arg_0], ecx
.text:0026B7A0
.text:0026B7A0 loc_26B7A0: ; CODE XREF: sub_26B702+99j
.text:0026B7A0 mov esi, ds:dword_485E70
.text:0026B7A6 push 4
.text:0026B7A8 mov ebx, 2000h
.text:0026B7AD push ebx
.text:0026B7AE lea eax, [ebp+arg_0]
.text:0026B7B1 push eax
.text:0026B7B2 push 0
.text:0026B7B4 lea eax, [ebp+var_4]
.text:0026B7B7 push eax
.text:0026B7B8 call esi
.text:0026B7BA test eax, eax
.text:0026B7BC jge short loc_26B7EC
.text:0026B7BE
.text:0026B7BE loc_26B7BE: ; CODE XREF: sub_26B702+E0j
.text:0026B7BE mov ecx, [ebp+arg_4]
.text:0026B7C1 cmp [ebp+arg_0], ecx
.text:0026B7C4 jz short loc_26B7E4
.text:0026B7C6 shr [ebp+arg_0], 1
.text:0026B7C9 cmp [ebp+arg_0], ecx
.text:0026B7CC jnb short loc_26B7D1
.text:0026B7CE mov [ebp+arg_0], ecx
.text:0026B7D1
.text:0026B7D1 loc_26B7D1: ; CODE XREF: sub_26B702+CAj
.text:0026B7D1 push 4
.text:0026B7D3 push ebx
.text:0026B7D4 lea eax, [ebp+arg_0]
.text:0026B7D7 push eax
.text:0026B7D8 push 0
.text:0026B7DA lea eax, [ebp+var_4]
.text:0026B7DD push eax
.text:0026B7DE call esi
.text:0026B7E0 test eax, eax
.text:0026B7E2 jl short loc_26B7BE
.text:0026B7E4
.text:0026B7E4 loc_26B7E4: ; CODE XREF: sub_26B702+C2j
.text:0026B7E4 test eax, eax
.text:0026B7E6 jl loc_26B880
.text:0026B7EC
.text:0026B7EC loc_26B7EC: ; CODE XREF: sub_26B702+BAj
.text:0026B7EC mov eax, [ebp+arg_0]
.text:0026B7EF add [edi+20h], eax
.text:0026B7F2 mov ecx, [ebp+arg_4]
.text:0026B7F5 mov eax, [edi+24h]
.text:0026B7F8 cmp ecx, eax
.text:0026B7FA mov [ebp+var_10], ecx
.text:0026B7FD ja short loc_26B802
.text:0026B7FF mov [ebp+var_10], eax
.text:0026B802
.text:0026B802 loc_26B802: ; CODE XREF: sub_26B702+FBj
.text:0026B802 push 4
.text:0026B804 push 1000h
.text:0026B809 lea eax, [ebp+var_10]
.text:0026B80C push eax
.text:0026B80D push 0
.text:0026B80F lea eax, [ebp+var_4]
.text:0026B812 push eax
.text:0026B813 call esi
.text:0026B815 mov esi, eax
.text:0026B817 test esi, esi
.text:0026B819 jl short loc_26B86D
.text:0026B81B mov eax, [ebp+var_4]
.text:0026B81E mov ecx, [ebp+arg_0]
.text:0026B821 add ecx, eax
.text:0026B823 push ecx
.text:0026B824 mov ecx, [ebp+var_10]
.text:0026B827 add ecx, eax
.text:0026B829 push ecx
.text:0026B82A push eax
.text:0026B82B push 0
.text:0026B82D push [ebp+var_C]
.text:0026B830 push eax
.text:0026B831 push edi
.text:0026B832 call _RtlpInitializeHeapSegment@28 ; RtlpInitializeHeapSegment(x,x,x,x,x,x,x)
.text:0026B837 test al, al
.text:0026B839 jnz short loc_26B840
.text:0026B83B mov esi, 0C0000017h
.text:0026B840
.text:0026B840 loc_26B840: ; CODE XREF: sub_26B702+137j
.text:0026B840 test esi, esi
.text:0026B842 jl short loc_26B86D
.text:0026B844 mov eax, [ebp+var_4]
.text:0026B847 mov eax, [eax+28h]
.text:0026B84A jmp short loc_26B882
.text:0026B84C ; ---------------------------------------------------------------------------
.text:0026B84C
.text:0026B84C loc_26B84C: ; CODE XREF: sub_26B702+50j
.text:0026B84C shr [ebp+var_8], 4
.text:0026B850 push 0
.text:0026B852 lea ecx, [ebp+var_8]
.text:0026B855 push ecx
.text:0026B856 push eax
.text:0026B857 push edi
.text:0026B858 call _RtlpCoalesceFreeBlocks@16 ; RtlpCoalesceFreeBlocks(x,x,x,x)
.text:0026B85D push [ebp+var_8]
.text:0026B860 mov esi, eax
.text:0026B862 push esi
.text:0026B863 push edi
.text:0026B864 call sub_26B012
.text:0026B869 mov eax, esi
.text:0026B86B jmp short loc_26B882
.text:0026B86D ; ---------------------------------------------------------------------------
.text:0026B86D
.text:0026B86D loc_26B86D: ; CODE XREF: sub_26B702+117j
.text:0026B86D ; sub_26B702+140j
.text:0026B86D push 8000h
.text:0026B872 lea eax, [ebp+arg_0]
.text:0026B875 push eax
.text:0026B876 lea eax, [ebp+var_4]
.text:0026B879 push eax
.text:0026B87A call ds:dword_485E74
.text:0026B880
.text:0026B880 loc_26B880: ; CODE XREF: sub_26B702+74j
.text:0026B880 ; sub_26B702+7Ej ...
.text:0026B880 xor eax, eax
.text:0026B882
.text:0026B882 loc_26B882: ; CODE XREF: sub_26B702+148j
.text:0026B882 ; sub_26B702+169j
.text:0026B882 pop edi
.text:0026B883 pop esi
.text:0026B884 pop ebx
.text:0026B885 leave
.text:0026B886 retn 8
.text:0026B886 sub_26B702 endp
.text:0026B886
.text:0026B889 ; [000002AA BYTES: COLLAPSED FUNCTION RtlpDeCommitFreeBlock(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026BB33
.text:0026BB33 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026BB33
.text:0026BB33
.text:0026BB33 sub_26BB33 proc near ; CODE XREF: sub_269696+49p
.text:0026BB33 ; HeapCreate(x,x,x)+36p
.text:0026BB33 push 68h
.text:0026BB35 push offset dword_4CE950
.text:0026BB3A call __SEH_prolog
.text:0026BB3F xor esi, esi
.text:0026BB41 mov [ebp-1Ch], esi
.text:0026BB44 xor ebx, ebx
.text:0026BB46 push 0Ch
.text:0026BB48 pop ecx
.text:0026BB49 xor eax, eax
.text:0026BB4B lea edi, [ebp-78h]
.text:0026BB4E rep stosd
.text:0026BB50 mov eax, [ebp+1Ch]
.text:0026BB53 cmp eax, esi
.text:0026BB55 jz short loc_26BB96
.text:0026BB57 mov [ebp-4], esi
.text:0026BB5A cmp dword ptr [eax], 30h
.text:0026BB5D jnz short loc_26BB6E
.text:0026BB5F push 30h
.text:0026BB61 push eax
.text:0026BB62 lea eax, [ebp-78h]
.text:0026BB65 push eax
.text:0026BB66 call unknown_libname_80 ; XBOX Flirt v2.00 Final.
.text:0026BB6B add esp, 0Ch
.text:0026BB6E
.text:0026BB6E loc_26BB6E: ; CODE XREF: sub_26BB33+2Aj
.text:0026BB6E or dword ptr [ebp-4], 0FFFFFFFFh
.text:0026BB72 jmp short loc_26BB8E
.text:0026BB74 ; ---------------------------------------------------------------------------
.text:0026BB74 mov eax, [ebp-14h]
.text:0026BB77 mov eax, [eax]
.text:0026BB79 mov eax, [eax]
.text:0026BB7B mov [ebp-2Ch], eax
.text:0026BB7E xor eax, eax
.text:0026BB80 inc eax
.text:0026BB81 retn
.text:0026BB82 ; ---------------------------------------------------------------------------
.text:0026BB82 mov esp, [ebp-18h]
.text:0026BB85 mov ebx, [ebp-2Ch]
.text:0026BB88 or dword ptr [ebp-4], 0FFFFFFFFh
.text:0026BB8C xor esi, esi
.text:0026BB8E
.text:0026BB8E loc_26BB8E: ; CODE XREF: sub_26BB33+3Fj
.text:0026BB8E cmp ebx, esi
.text:0026BB90 jl loc_26BEDE
.text:0026BB96
.text:0026BB96 loc_26BB96: ; CODE XREF: sub_26BB33+22j
.text:0026BB96 test byte_5E7352, 20h
.text:0026BB9D jz short loc_26BBA3
.text:0026BB9F or byte ptr [ebp+8], 80h
.text:0026BBA3
.text:0026BBA3 loc_26BBA3: ; CODE XREF: sub_26BB33+6Aj
.text:0026BBA3 cmp [ebp-74h], esi
.text:0026BBA6 jnz short loc_26BBB0
.text:0026BBA8 mov eax, dword_56E270
.text:0026BBAD mov [ebp-74h], eax
.text:0026BBB0
.text:0026BBB0 loc_26BBB0: ; CODE XREF: sub_26BB33+73j
.text:0026BBB0 cmp [ebp-70h], esi
.text:0026BBB3 jnz short loc_26BBBD
.text:0026BBB5 mov eax, dword_56E274
.text:0026BBBA mov [ebp-70h], eax
.text:0026BBBD
.text:0026BBBD loc_26BBBD: ; CODE XREF: sub_26BB33+80j
.text:0026BBBD cmp [ebp-6Ch], esi
.text:0026BBC0 jnz short loc_26BBCA
.text:0026BBC2 mov eax, dword_56E27C
.text:0026BBC7 mov [ebp-6Ch], eax
.text:0026BBCA
.text:0026BBCA loc_26BBCA: ; CODE XREF: sub_26BB33+8Dj
.text:0026BBCA cmp [ebp-68h], esi
.text:0026BBCD jnz short loc_26BBD7
.text:0026BBCF mov eax, dword_56E278
.text:0026BBD4 mov [ebp-68h], eax
.text:0026BBD7
.text:0026BBD7 loc_26BBD7: ; CODE XREF: sub_26BB33+9Aj
.text:0026BBD7 cmp [ebp-64h], esi
.text:0026BBDA jnz short loc_26BBE3
.text:0026BBDC mov dword ptr [ebp-64h], 7FFDEFFFh
.text:0026BBE3
.text:0026BBE3 loc_26BBE3: ; CODE XREF: sub_26BB33+A7j
.text:0026BBE3 cmp [ebp-60h], esi
.text:0026BBE6 jz short loc_26BBF1
.text:0026BBE8 cmp dword ptr [ebp-60h], (offset loc_FEFFF+1)
.text:0026BBEF jbe short loc_26BBF8
.text:0026BBF1
.text:0026BBF1 loc_26BBF1: ; CODE XREF: sub_26BB33+B3j
.text:0026BBF1 mov dword ptr [ebp-60h], (offset loc_FEFFF+1)
.text:0026BBF8
.text:0026BBF8 loc_26BBF8: ; CODE XREF: sub_26BB33+BCj
.text:0026BBF8 mov eax, [ebp+14h]
.text:0026BBFB cmp eax, esi
.text:0026BBFD jnz short loc_26BC25
.text:0026BBFF mov dword ptr [ebp+14h], 1000h
.text:0026BC06 mov eax, [ebp+10h]
.text:0026BC09 cmp eax, esi
.text:0026BC0B jnz short loc_26BC16
.text:0026BC0D mov dword ptr [ebp+10h], offset dword_40000
.text:0026BC14 jmp short loc_26BC52
.text:0026BC16 ; ---------------------------------------------------------------------------
.text:0026BC16
.text:0026BC16 loc_26BC16: ; CODE XREF: sub_26BB33+D8j
.text:0026BC16 add eax, 0FFFh
.text:0026BC1B and eax, 0FFFFF000h
.text:0026BC20
.text:0026BC20 loc_26BC20: ; CODE XREF: sub_26BB33+112j
.text:0026BC20 mov [ebp+10h], eax
.text:0026BC23 jmp short loc_26BC52
.text:0026BC25 ; ---------------------------------------------------------------------------
.text:0026BC25
.text:0026BC25 loc_26BC25: ; CODE XREF: sub_26BB33+CAj
.text:0026BC25 add eax, 0FFFh
.text:0026BC2A mov ecx, 0FFFFF000h
.text:0026BC2F and eax, ecx
.text:0026BC31 mov [ebp+14h], eax
.text:0026BC34 mov edx, [ebp+10h]
.text:0026BC37 cmp edx, esi
.text:0026BC39 jnz short loc_26BC47
.text:0026BC3B add eax, 0FFFFh
.text:0026BC40 and eax, 0FFFF0000h
.text:0026BC45 jmp short loc_26BC20
.text:0026BC47 ; ---------------------------------------------------------------------------
.text:0026BC47
.text:0026BC47 loc_26BC47: ; CODE XREF: sub_26BB33+106j
.text:0026BC47 add edx, 0FFFh
.text:0026BC4D and edx, ecx
.text:0026BC4F mov [ebp+10h], edx
.text:0026BC52
.text:0026BC52 loc_26BC52: ; CODE XREF: sub_26BB33+E1j
.text:0026BC52 ; sub_26BB33+F0j
.text:0026BC52 mov dword ptr [ebp-24h], 590h
.text:0026BC59 test byte ptr [ebp+8], 1
.text:0026BC5D jnz short loc_26BC77
.text:0026BC5F cmp [ebp+18h], esi
.text:0026BC62 jz short loc_26BC6A
.text:0026BC64 or byte ptr [ebp+0Bh], 80h
.text:0026BC68 jmp short loc_26BC80
.text:0026BC6A ; ---------------------------------------------------------------------------
.text:0026BC6A
.text:0026BC6A loc_26BC6A: ; CODE XREF: sub_26BB33+12Fj
.text:0026BC6A mov dword ptr [ebp-24h], 5ACh
.text:0026BC71 or dword ptr [ebp+18h], 0FFFFFFFFh
.text:0026BC75 jmp short loc_26BC80
.text:0026BC77 ; ---------------------------------------------------------------------------
.text:0026BC77
.text:0026BC77 loc_26BC77: ; CODE XREF: sub_26BB33+12Aj
.text:0026BC77 cmp [ebp+18h], esi
.text:0026BC7A jnz loc_26BEDE
.text:0026BC80
.text:0026BC80 loc_26BC80: ; CODE XREF: sub_26BB33+135j
.text:0026BC80 ; sub_26BB33+142j
.text:0026BC80 mov edi, [ebp+0Ch]
.text:0026BC83 cmp edi, esi
.text:0026BC85 jz loc_26BD55
.text:0026BC8B cmp [ebp-54h], esi
.text:0026BC8E jz short loc_26BCCB
.text:0026BC90 mov ebx, [ebp-5Ch]
.text:0026BC93 cmp ebx, esi
.text:0026BC95 jz loc_26BEDE
.text:0026BC9B mov eax, [ebp-58h]
.text:0026BC9E cmp eax, esi
.text:0026BCA0 jz loc_26BEDE
.text:0026BCA6 cmp ebx, eax
.text:0026BCA8 ja loc_26BEDE
.text:0026BCAE test byte ptr [ebp+8], 2
.text:0026BCB2 jnz loc_26BEDE
.text:0026BCB8 mov [ebp-20h], edi
.text:0026BCBB add ebx, edi
.text:0026BCBD mov [ebp+10h], eax
.text:0026BCC0 mov ecx, 400h
.text:0026BCC5 xor eax, eax
.text:0026BCC7 rep stosd
.text:0026BCC9 jmp short loc_26BD46
.text:0026BCCB ; ---------------------------------------------------------------------------
.text:0026BCCB
.text:0026BCCB loc_26BCCB: ; CODE XREF: sub_26BB33+15Bj
.text:0026BCCB lea eax, [ebp-48h]
.text:0026BCCE push eax
.text:0026BCCF push dword ptr [ebp+0Ch]
.text:0026BCD2 mov esi, ds:dword_485E78
.text:0026BCD8 call esi
.text:0026BCDA test eax, eax
.text:0026BCDC jl loc_26BEDE
.text:0026BCE2 mov edi, [ebp-48h]
.text:0026BCE5 cmp edi, [ebp+0Ch]
.text:0026BCE8 jnz loc_26BEDE
.text:0026BCEE cmp dword ptr [ebp-38h], 10000h
.text:0026BCF5 jz loc_26BEDE
.text:0026BCFB mov [ebp-20h], edi
.text:0026BCFE mov eax, 1000h
.text:0026BD03 cmp [ebp-38h], eax
.text:0026BD06 jnz short loc_26BD41
.text:0026BD08 mov ecx, 400h
.text:0026BD0D xor eax, eax
.text:0026BD0F rep stosd
.text:0026BD11 mov eax, [ebp-3Ch]
.text:0026BD14 mov [ebp+14h], eax
.text:0026BD17 mov ecx, [ebp-20h]
.text:0026BD1A lea ebx, [eax+ecx]
.text:0026BD1D lea eax, [ebp-48h]
.text:0026BD20 push eax
.text:0026BD21 push ebx
.text:0026BD22 call esi
.text:0026BD24 mov ecx, [ebp+14h]
.text:0026BD27 mov [ebp+10h], ecx
.text:0026BD2A test eax, eax
.text:0026BD2C jl short loc_26BD46
.text:0026BD2E cmp dword ptr [ebp-38h], 2000h
.text:0026BD35 jnz short loc_26BD46
.text:0026BD37 mov eax, [ebp-3Ch]
.text:0026BD3A add eax, ecx
.text:0026BD3C mov [ebp+10h], eax
.text:0026BD3F jmp short loc_26BD46
.text:0026BD41 ; ---------------------------------------------------------------------------
.text:0026BD41
.text:0026BD41 loc_26BD41: ; CODE XREF: sub_26BB33+1D3j
.text:0026BD41 mov [ebp+14h], eax
.text:0026BD44 mov ebx, edi
.text:0026BD46
.text:0026BD46 loc_26BD46: ; CODE XREF: sub_26BB33+196j
.text:0026BD46 ; sub_26BB33+1F9j ...
.text:0026BD46 mov dword ptr [ebp-28h], 1
.text:0026BD4D mov eax, [ebp+0Ch]
.text:0026BD50 mov [ebp-1Ch], eax
.text:0026BD53 jmp short loc_26BD91
.text:0026BD55 ; ---------------------------------------------------------------------------
.text:0026BD55
.text:0026BD55 loc_26BD55: ; CODE XREF: sub_26BB33+152j
.text:0026BD55 cmp [ebp-54h], esi
.text:0026BD58 jnz loc_26BEDE
.text:0026BD5E push 4
.text:0026BD60 push 2000h
.text:0026BD65 lea eax, [ebp+10h]
.text:0026BD68 push eax
.text:0026BD69 push esi
.text:0026BD6A lea eax, [ebp-1Ch]
.text:0026BD6D push eax
.text:0026BD6E call ds:dword_485E70
.text:0026BD74 test eax, eax
.text:0026BD76 jl loc_26BEDE
.text:0026BD7C mov [ebp-28h], esi
.text:0026BD7F cmp [ebp+14h], esi
.text:0026BD82 jnz short loc_26BD8B
.text:0026BD84 mov dword ptr [ebp+14h], 1000h
.text:0026BD8B
.text:0026BD8B loc_26BD8B: ; CODE XREF: sub_26BB33+24Fj
.text:0026BD8B mov ebx, [ebp-1Ch]
.text:0026BD8E mov [ebp-20h], ebx
.text:0026BD91
.text:0026BD91 loc_26BD91: ; CODE XREF: sub_26BB33+220j
.text:0026BD91 cmp [ebp-20h], ebx
.text:0026BD94 jnz short loc_26BDD6
.text:0026BD96 push 4
.text:0026BD98 push 1000h
.text:0026BD9D lea eax, [ebp+14h]
.text:0026BDA0 push eax
.text:0026BDA1 push 0
.text:0026BDA3 lea eax, [ebp-20h]
.text:0026BDA6 push eax
.text:0026BDA7 call ds:dword_485E70
.text:0026BDAD test eax, eax
.text:0026BDAF jge short loc_26BDD3
.text:0026BDB1 cmp dword ptr [ebp+0Ch], 0
.text:0026BDB5 jnz loc_26BEDE
.text:0026BDBB push 8000h
.text:0026BDC0 lea eax, [ebp+10h]
.text:0026BDC3 push eax
.text:0026BDC4 lea eax, [ebp-1Ch]
.text:0026BDC7 push eax
.text:0026BDC8 call ds:dword_485E74
.text:0026BDCE jmp loc_26BEDE
.text:0026BDD3 ; ---------------------------------------------------------------------------
.text:0026BDD3
.text:0026BDD3 loc_26BDD3: ; CODE XREF: sub_26BB33+27Cj
.text:0026BDD3 add ebx, [ebp+14h]
.text:0026BDD6
.text:0026BDD6 loc_26BDD6: ; CODE XREF: sub_26BB33+261j
.text:0026BDD6 mov edx, [ebp-1Ch]
.text:0026BDD9 lea eax, [edx+597h]
.text:0026BDDF and eax, 0FFFFFFF8h
.text:0026BDE2 mov esi, [ebp-24h]
.text:0026BDE5 mov edi, 80h
.text:0026BDEA add esi, edi
.text:0026BDEC add edx, 4Ch
.text:0026BDEF push 8
.text:0026BDF1 pop ecx
.text:0026BDF2
.text:0026BDF2 loc_26BDF2: ; CODE XREF: sub_26BB33+2C7j
.text:0026BDF2 mov [edx], eax
.text:0026BDF4 mov edx, eax
.text:0026BDF6 add eax, 10h
.text:0026BDF9 dec ecx
.text:0026BDFA jnz short loc_26BDF2
.text:0026BDFC mov ecx, eax
.text:0026BDFE and dword ptr [edx], 0
.text:0026BE01 test byte_5E7351, 8
.text:0026BE08 jz short loc_26BE2B
.text:0026BE0A add eax, 7
.text:0026BE0D and eax, 0FFFFFFF8h
.text:0026BE10 mov ecx, [ebp-1Ch]
.text:0026BE13 mov [ecx+17Ch], eax
.text:0026BE19 mov eax, 60Ch
.text:0026BE1E add esi, eax
.text:0026BE20 mov ecx, [ebp-1Ch]
.text:0026BE23 mov ecx, [ecx+17Ch]
.text:0026BE29 add ecx, eax
.text:0026BE2B
.text:0026BE2B loc_26BE2B: ; CODE XREF: sub_26BB33+2D5j
.text:0026BE2B add esi, 0Fh
.text:0026BE2E and esi, 0FFFFFFF0h
.text:0026BE31 mov eax, esi
.text:0026BE33 shr eax, 4
.text:0026BE36 mov edx, [ebp-1Ch]
.text:0026BE39 mov [edx], ax
.text:0026BE3C mov eax, [ebp-1Ch]
.text:0026BE3F mov byte ptr [eax+5], 1
.text:0026BE43 mov eax, [ebp-1Ch]
.text:0026BE46 mov dword ptr [eax+10h], 0EEFFEEFFh
.text:0026BE4D mov edx, [ebp-1Ch]
.text:0026BE50 mov eax, [ebp+8]
.text:0026BE53 mov [edx+14h], eax
.text:0026BE56 and eax, 6001007Dh
.text:0026BE5B mov edx, [ebp-1Ch]
.text:0026BE5E mov [edx+18h], eax
.text:0026BE61 mov eax, [ebp-1Ch]
.text:0026BE64 or word ptr [eax+170h], 0FFFFh
.text:0026BE6D mov edx, ecx
.text:0026BE6F mov eax, [ebp-1Ch]
.text:0026BE72 sub edx, eax
.text:0026BE74 mov [eax+3Ah], dx
.text:0026BE78 mov eax, [ebp-1Ch]
.text:0026BE7B and dword ptr [eax+3Ch], 0
.text:0026BE7F mov eax, [ebp-1Ch]
.text:0026BE82 add eax, 180h
.text:0026BE87
.text:0026BE87 loc_26BE87: ; CODE XREF: sub_26BB33+35Dj
.text:0026BE87 mov [eax+4], eax
.text:0026BE8A mov [eax], eax
.text:0026BE8C add eax, 8
.text:0026BE8F dec edi
.text:0026BE90 jnz short loc_26BE87
.text:0026BE92 mov eax, [ebp-1Ch]
.text:0026BE95 lea edx, [eax+58h]
.text:0026BE98 mov [eax+5Ch], edx
.text:0026BE9B mov eax, [ebp-1Ch]
.text:0026BE9E mov edx, [eax+5Ch]
.text:0026BEA1 mov [eax+58h], edx
.text:0026BEA4 mov edi, [ebp+18h]
.text:0026BEA7 cmp edi, 0FFFFFFFFh
.text:0026BEAA jnz short loc_26BEB5
.text:0026BEAC mov edi, ecx
.text:0026BEAE push ecx
.text:0026BEAF call ds:dword_485D80
.text:0026BEB5
.text:0026BEB5 loc_26BEB5: ; CODE XREF: sub_26BB33+377j
.text:0026BEB5 mov eax, [ebp-1Ch]
.text:0026BEB8 mov [eax+580h], edi
.text:0026BEBE mov eax, [ebp-20h]
.text:0026BEC1 mov ecx, [ebp+10h]
.text:0026BEC4 add ecx, eax
.text:0026BEC6 push ecx
.text:0026BEC7 push ebx
.text:0026BEC8 push eax
.text:0026BEC9 push dword ptr [ebp-28h]
.text:0026BECC push 0
.text:0026BECE mov eax, [ebp-1Ch]
.text:0026BED1 add esi, eax
.text:0026BED3 push esi
.text:0026BED4 push eax
.text:0026BED5 call _RtlpInitializeHeapSegment@28 ; RtlpInitializeHeapSegment(x,x,x,x,x,x,x)
.text:0026BEDA test al, al
.text:0026BEDC jnz short loc_26BEE2
.text:0026BEDE
.text:0026BEDE loc_26BEDE: ; CODE XREF: sub_26BB33+5Dj
.text:0026BEDE ; sub_26BB33+147j ...
.text:0026BEDE xor eax, eax
.text:0026BEE0 jmp short loc_26BF4F
.text:0026BEE2 ; ---------------------------------------------------------------------------
.text:0026BEE2
.text:0026BEE2 loc_26BEE2: ; CODE XREF: sub_26BB33+3A9j
.text:0026BEE2 mov eax, [ebp-1Ch]
.text:0026BEE5 and word ptr [eax+38h], 0
.text:0026BEEA mov eax, [ebp-1Ch]
.text:0026BEED mov ecx, [ebp-74h]
.text:0026BEF0 mov [eax+20h], ecx
.text:0026BEF3 mov eax, [ebp-1Ch]
.text:0026BEF6 mov ecx, [ebp-70h]
.text:0026BEF9 mov [eax+24h], ecx
.text:0026BEFC mov eax, [ebp-6Ch]
.text:0026BEFF shr eax, 4
.text:0026BF02 mov ecx, [ebp-1Ch]
.text:0026BF05 mov [ecx+28h], eax
.text:0026BF08 mov eax, [ebp-68h]
.text:0026BF0B shr eax, 4
.text:0026BF0E mov ecx, [ebp-1Ch]
.text:0026BF11 mov [ecx+2Ch], eax
.text:0026BF14 mov eax, [ebp-1Ch]
.text:0026BF17 mov ecx, [ebp-64h]
.text:0026BF1A mov [eax+34h], ecx
.text:0026BF1D mov eax, [ebp-60h]
.text:0026BF20 add eax, 0Fh
.text:0026BF23 shr eax, 4
.text:0026BF26 mov ecx, [ebp-1Ch]
.text:0026BF29 mov [ecx+1Ch], eax
.text:0026BF2C mov eax, [ebp-1Ch]
.text:0026BF2F mov ecx, [ebp-54h]
.text:0026BF32 mov [eax+584h], ecx
.text:0026BF38 mov eax, [ebp-1Ch]
.text:0026BF3B mov dword ptr [eax+50h], 1Fh
.text:0026BF42 mov eax, [ebp-1Ch]
.text:0026BF45 mov dword ptr [eax+54h], 0FFFFFFF0h
.text:0026BF4C mov eax, [ebp-1Ch]
.text:0026BF4F
.text:0026BF4F loc_26BF4F: ; CODE XREF: sub_26BB33+3ADj
.text:0026BF4F call __SEH_epilog
.text:0026BF54 retn 18h
.text:0026BF54 sub_26BB33 endp
.text:0026BF54
.text:0026BF57
.text:0026BF57 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026BF57
.text:0026BF57
.text:0026BF57 sub_26BF57 proc near ; CODE XREF: unknown_libname_44+15p
.text:0026BF57 ; sub_26C8C6+59Dp ...
.text:0026BF57 push 180h
.text:0026BF5C push offset dword_4CE960
.text:0026BF61 call __SEH_prolog
.text:0026BF66 mov esi, [ebp+8]
.text:0026BF69 mov ebx, esi
.text:0026BF6B mov [ebp-88h], ebx
.text:0026BF71 mov byte ptr [ebp-1Ah], 0
.text:0026BF75 mov ecx, [ebp+0Ch]
.text:0026BF78 or ecx, [esi+18h]
.text:0026BF7B mov [ebp+0Ch], ecx
.text:0026BF7E mov eax, [ebp+10h]
.text:0026BF81 test eax, eax
.text:0026BF83 jnz short loc_26BF86
.text:0026BF85 inc eax
.text:0026BF86
.text:0026BF86 loc_26BF86: ; CODE XREF: sub_26BF57+2Cj
.text:0026BF86 add eax, 1Fh
.text:0026BF89 and eax, 0FFFFFFF0h
.text:0026BF8C mov [ebp-20h], eax
.text:0026BF8F mov edi, eax
.text:0026BF91 shr edi, 4
.text:0026BF94 mov [ebp-28h], edi
.text:0026BF97 and dword ptr [ebp-4], 0
.text:0026BF9B test cl, 1
.text:0026BF9E jnz short loc_26BFB0
.text:0026BFA0 push dword ptr [esi+580h]
.text:0026BFA6 call ds:dword_485D84
.text:0026BFAC mov byte ptr [ebp-1Ah], 1
.text:0026BFB0
.text:0026BFB0 loc_26BFB0: ; CODE XREF: sub_26BF57+47j
.text:0026BFB0 cmp edi, 80h
.text:0026BFB6 jnb loc_26C14D
.text:0026BFBC lea eax, [esi+edi*8+180h]
.text:0026BFC3 mov [ebp-2Ch], eax
.text:0026BFC6 cmp [eax], eax
.text:0026BFC8 jz loc_26C052
.text:0026BFCE mov eax, [eax+4]
.text:0026BFD1 sub eax, 8
.text:0026BFD4 mov [ebp-34h], eax
.text:0026BFD7 mov dl, [eax+5]
.text:0026BFDA mov [ebp-19h], dl
.text:0026BFDD mov ecx, [eax+8]
.text:0026BFE0 mov [ebp-120h], ecx
.text:0026BFE6 mov edi, [eax+0Ch]
.text:0026BFE9 mov [ebp-13Ch], edi
.text:0026BFEF mov [edi], ecx
.text:0026BFF1 mov [ecx+4], edi
.text:0026BFF4 cmp ecx, edi
.text:0026BFF6 jnz short loc_26C02E
.text:0026BFF8 movzx ecx, word ptr [eax]
.text:0026BFFB mov edi, ecx
.text:0026BFFD shr edi, 3
.text:0026C000 mov [ebp-90h], edi
.text:0026C006 and ecx, 7
.text:0026C009 xor edi, edi
.text:0026C00B inc edi
.text:0026C00C shl edi, cl
.text:0026C00E mov [ebp-0F0h], edi
.text:0026C014 mov ecx, [ebp-90h]
.text:0026C01A lea ecx, [ecx+esi+160h]
.text:0026C021 mov [ebp-4Ch], ecx
.text:0026C024 movzx ecx, byte ptr [ecx]
.text:0026C027 xor ecx, edi
.text:0026C029 mov edi, [ebp-4Ch]
.text:0026C02C mov [edi], cl
.text:0026C02E
.text:0026C02E loc_26C02E: ; CODE XREF: sub_26BF57+9Fj
.text:0026C02E mov ecx, [ebp-28h]
.text:0026C031 sub [esi+30h], ecx
.text:0026C034 mov [ebp-38h], eax
.text:0026C037 and edx, 10h
.text:0026C03A or dl, 1
.text:0026C03D mov [eax+5], dl
.text:0026C040 mov ecx, [ebp-20h]
.text:0026C043 sub ecx, [ebp+10h]
.text:0026C046 mov [eax+6], cl
.text:0026C049 mov byte ptr [eax+7], 0
.text:0026C04D jmp loc_26C542
.text:0026C052 ; ---------------------------------------------------------------------------
.text:0026C052
.text:0026C052 loc_26C052: ; CODE XREF: sub_26BF57+71j
.text:0026C052 mov ecx, [ebp-28h]
.text:0026C055 mov edx, ecx
.text:0026C057 shr edx, 5
.text:0026C05A mov [ebp-0A0h], edx
.text:0026C060 lea edi, [esi+edx*4+160h]
.text:0026C067 mov [ebp-30h], edi
.text:0026C06A and ecx, 1Fh
.text:0026C06D xor eax, eax
.text:0026C06F inc eax
.text:0026C070 shl eax, cl
.text:0026C072 dec eax
.text:0026C073 not eax
.text:0026C075 and eax, [edi]
.text:0026C077 mov [ebp-40h], eax
.text:0026C07A add edi, 4
.text:0026C07D mov [ebp-30h], edi
.text:0026C080 sub edx, 0
.text:0026C083 jz short loc_26C093
.text:0026C085 dec edx
.text:0026C086 jz short loc_26C0AA
.text:0026C088 dec edx
.text:0026C089 jz short loc_26C0C1
.text:0026C08B dec edx
.text:0026C08C jz short loc_26C0D8
.text:0026C08E jmp loc_26C156
.text:0026C093 ; ---------------------------------------------------------------------------
.text:0026C093
.text:0026C093 loc_26C093: ; CODE XREF: sub_26BF57+12Cj
.text:0026C093 test eax, eax
.text:0026C095 jz short loc_26C09F
.text:0026C097 lea edi, [esi+180h]
.text:0026C09D jmp short loc_26C0E2
.text:0026C09F ; ---------------------------------------------------------------------------
.text:0026C09F
.text:0026C09F loc_26C09F: ; CODE XREF: sub_26BF57+13Ej
.text:0026C09F mov eax, [edi]
.text:0026C0A1 mov [ebp-40h], eax
.text:0026C0A4 add edi, 4
.text:0026C0A7 mov [ebp-30h], edi
.text:0026C0AA
.text:0026C0AA loc_26C0AA: ; CODE XREF: sub_26BF57+12Fj
.text:0026C0AA test eax, eax
.text:0026C0AC jz short loc_26C0B6
.text:0026C0AE lea edi, [esi+280h]
.text:0026C0B4 jmp short loc_26C0E2
.text:0026C0B6 ; ---------------------------------------------------------------------------
.text:0026C0B6
.text:0026C0B6 loc_26C0B6: ; CODE XREF: sub_26BF57+155j
.text:0026C0B6 mov eax, [edi]
.text:0026C0B8 mov [ebp-40h], eax
.text:0026C0BB add edi, 4
.text:0026C0BE mov [ebp-30h], edi
.text:0026C0C1
.text:0026C0C1 loc_26C0C1: ; CODE XREF: sub_26BF57+132j
.text:0026C0C1 test eax, eax
.text:0026C0C3 jz short loc_26C0CD
.text:0026C0C5 lea edi, [esi+380h]
.text:0026C0CB jmp short loc_26C0E2
.text:0026C0CD ; ---------------------------------------------------------------------------
.text:0026C0CD
.text:0026C0CD loc_26C0CD: ; CODE XREF: sub_26BF57+16Cj
.text:0026C0CD mov eax, [edi]
.text:0026C0CF mov [ebp-40h], eax
.text:0026C0D2 add edi, 4
.text:0026C0D5 mov [ebp-30h], edi
.text:0026C0D8
.text:0026C0D8 loc_26C0D8: ; CODE XREF: sub_26BF57+135j
.text:0026C0D8 test eax, eax
.text:0026C0DA jz short loc_26C156
.text:0026C0DC lea edi, [esi+480h]
.text:0026C0E2
.text:0026C0E2 loc_26C0E2: ; CODE XREF: sub_26BF57+146j
.text:0026C0E2 ; sub_26BF57+15Dj ...
.text:0026C0E2 mov [ebp-2Ch], edi
.text:0026C0E5 mov ecx, eax
.text:0026C0E7 call sub_26D110
.text:0026C0EC movsx eax, al
.text:0026C0EF lea eax, [edi+eax*8]
.text:0026C0F2 mov [ebp-2Ch], eax
.text:0026C0F5 mov eax, [eax+4]
.text:0026C0F8 sub eax, 8
.text:0026C0FB mov [ebp-34h], eax
.text:0026C0FE mov ecx, [eax+8]
.text:0026C101 mov [ebp-130h], ecx
.text:0026C107 mov edx, [eax+0Ch]
.text:0026C10A mov [ebp-0A8h], edx
.text:0026C110 mov [edx], ecx
.text:0026C112 mov [ecx+4], edx
.text:0026C115 cmp ecx, edx
.text:0026C117 jnz loc_26C1D1
.text:0026C11D movzx ecx, word ptr [eax]
.text:0026C120 mov edx, ecx
.text:0026C122 shr edx, 3
.text:0026C125 mov [ebp-0F8h], edx
.text:0026C12B and ecx, 7
.text:0026C12E xor edi, edi
.text:0026C130 inc edi
.text:0026C131 shl edi, cl
.text:0026C133 mov [ebp-0B0h], edi
.text:0026C139 lea esi, [edx+esi+160h]
.text:0026C140 xor ecx, ecx
.text:0026C142 mov cl, [esi]
.text:0026C144 xor ecx, edi
.text:0026C146 mov [esi], cl
.text:0026C148 jmp loc_26C1D1
.text:0026C14D ; ---------------------------------------------------------------------------
.text:0026C14D
.text:0026C14D loc_26C14D: ; CODE XREF: sub_26BF57+5Fj
.text:0026C14D cmp edi, [esi+1Ch]
.text:0026C150 ja loc_26C591
.text:0026C156
.text:0026C156 loc_26C156: ; CODE XREF: sub_26BF57+137j
.text:0026C156 ; sub_26BF57+183j
.text:0026C156 lea edx, [esi+180h]
.text:0026C15C mov [ebp-2Ch], edx
.text:0026C15F mov eax, [edx+4]
.text:0026C162 mov [ebp-44h], eax
.text:0026C165 cmp edx, eax
.text:0026C167 jz short loc_26C1A6
.text:0026C169 add eax, 0FFFFFFF8h
.text:0026C16C mov [ebp-34h], eax
.text:0026C16F movzx eax, word ptr [eax]
.text:0026C172 cmp eax, [ebp-28h]
.text:0026C175 jb short loc_26C1A6
.text:0026C177 mov ecx, [edx]
.text:0026C179
.text:0026C179 loc_26C179: ; CODE XREF: sub_26BF57+24Dj
.text:0026C179 mov [ebp-44h], ecx
.text:0026C17C cmp edx, ecx
.text:0026C17E jz short loc_26C1A6
.text:0026C180 lea eax, [ecx-8]
.text:0026C183 mov [ebp-34h], eax
.text:0026C186 movzx esi, word ptr [eax]
.text:0026C189 cmp esi, [ebp-28h]
.text:0026C18C jb short loc_26C1A2
.text:0026C18E mov ecx, [eax+8]
.text:0026C191 mov [ebp-94h], ecx
.text:0026C197 mov edx, [eax+0Ch]
.text:0026C19A mov [ebp-0B8h], edx
.text:0026C1A0 jmp short loc_26C1CC
.text:0026C1A2 ; ---------------------------------------------------------------------------
.text:0026C1A2
.text:0026C1A2 loc_26C1A2: ; CODE XREF: sub_26BF57+235j
.text:0026C1A2 mov ecx, [ecx]
.text:0026C1A4 jmp short loc_26C179
.text:0026C1A6 ; ---------------------------------------------------------------------------
.text:0026C1A6
.text:0026C1A6 loc_26C1A6: ; CODE XREF: sub_26BF57+210j
.text:0026C1A6 ; sub_26BF57+21Ej ...
.text:0026C1A6 push dword ptr [ebp-20h]
.text:0026C1A9 push ebx
.text:0026C1AA call sub_26B702
.text:0026C1AF mov [ebp-34h], eax
.text:0026C1B2 test eax, eax
.text:0026C1B4 jz loc_26C585
.text:0026C1BA mov ecx, [eax+8]
.text:0026C1BD mov [ebp-100h], ecx
.text:0026C1C3 mov edx, [eax+0Ch]
.text:0026C1C6 mov [ebp-0C0h], edx
.text:0026C1CC
.text:0026C1CC loc_26C1CC: ; CODE XREF: sub_26BF57+249j
.text:0026C1CC mov [edx], ecx
.text:0026C1CE mov [ecx+4], edx
.text:0026C1D1
.text:0026C1D1 loc_26C1D1: ; CODE XREF: sub_26BF57+1C0j
.text:0026C1D1 ; sub_26BF57+1F1j
.text:0026C1D1 mov cl, [eax+5]
.text:0026C1D4 mov [ebp-19h], cl
.text:0026C1D7 movzx ecx, word ptr [eax]
.text:0026C1DA sub [ebx+30h], ecx
.text:0026C1DD mov [ebp-38h], eax
.text:0026C1E0 mov byte ptr [eax+5], 1
.text:0026C1E4 movzx edx, word ptr [eax]
.text:0026C1E7 mov ecx, [ebp-28h]
.text:0026C1EA sub edx, ecx
.text:0026C1EC mov [ebp-68h], edx
.text:0026C1EF mov [eax], cx
.text:0026C1F2 mov ecx, [ebp-20h]
.text:0026C1F5 sub ecx, [ebp+10h]
.text:0026C1F8 mov [eax+6], cl
.text:0026C1FB mov byte ptr [eax+7], 0
.text:0026C1FF test edx, edx
.text:0026C201 jz loc_26C530
.text:0026C207 cmp edx, 1
.text:0026C20A jnz short loc_26C225
.text:0026C20C xor ecx, ecx
.text:0026C20E mov cx, [eax]
.text:0026C211 inc ecx
.text:0026C212 mov [eax], cx
.text:0026C215 xor ecx, ecx
.text:0026C217 mov cl, [eax+6]
.text:0026C21A add ecx, 10h
.text:0026C21D mov [eax+6], cl
.text:0026C220 jmp loc_26C530
.text:0026C225 ; ---------------------------------------------------------------------------
.text:0026C225
.text:0026C225 loc_26C225: ; CODE XREF: sub_26BF57+2B3j
.text:0026C225 mov esi, [ebp-28h]
.text:0026C228 shl esi, 4
.text:0026C22B add esi, eax
.text:0026C22D mov [ebp-140h], esi
.text:0026C233 mov cl, [ebp-19h]
.text:0026C236 mov [esi+5], cl
.text:0026C239 mov di, [ebp-28h]
.text:0026C23D mov [esi+2], di
.text:0026C241 mov al, [eax+4]
.text:0026C244 mov [esi+4], al
.text:0026C247 mov [esi], dx
.text:0026C24A test cl, 10h
.text:0026C24D jz loc_26C30E
.text:0026C253 xor eax, eax
.text:0026C255 mov al, [esi+5]
.text:0026C258 and eax, 10h
.text:0026C25B mov [esi+5], al
.text:0026C25E cmp dx, 80h
.text:0026C263 jnb short loc_26C2C3
.text:0026C265 movzx eax, dx
.text:0026C268 lea edi, [ebx+eax*8+180h]
.text:0026C26F mov [ebp-0C8h], edi
.text:0026C275 cmp [edi], edi
.text:0026C277 jnz short loc_26C2AF
.text:0026C279 movzx ecx, word ptr [esi]
.text:0026C27C mov eax, ecx
.text:0026C27E shr eax, 3
.text:0026C281 mov [ebp-84h], eax
.text:0026C287 and ecx, 7
.text:0026C28A xor eax, eax
.text:0026C28C inc eax
.text:0026C28D shl eax, cl
.text:0026C28F mov [ebp-108h], eax
.text:0026C295 mov ecx, [ebp-84h]
.text:0026C29B lea ecx, [ecx+ebx+160h]
.text:0026C2A2 mov [ebp-64h], ecx
.text:0026C2A5 movzx ecx, byte ptr [ecx]
.text:0026C2A8 or ecx, eax
.text:0026C2AA mov eax, [ebp-64h]
.text:0026C2AD mov [eax], cl
.text:0026C2AF
.text:0026C2AF loc_26C2AF: ; CODE XREF: sub_26BF57+320j
.text:0026C2AF mov [ebp-0D0h], edi
.text:0026C2B5 mov ecx, [edi+4]
.text:0026C2B8 mov [ebp-128h], ecx
.text:0026C2BE jmp loc_26C4C0
.text:0026C2C3 ; ---------------------------------------------------------------------------
.text:0026C2C3
.text:0026C2C3 loc_26C2C3: ; CODE XREF: sub_26BF57+30Cj
.text:0026C2C3 lea ecx, [ebx+180h]
.text:0026C2C9 mov [ebp-0D8h], ecx
.text:0026C2CF mov eax, [ecx]
.text:0026C2D1
.text:0026C2D1 loc_26C2D1: ; CODE XREF: sub_26BF57+391j
.text:0026C2D1 mov [ebp-7Ch], eax
.text:0026C2D4 cmp ecx, eax
.text:0026C2D6 jz short loc_26C2EA
.text:0026C2D8 lea edi, [eax-8]
.text:0026C2DB mov [ebp-110h], edi
.text:0026C2E1 cmp dx, [edi]
.text:0026C2E4 jbe short loc_26C2EA
.text:0026C2E6 mov eax, [eax]
.text:0026C2E8 jmp short loc_26C2D1
.text:0026C2EA ; ---------------------------------------------------------------------------
.text:0026C2EA
.text:0026C2EA loc_26C2EA: ; CODE XREF: sub_26BF57+37Fj
.text:0026C2EA ; sub_26BF57+38Dj
.text:0026C2EA mov [ebp-0E0h], eax
.text:0026C2F0 mov edi, [eax+4]
.text:0026C2F3 mov [ebp-138h], edi
.text:0026C2F9
.text:0026C2F9 loc_26C2F9: ; CODE XREF: sub_26BF57+47Aj
.text:0026C2F9 ; sub_26BF57+5B1j
.text:0026C2F9 lea ecx, [esi+8]
.text:0026C2FC mov [ecx], eax
.text:0026C2FE mov [esi+0Ch], edi
.text:0026C301 mov [edi], ecx
.text:0026C303 mov [eax+4], ecx
.text:0026C306
.text:0026C306 loc_26C306: ; CODE XREF: sub_26BF57+576j
.text:0026C306 add [ebx+30h], edx
.text:0026C309 jmp loc_26C515
.text:0026C30E ; ---------------------------------------------------------------------------
.text:0026C30E
.text:0026C30E loc_26C30E: ; CODE XREF: sub_26BF57+2F6j
.text:0026C30E mov eax, edx
.text:0026C310 shl eax, 4
.text:0026C313 add eax, esi
.text:0026C315 mov [ebp-0E8h], eax
.text:0026C31B mov cl, [eax+5]
.text:0026C31E test cl, 1
.text:0026C321 jz loc_26C3D6
.text:0026C327 mov [eax+2], dx
.text:0026C32B xor eax, eax
.text:0026C32D mov al, [esi+5]
.text:0026C330 and eax, 10h
.text:0026C333 mov [esi+5], al
.text:0026C336 cmp dx, 80h
.text:0026C33B jnb short loc_26C39B
.text:0026C33D movzx eax, dx
.text:0026C340 lea edi, [ebx+eax*8+180h]
.text:0026C347 mov [ebp-118h], edi
.text:0026C34D cmp [edi], edi
.text:0026C34F jnz short loc_26C387
.text:0026C351 movzx ecx, word ptr [esi]
.text:0026C354 mov eax, ecx
.text:0026C356 shr eax, 3
.text:0026C359 mov [ebp-6Ch], eax
.text:0026C35C and ecx, 7
.text:0026C35F xor eax, eax
.text:0026C361 inc eax
.text:0026C362 shl eax, cl
.text:0026C364 mov [ebp-98h], eax
.text:0026C36A mov ecx, [ebp-6Ch]
.text:0026C36D lea ecx, [ecx+ebx+160h]
.text:0026C374 mov [ebp-8Ch], ecx
.text:0026C37A movzx ecx, byte ptr [ecx]
.text:0026C37D or ecx, eax
.text:0026C37F mov eax, [ebp-8Ch]
.text:0026C385 mov [eax], cl
.text:0026C387
.text:0026C387 loc_26C387: ; CODE XREF: sub_26BF57+3F8j
.text:0026C387 mov [ebp-9Ch], edi
.text:0026C38D mov ecx, [edi+4]
.text:0026C390 mov [ebp-0A4h], ecx
.text:0026C396 jmp loc_26C4C0
.text:0026C39B ; ---------------------------------------------------------------------------
.text:0026C39B
.text:0026C39B loc_26C39B: ; CODE XREF: sub_26BF57+3E4j
.text:0026C39B lea ecx, [ebx+180h]
.text:0026C3A1 mov [ebp-0ACh], ecx
.text:0026C3A7 mov eax, [ecx]
.text:0026C3A9
.text:0026C3A9 loc_26C3A9: ; CODE XREF: sub_26BF57+469j
.text:0026C3A9 mov [ebp-74h], eax
.text:0026C3AC cmp ecx, eax
.text:0026C3AE jz short loc_26C3C2
.text:0026C3B0 lea edi, [eax-8]
.text:0026C3B3 mov [ebp-0B4h], edi
.text:0026C3B9 cmp dx, [edi]
.text:0026C3BC jbe short loc_26C3C2
.text:0026C3BE mov eax, [eax]
.text:0026C3C0 jmp short loc_26C3A9
.text:0026C3C2 ; ---------------------------------------------------------------------------
.text:0026C3C2
.text:0026C3C2 loc_26C3C2: ; CODE XREF: sub_26BF57+457j
.text:0026C3C2 ; sub_26BF57+465j
.text:0026C3C2 mov [ebp-0BCh], eax
.text:0026C3C8 mov edi, [eax+4]
.text:0026C3CB mov [ebp-0C4h], edi
.text:0026C3D1 jmp loc_26C2F9
.text:0026C3D6 ; ---------------------------------------------------------------------------
.text:0026C3D6
.text:0026C3D6 loc_26C3D6: ; CODE XREF: sub_26BF57+3CAj
.text:0026C3D6 mov [esi+5], cl
.text:0026C3D9 mov ecx, [eax+8]
.text:0026C3DC mov [ebp-0CCh], ecx
.text:0026C3E2 mov edi, [eax+0Ch]
.text:0026C3E5 mov [ebp-0D4h], edi
.text:0026C3EB mov [edi], ecx
.text:0026C3ED mov [ecx+4], edi
.text:0026C3F0 cmp ecx, edi
.text:0026C3F2 jnz short loc_26C42E
.text:0026C3F4 mov cx, [eax]
.text:0026C3F7 cmp cx, 80h
.text:0026C3FC jnb short loc_26C42E
.text:0026C3FE movzx ecx, cx
.text:0026C401 mov edi, ecx
.text:0026C403 shr edi, 3
.text:0026C406 mov [ebp-50h], edi
.text:0026C409 and ecx, 7
.text:0026C40C xor edi, edi
.text:0026C40E inc edi
.text:0026C40F shl edi, cl
.text:0026C411 mov [ebp-0DCh], edi
.text:0026C417 mov ecx, [ebp-50h]
.text:0026C41A lea ecx, [ecx+ebx+160h]
.text:0026C421 mov [ebp-60h], ecx
.text:0026C424 movzx ecx, byte ptr [ecx]
.text:0026C427 xor ecx, edi
.text:0026C429 mov edi, [ebp-60h]
.text:0026C42C mov [edi], cl
.text:0026C42E
.text:0026C42E loc_26C42E: ; CODE XREF: sub_26BF57+49Bj
.text:0026C42E ; sub_26BF57+4A5j
.text:0026C42E movzx ecx, word ptr [eax]
.text:0026C431 sub [ebx+30h], ecx
.text:0026C434 movzx eax, word ptr [eax]
.text:0026C437 add edx, eax
.text:0026C439 mov [ebp-68h], edx
.text:0026C43C cmp edx, 0FF00h
.text:0026C442 ja loc_26C50D
.text:0026C448 mov [esi], dx
.text:0026C44B test byte ptr [esi+5], 10h
.text:0026C44F jnz short loc_26C45B
.text:0026C451 mov eax, edx
.text:0026C453 shl eax, 4
.text:0026C456 mov [eax+esi+2], dx
.text:0026C45B
.text:0026C45B loc_26C45B: ; CODE XREF: sub_26BF57+4F8j
.text:0026C45B xor eax, eax
.text:0026C45D mov al, [esi+5]
.text:0026C460 and eax, 10h
.text:0026C463 mov [esi+5], al
.text:0026C466 cmp dx, 80h
.text:0026C46B jnb short loc_26C4D2
.text:0026C46D movzx eax, dx
.text:0026C470 lea edi, [ebx+eax*8+180h]
.text:0026C477 mov [ebp-0E4h], edi
.text:0026C47D cmp [edi], edi
.text:0026C47F jnz short loc_26C4B1
.text:0026C481 movzx ecx, word ptr [esi]
.text:0026C484 mov eax, ecx
.text:0026C486 shr eax, 3
.text:0026C489 mov [ebp-70h], eax
.text:0026C48C and ecx, 7
.text:0026C48F xor eax, eax
.text:0026C491 inc eax
.text:0026C492 shl eax, cl
.text:0026C494 mov [ebp-0ECh], eax
.text:0026C49A mov ecx, [ebp-70h]
.text:0026C49D lea ecx, [ecx+ebx+160h]
.text:0026C4A4 mov [ebp-78h], ecx
.text:0026C4A7 movzx ecx, byte ptr [ecx]
.text:0026C4AA or ecx, eax
.text:0026C4AC mov eax, [ebp-78h]
.text:0026C4AF mov [eax], cl
.text:0026C4B1
.text:0026C4B1 loc_26C4B1: ; CODE XREF: sub_26BF57+528j
.text:0026C4B1 mov [ebp-0F4h], edi
.text:0026C4B7 mov ecx, [edi+4]
.text:0026C4BA mov [ebp-0FCh], ecx
.text:0026C4C0
.text:0026C4C0 loc_26C4C0: ; CODE XREF: sub_26BF57+367j
.text:0026C4C0 ; sub_26BF57+43Fj
.text:0026C4C0 lea eax, [esi+8]
.text:0026C4C3 mov [eax], edi
.text:0026C4C5 mov [esi+0Ch], ecx
.text:0026C4C8 mov [ecx], eax
.text:0026C4CA mov [edi+4], eax
.text:0026C4CD jmp loc_26C306
.text:0026C4D2 ; ---------------------------------------------------------------------------
.text:0026C4D2
.text:0026C4D2 loc_26C4D2: ; CODE XREF: sub_26BF57+514j
.text:0026C4D2 lea ecx, [ebx+180h]
.text:0026C4D8 mov [ebp-104h], ecx
.text:0026C4DE mov eax, [ecx]
.text:0026C4E0
.text:0026C4E0 loc_26C4E0: ; CODE XREF: sub_26BF57+5A0j
.text:0026C4E0 mov [ebp-80h], eax
.text:0026C4E3 cmp ecx, eax
.text:0026C4E5 jz short loc_26C4F9
.text:0026C4E7 lea edi, [eax-8]
.text:0026C4EA mov [ebp-10Ch], edi
.text:0026C4F0 cmp dx, [edi]
.text:0026C4F3 jbe short loc_26C4F9
.text:0026C4F5 mov eax, [eax]
.text:0026C4F7 jmp short loc_26C4E0
.text:0026C4F9 ; ---------------------------------------------------------------------------
.text:0026C4F9
.text:0026C4F9 loc_26C4F9: ; CODE XREF: sub_26BF57+58Ej
.text:0026C4F9 ; sub_26BF57+59Cj
.text:0026C4F9 mov [ebp-114h], eax
.text:0026C4FF mov edi, [eax+4]
.text:0026C502 mov [ebp-11Ch], edi
.text:0026C508 jmp loc_26C2F9
.text:0026C50D ; ---------------------------------------------------------------------------
.text:0026C50D
.text:0026C50D loc_26C50D: ; CODE XREF: sub_26BF57+4EBj
.text:0026C50D push edx
.text:0026C50E push esi
.text:0026C50F push ebx
.text:0026C510 call sub_26B012
.text:0026C515
.text:0026C515 loc_26C515: ; CODE XREF: sub_26BF57+3B2j
.text:0026C515 mov byte ptr [ebp-19h], 0
.text:0026C519 test byte ptr [esi+5], 10h
.text:0026C51D jz short loc_26C530
.text:0026C51F movzx eax, byte ptr [esi+4]
.text:0026C523 mov eax, [ebx+eax*4+60h]
.text:0026C527 mov [ebp-124h], eax
.text:0026C52D mov [eax+40h], esi
.text:0026C530
.text:0026C530 loc_26C530: ; CODE XREF: sub_26BF57+2AAj
.text:0026C530 ; sub_26BF57+2C9j ...
.text:0026C530 test byte ptr [ebp-19h], 10h
.text:0026C534 jz short loc_26C542
.text:0026C536 mov eax, [ebp-38h]
.text:0026C539 mov cl, [eax+5]
.text:0026C53C or cl, 10h
.text:0026C53F mov [eax+5], cl
.text:0026C542
.text:0026C542 loc_26C542: ; CODE XREF: sub_26BF57+F6j
.text:0026C542 ; sub_26BF57+5DDj
.text:0026C542 mov esi, [ebp-38h]
.text:0026C545 add esi, 10h
.text:0026C548 mov [ebp-3Ch], esi
.text:0026C54B cmp byte ptr [ebp-1Ah], 0
.text:0026C54F jz short loc_26C561
.text:0026C551 push dword ptr [ebx+580h]
.text:0026C557 call ds:dword_485D88
.text:0026C55D mov byte ptr [ebp-1Ah], 0
.text:0026C561
.text:0026C561 loc_26C561: ; CODE XREF: sub_26BF57+5F8j
.text:0026C561 test byte ptr [ebp+0Ch], 8
.text:0026C565 jz loc_26C679
.text:0026C56B mov ecx, [ebp+10h]
.text:0026C56E xor eax, eax
.text:0026C570 mov edi, esi
.text:0026C572 mov edx, ecx
.text:0026C574 shr ecx, 2
.text:0026C577 rep stosd
.text:0026C579 mov ecx, edx
.text:0026C57B and ecx, 3
.text:0026C57E rep stosb
.text:0026C580 jmp loc_26C679
.text:0026C585 ; ---------------------------------------------------------------------------
.text:0026C585
.text:0026C585 loc_26C585: ; CODE XREF: sub_26BF57+25Dj
.text:0026C585 mov dword ptr [ebp-48h], 0C0000017h
.text:0026C58C jmp loc_26C636
.text:0026C591 ; ---------------------------------------------------------------------------
.text:0026C591
.text:0026C591 loc_26C591: ; CODE XREF: sub_26BF57+1F9j
.text:0026C591 test byte ptr [esi+14h], 2
.text:0026C595 jz loc_26C62F
.text:0026C59B and dword ptr [ebp-24h], 0
.text:0026C59F add dword ptr [ebp-20h], 20h
.text:0026C5A3 push 4
.text:0026C5A5 mov eax, [ebp+0Ch]
.text:0026C5A8 shl eax, 14h
.text:0026C5AB not eax
.text:0026C5AD and eax, 800000h
.text:0026C5B2 or eax, 1000h
.text:0026C5B7 push eax
.text:0026C5B8 lea eax, [ebp-20h]
.text:0026C5BB push eax
.text:0026C5BC push 0
.text:0026C5BE lea eax, [ebp-24h]
.text:0026C5C1 push eax
.text:0026C5C2 call ds:dword_485E70
.text:0026C5C8 mov [ebp-48h], eax
.text:0026C5CB test eax, eax
.text:0026C5CD jl short loc_26C636
.text:0026C5CF push 0Ch
.text:0026C5D1 pop ecx
.text:0026C5D2 xor eax, eax
.text:0026C5D4 mov edi, [ebp-24h]
.text:0026C5D7 rep stosd
.text:0026C5D9 mov eax, [ebp-20h]
.text:0026C5DC sub eax, [ebp+10h]
.text:0026C5DF mov ecx, [ebp-24h]
.text:0026C5E2 mov [ecx+20h], ax
.text:0026C5E6 mov eax, [ebp-24h]
.text:0026C5E9 mov byte ptr [eax+25h], 0Bh
.text:0026C5ED mov eax, [ebp-20h]
.text:0026C5F0 mov ecx, [ebp-24h]
.text:0026C5F3 mov [ecx+18h], eax
.text:0026C5F6 mov eax, [ebp-24h]
.text:0026C5F9 mov ecx, [ebp-20h]
.text:0026C5FC mov [eax+1Ch], ecx
.text:0026C5FF add esi, 58h
.text:0026C602 mov [ebp-12Ch], esi
.text:0026C608 mov eax, [esi+4]
.text:0026C60B mov [ebp-134h], eax
.text:0026C611 mov ecx, [ebp-24h]
.text:0026C614 mov [ecx], esi
.text:0026C616 mov ecx, [ebp-24h]
.text:0026C619 mov [ecx+4], eax
.text:0026C61C mov ecx, [ebp-24h]
.text:0026C61F mov [eax], ecx
.text:0026C621 mov eax, [ebp-24h]
.text:0026C624 mov [esi+4], eax
.text:0026C627 mov esi, [ebp-24h]
.text:0026C62A add esi, 30h
.text:0026C62D jmp short loc_26C676
.text:0026C62F ; ---------------------------------------------------------------------------
.text:0026C62F
.text:0026C62F loc_26C62F: ; CODE XREF: sub_26BF57+63Ej
.text:0026C62F mov dword ptr [ebp-48h], 0C0000023h
.text:0026C636
.text:0026C636 loc_26C636: ; CODE XREF: sub_26BF57+635j
.text:0026C636 ; sub_26BF57+676j
.text:0026C636 test byte ptr [ebp+0Ch], 4
.text:0026C63A jz short loc_26C674
.text:0026C63C mov dword ptr [ebp-190h], 0C0000017h
.text:0026C646 and dword ptr [ebp-188h], 0
.text:0026C64D mov dword ptr [ebp-180h], 1
.text:0026C657 and dword ptr [ebp-18Ch], 0
.text:0026C65E mov eax, [ebp-20h]
.text:0026C661 mov [ebp-17Ch], eax
.text:0026C667 lea eax, [ebp-190h]
.text:0026C66D push eax
.text:0026C66E call ds:dword_485E40
.text:0026C674
.text:0026C674 loc_26C674: ; CODE XREF: sub_26BF57+6E3j
.text:0026C674 xor esi, esi
.text:0026C676
.text:0026C676 loc_26C676: ; CODE XREF: sub_26BF57+6D6j
.text:0026C676 mov [ebp-3Ch], esi
.text:0026C679
.text:0026C679 loc_26C679: ; CODE XREF: sub_26BF57+60Ej
.text:0026C679 ; sub_26BF57+629j
.text:0026C679 or dword ptr [ebp-4], 0FFFFFFFFh
.text:0026C67D call sub_26C6BF
.text:0026C682 test esi, esi
.text:0026C684 jz short loc_26C6AC
.text:0026C686 mov [ebp-5Ch], esi
.text:0026C689 mov eax, [ebp+10h]
.text:0026C68C mov [ebp-58h], eax
.text:0026C68F and dword ptr [ebp-54h], 0
.text:0026C693 mov eax, large fs:20h
.text:0026C699 mov eax, [eax+250h]
.text:0026C69F test eax, eax
.text:0026C6A1 jz short loc_26C6AC
.text:0026C6A3 lea ecx, [ebp-5Ch]
.text:0026C6A6 push ecx
.text:0026C6A7 push 0Ah
.text:0026C6A9 call dword ptr [eax+14h]
.text:0026C6AC
.text:0026C6AC loc_26C6AC: ; CODE XREF: sub_26BF57+72Dj
.text:0026C6AC ; sub_26BF57+74Aj
.text:0026C6AC mov eax, esi
.text:0026C6AE call __SEH_epilog
.text:0026C6B3 retn 0Ch
.text:0026C6B3 sub_26BF57 endp
.text:0026C6B3
.text:0026C6B6 ; ---------------------------------------------------------------------------
.text:0026C6B6
.text:0026C6B6 loc_26C6B6: ; DATA XREF: .rdata:004CE968o
.text:0026C6B6 mov ebx, [ebp-88h]
.text:0026C6BC mov esi, [ebp-3Ch]
.text:0026C6BF
.text:0026C6BF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026C6BF
.text:0026C6BF
.text:0026C6BF sub_26C6BF proc near ; CODE XREF: sub_26BF57+726p
.text:0026C6BF cmp byte ptr [ebp-1Ah], 0
.text:0026C6C3 jz short locret_26C6D1
.text:0026C6C5 push dword ptr [ebx+580h]
.text:0026C6CB call ds:dword_485D88
.text:0026C6D1
.text:0026C6D1 locret_26C6D1: ; CODE XREF: sub_26C6BF+4j
.text:0026C6D1 retn
.text:0026C6D1 sub_26C6BF endp
.text:0026C6D1
.text:0026C6D2
.text:0026C6D2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026C6D2
.text:0026C6D2
.text:0026C6D2 sub_26C6D2 proc near ; CODE XREF: HeapFree(x,x,x)+Cp
.text:0026C6D2 ; LocalFree(x)+Cp ...
.text:0026C6D2 push 5Ch
.text:0026C6D4 push offset dword_4CE970
.text:0026C6D9 call __SEH_prolog
.text:0026C6DE mov esi, [ebp+8]
.text:0026C6E1 mov ebx, esi
.text:0026C6E3 mov [ebp-24h], ebx
.text:0026C6E6 mov byte ptr [ebp-19h], 0
.text:0026C6EA mov byte ptr [ebp-1Ah], 1
.text:0026C6EE mov edi, [ebp+10h]
.text:0026C6F1 test edi, edi
.text:0026C6F3 jnz short loc_26C6FC
.text:0026C6F5 mov al, 1
.text:0026C6F7 jmp loc_26C8A8
.text:0026C6FC ; ---------------------------------------------------------------------------
.text:0026C6FC
.text:0026C6FC loc_26C6FC: ; CODE XREF: sub_26C6D2+21j
.text:0026C6FC mov [ebp-6Ch], edi
.text:0026C6FF and dword ptr [ebp-68h], 0
.text:0026C703 and dword ptr [ebp-64h], 0
.text:0026C707 mov eax, large fs:20h
.text:0026C70D mov eax, [eax+250h]
.text:0026C713 test eax, eax
.text:0026C715 jz short loc_26C720
.text:0026C717 lea ecx, [ebp-6Ch]
.text:0026C71A push ecx
.text:0026C71B push 0Bh
.text:0026C71D call dword ptr [eax+14h]
.text:0026C720
.text:0026C720 loc_26C720: ; CODE XREF: sub_26C6D2+43j
.text:0026C720 mov eax, [ebp+0Ch]
.text:0026C723 or eax, [esi+18h]
.text:0026C726 add edi, 0FFFFFFF0h
.text:0026C729 and dword ptr [ebp-4], 0
.text:0026C72D test al, 1
.text:0026C72F jnz short loc_26C741
.text:0026C731 push dword ptr [esi+580h]
.text:0026C737 call ds:dword_485D84
.text:0026C73D mov byte ptr [ebp-19h], 1
.text:0026C741
.text:0026C741 loc_26C741: ; CODE XREF: sub_26C6D2+5Dj
.text:0026C741 test byte ptr [edi+5], 8
.text:0026C745 jnz loc_26C84E
.text:0026C74B movzx eax, word ptr [edi]
.text:0026C74E mov [ebp-20h], eax
.text:0026C751 push 0
.text:0026C753 lea eax, [ebp-20h]
.text:0026C756 push eax
.text:0026C757 push edi
.text:0026C758 push esi
.text:0026C759 call _RtlpCoalesceFreeBlocks@16 ; RtlpCoalesceFreeBlocks(x,x,x,x)
.text:0026C75E mov [ebp-30h], eax
.text:0026C761 mov ecx, [ebp-20h]
.text:0026C764 cmp ecx, 80h
.text:0026C76A jnb short loc_26C7D2
.text:0026C76C xor ecx, ecx
.text:0026C76E mov cl, [eax+5]
.text:0026C771 and ecx, 10h
.text:0026C774 mov [eax+5], cl
.text:0026C777 movzx ecx, word ptr [ebp-20h]
.text:0026C77B lea edx, [esi+ecx*8+180h]
.text:0026C782 mov [ebp-34h], edx
.text:0026C785 cmp [edx], edx
.text:0026C787 jnz short loc_26C7B1
.text:0026C789 movzx ecx, word ptr [eax]
.text:0026C78C mov edi, ecx
.text:0026C78E shr edi, 3
.text:0026C791 mov [ebp-38h], edi
.text:0026C794 and ecx, 7
.text:0026C797 xor ebx, ebx
.text:0026C799 inc ebx
.text:0026C79A shl ebx, cl
.text:0026C79C mov [ebp-3Ch], ebx
.text:0026C79F lea edi, [edi+esi+160h]
.text:0026C7A6 xor ecx, ecx
.text:0026C7A8 mov cl, [edi]
.text:0026C7AA or ecx, ebx
.text:0026C7AC mov [edi], cl
.text:0026C7AE mov ebx, [ebp-24h]
.text:0026C7B1
.text:0026C7B1 loc_26C7B1: ; CODE XREF: sub_26C6D2+B5j
.text:0026C7B1 mov [ebp-40h], edx
.text:0026C7B4 mov edi, [edx+4]
.text:0026C7B7 mov [ebp-44h], edi
.text:0026C7BA lea ecx, [eax+8]
.text:0026C7BD mov [ecx], edx
.text:0026C7BF mov [eax+0Ch], edi
.text:0026C7C2 mov [edi], ecx
.text:0026C7C4 mov [edx+4], ecx
.text:0026C7C7 mov eax, [ebp-20h]
.text:0026C7CA add [esi+30h], eax
.text:0026C7CD jmp loc_26C89C
.text:0026C7D2 ; ---------------------------------------------------------------------------
.text:0026C7D2
.text:0026C7D2 loc_26C7D2: ; CODE XREF: sub_26C6D2+98j
.text:0026C7D2 cmp ecx, [esi+28h]
.text:0026C7D5 jb short loc_26C7EE
.text:0026C7D7 mov edx, [esi+30h]
.text:0026C7DA add edx, ecx
.text:0026C7DC cmp edx, [esi+2Ch]
.text:0026C7DF jb short loc_26C7EE
.text:0026C7E1 push ecx
.text:0026C7E2 push eax
.text:0026C7E3 push esi
.text:0026C7E4 call _RtlpDeCommitFreeBlock@12 ; RtlpDeCommitFreeBlock(x,x,x)
.text:0026C7E9 jmp loc_26C89C
.text:0026C7EE ; ---------------------------------------------------------------------------
.text:0026C7EE
.text:0026C7EE loc_26C7EE: ; CODE XREF: sub_26C6D2+103j
.text:0026C7EE ; sub_26C6D2+10Dj
.text:0026C7EE cmp ecx, 0FF00h
.text:0026C7F4 ja short loc_26C844
.text:0026C7F6 xor ecx, ecx
.text:0026C7F8 mov cl, [eax+5]
.text:0026C7FB and ecx, 10h
.text:0026C7FE mov [eax+5], cl
.text:0026C801 add esi, 180h
.text:0026C807 mov [ebp-48h], esi
.text:0026C80A mov ecx, [esi]
.text:0026C80C
.text:0026C80C loc_26C80C: ; CODE XREF: sub_26C6D2+152j
.text:0026C80C mov [ebp-28h], ecx
.text:0026C80F cmp esi, ecx
.text:0026C811 jz short loc_26C826
.text:0026C813 lea edx, [ecx-8]
.text:0026C816 mov [ebp-4Ch], edx
.text:0026C819 mov di, [ebp-20h]
.text:0026C81D cmp di, [edx]
.text:0026C820 jbe short loc_26C826
.text:0026C822 mov ecx, [ecx]
.text:0026C824 jmp short loc_26C80C
.text:0026C826 ; ---------------------------------------------------------------------------
.text:0026C826
.text:0026C826 loc_26C826: ; CODE XREF: sub_26C6D2+13Fj
.text:0026C826 ; sub_26C6D2+14Ej
.text:0026C826 mov [ebp-50h], ecx
.text:0026C829 mov esi, [ecx+4]
.text:0026C82C mov [ebp-54h], esi
.text:0026C82F lea edx, [eax+8]
.text:0026C832 mov [edx], ecx
.text:0026C834 mov [eax+0Ch], esi
.text:0026C837 mov [esi], edx
.text:0026C839 mov [ecx+4], edx
.text:0026C83C mov eax, [ebp-20h]
.text:0026C83F add [ebx+30h], eax
.text:0026C842 jmp short loc_26C89C
.text:0026C844 ; ---------------------------------------------------------------------------
.text:0026C844
.text:0026C844 loc_26C844: ; CODE XREF: sub_26C6D2+122j
.text:0026C844 push ecx
.text:0026C845 push eax
.text:0026C846 push esi
.text:0026C847 call sub_26B012
.text:0026C84C jmp short loc_26C89C
.text:0026C84E ; ---------------------------------------------------------------------------
.text:0026C84E
.text:0026C84E loc_26C84E: ; CODE XREF: sub_26C6D2+73j
.text:0026C84E lea eax, [edi-20h]
.text:0026C851 mov [ebp-2Ch], eax
.text:0026C854 mov ecx, [eax]
.text:0026C856 mov [ebp-58h], ecx
.text:0026C859 mov eax, [eax+4]
.text:0026C85C mov [ebp-5Ch], eax
.text:0026C85F mov [eax], ecx
.text:0026C861 mov [ecx+4], eax
.text:0026C864 cmp byte ptr [ebp-19h], 0
.text:0026C868 jz short loc_26C87A
.text:0026C86A push dword ptr [esi+580h]
.text:0026C870 call ds:dword_485D88
.text:0026C876 mov byte ptr [ebp-19h], 0
.text:0026C87A
.text:0026C87A loc_26C87A: ; CODE XREF: sub_26C6D2+196j
.text:0026C87A and dword ptr [ebp-20h], 0
.text:0026C87E push 8000h
.text:0026C883 lea eax, [ebp-20h]
.text:0026C886 push eax
.text:0026C887 lea eax, [ebp-2Ch]
.text:0026C88A push eax
.text:0026C88B call ds:dword_485E74
.text:0026C891 mov [ebp-60h], eax
.text:0026C894 test eax, eax
.text:0026C896 jge short loc_26C89C
.text:0026C898 mov byte ptr [ebp-1Ah], 0
.text:0026C89C
.text:0026C89C loc_26C89C: ; CODE XREF: sub_26C6D2+FBj
.text:0026C89C ; sub_26C6D2+117j ...
.text:0026C89C or dword ptr [ebp-4], 0FFFFFFFFh
.text:0026C8A0 call sub_26C8B3
.text:0026C8A5 mov al, [ebp-1Ah]
.text:0026C8A8
.text:0026C8A8 loc_26C8A8: ; CODE XREF: sub_26C6D2+25j
.text:0026C8A8 call __SEH_epilog
.text:0026C8AD retn 0Ch
.text:0026C8AD sub_26C6D2 endp
.text:0026C8AD
.text:0026C8B0 ; ---------------------------------------------------------------------------
.text:0026C8B0
.text:0026C8B0 loc_26C8B0: ; DATA XREF: .rdata:004CE978o
.text:0026C8B0 mov ebx, [ebp-24h]
.text:0026C8B3
.text:0026C8B3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026C8B3
.text:0026C8B3
.text:0026C8B3 sub_26C8B3 proc near ; CODE XREF: sub_26C6D2+1CEp
.text:0026C8B3 cmp byte ptr [ebp-19h], 0
.text:0026C8B7 jz short locret_26C8C5
.text:0026C8B9 push dword ptr [ebx+580h]
.text:0026C8BF call ds:dword_485D88
.text:0026C8C5
.text:0026C8C5 locret_26C8C5: ; CODE XREF: sub_26C8B3+4j
.text:0026C8C5 retn
.text:0026C8C5 sub_26C8B3 endp
.text:0026C8C5
.text:0026C8C6
.text:0026C8C6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026C8C6
.text:0026C8C6
.text:0026C8C6 sub_26C8C6 proc near ; CODE XREF: _realloc+7Ep
.text:0026C8C6 ; _realloc+C9p
.text:0026C8C6 push 13Ch
.text:0026C8CB push offset dword_4CE980
.text:0026C8D0 call __SEH_prolog
.text:0026C8D5 mov eax, [ebp+8]
.text:0026C8D8 mov [ebp-2Ch], eax
.text:0026C8DB mov byte ptr [ebp-1Dh], 0
.text:0026C8DF mov esi, [ebp+10h]
.text:0026C8E2 test esi, esi
.text:0026C8E4 jz short loc_26C8FA
.text:0026C8E6 mov [ebp-74h], esi
.text:0026C8E9 mov ecx, [eax+18h]
.text:0026C8EC or [ebp+0Ch], ecx
.text:0026C8EF mov edx, [ebp+14h]
.text:0026C8F2 cmp edx, 7FFFFFFFh
.text:0026C8F8 jbe short loc_26C901
.text:0026C8FA
.text:0026C8FA loc_26C8FA: ; CODE XREF: sub_26C8C6+1Ej
.text:0026C8FA xor eax, eax
.text:0026C8FC jmp loc_26CFD6
.text:0026C901 ; ---------------------------------------------------------------------------
.text:0026C901
.text:0026C901 loc_26C901: ; CODE XREF: sub_26C8C6+32j
.text:0026C901 test edx, edx
.text:0026C903 jnz short loc_26C906
.text:0026C905 inc edx
.text:0026C906
.text:0026C906 loc_26C906: ; CODE XREF: sub_26C8C6+3Dj
.text:0026C906 mov ecx, [eax+50h]
.text:0026C909 add ecx, edx
.text:0026C90B and ecx, [eax+54h]
.text:0026C90E mov [ebp-1Ch], ecx
.text:0026C911 test dword ptr [ebp+0Ch], 3C000100h
.text:0026C918 jnz short loc_26C929
.text:0026C91A cmp dword ptr [eax+17Ch], 0
.text:0026C921 jnz short loc_26C929
.text:0026C923 test byte ptr [esi-0Bh], 2
.text:0026C927 jz short loc_26C92F
.text:0026C929
.text:0026C929 loc_26C929: ; CODE XREF: sub_26C8C6+52j
.text:0026C929 ; sub_26C8C6+5Bj
.text:0026C929 add ecx, 10h
.text:0026C92C mov [ebp-1Ch], ecx
.text:0026C92F
.text:0026C92F loc_26C92F: ; CODE XREF: sub_26C8C6+61j
.text:0026C92F and dword ptr [ebp-4], 0
.text:0026C933 test byte ptr [ebp+0Ch], 1
.text:0026C937 jnz short loc_26C94D
.text:0026C939 push dword ptr [eax+580h]
.text:0026C93F call ds:dword_485D84
.text:0026C945 mov byte ptr [ebp-1Dh], 1
.text:0026C949 xor dword ptr [ebp+0Ch], 1
.text:0026C94D
.text:0026C94D loc_26C94D: ; CODE XREF: sub_26C8C6+71j
.text:0026C94D mov dword ptr [ebp-4], 1
.text:0026C954 lea ebx, [esi-10h]
.text:0026C957 mov [ebp-64h], ebx
.text:0026C95A mov al, [ebx+5]
.text:0026C95D test al, 1
.text:0026C95F jz loc_26CF5D
.text:0026C965 mov cl, al
.text:0026C967 and cl, 8
.text:0026C96A jz short loc_26C9A1
.text:0026C96C lea edx, [ebx-20h]
.text:0026C96F mov [ebp-0F0h], edx
.text:0026C975 movzx eax, word ptr [ebx]
.text:0026C978 mov esi, [edx+18h]
.text:0026C97B sub esi, eax
.text:0026C97D mov [ebp-30h], esi
.text:0026C980 lea edx, [eax+esi]
.text:0026C983 shr edx, 4
.text:0026C986 mov [ebp-50h], edx
.text:0026C989 add dword ptr [ebp-1Ch], 20h
.text:0026C98D mov edi, [ebp-1Ch]
.text:0026C990 add edi, 0FFFh
.text:0026C996 and edi, 0FFFFF000h
.text:0026C99C mov [ebp-1Ch], edi
.text:0026C99F jmp short loc_26C9B7
.text:0026C9A1 ; ---------------------------------------------------------------------------
.text:0026C9A1
.text:0026C9A1 loc_26C9A1: ; CODE XREF: sub_26C8C6+A4j
.text:0026C9A1 movzx eax, word ptr [ebx]
.text:0026C9A4 mov edx, eax
.text:0026C9A6 mov [ebp-50h], edx
.text:0026C9A9 movzx edi, byte ptr [ebx+6]
.text:0026C9AD mov esi, edx
.text:0026C9AF shl esi, 4
.text:0026C9B2 sub esi, edi
.text:0026C9B4 mov [ebp-30h], esi
.text:0026C9B7
.text:0026C9B7 loc_26C9B7: ; CODE XREF: sub_26C8C6+D9j
.text:0026C9B7 mov edi, [ebp-1Ch]
.text:0026C9BA shr edi, 4
.text:0026C9BD mov [ebp-38h], edi
.text:0026C9C0 cmp edi, edx
.text:0026C9C2 ja loc_26CDAA
.text:0026C9C8 inc edi
.text:0026C9C9 cmp edi, edx
.text:0026C9CB jnz short loc_26C9D4
.text:0026C9CD mov [ebp-38h], edi
.text:0026C9D0 add dword ptr [ebp-1Ch], 10h
.text:0026C9D4
.text:0026C9D4 loc_26C9D4: ; CODE XREF: sub_26C8C6+105j
.text:0026C9D4 test cl, cl
.text:0026C9D6 jz short loc_26C9E3
.text:0026C9D8 mov eax, [ebp-1Ch]
.text:0026C9DB sub eax, [ebp+14h]
.text:0026C9DE mov [ebx], ax
.text:0026C9E1 jmp short loc_26CA0F
.text:0026C9E3 ; ---------------------------------------------------------------------------
.text:0026C9E3
.text:0026C9E3 loc_26C9E3: ; CODE XREF: sub_26C8C6+110j
.text:0026C9E3 test byte ptr [ebx+5], 2
.text:0026C9E7 jz short loc_26CA06
.text:0026C9E9 shl eax, 4
.text:0026C9EC lea eax, [eax+ebx-10h]
.text:0026C9F0 mov [ebp-4Ch], eax
.text:0026C9F3 mov ecx, [ebp-38h]
.text:0026C9F6 shl ecx, 4
.text:0026C9F9 lea edi, [ecx+ebx-10h]
.text:0026C9FD mov [ebp-6Ch], edi
.text:0026CA00 mov esi, eax
.text:0026CA02 movsd
.text:0026CA03 movsd
.text:0026CA04 movsd
.text:0026CA05 movsd
.text:0026CA06
.text:0026CA06 loc_26CA06: ; CODE XREF: sub_26C8C6+121j
.text:0026CA06 mov eax, [ebp-1Ch]
.text:0026CA09 sub eax, [ebp+14h]
.text:0026CA0C mov [ebx+6], al
.text:0026CA0F
.text:0026CA0F loc_26CA0F: ; CODE XREF: sub_26C8C6+11Bj
.text:0026CA0F mov esi, [ebp-30h]
.text:0026CA12 mov ecx, [ebp+14h]
.text:0026CA15 cmp ecx, esi
.text:0026CA17 jbe short loc_26CA36
.text:0026CA19 test byte ptr [ebp+0Ch], 8
.text:0026CA1D jz short loc_26CA36
.text:0026CA1F sub ecx, esi
.text:0026CA21 xor eax, eax
.text:0026CA23 mov edi, [ebp+10h]
.text:0026CA26 add edi, esi
.text:0026CA28 mov esi, ecx
.text:0026CA2A shr ecx, 2
.text:0026CA2D rep stosd
.text:0026CA2F mov ecx, esi
.text:0026CA31 and ecx, 3
.text:0026CA34 rep stosb
.text:0026CA36
.text:0026CA36 loc_26CA36: ; CODE XREF: sub_26C8C6+151j
.text:0026CA36 ; sub_26C8C6+157j
.text:0026CA36 mov ecx, [ebp-38h]
.text:0026CA39 cmp ecx, edx
.text:0026CA3B jz loc_26CEFC
.text:0026CA41 xor eax, eax
.text:0026CA43 mov al, [ebx+5]
.text:0026CA46 and eax, 0FFFFFFFEh
.text:0026CA49 mov [ebp-39h], al
.text:0026CA4C test al, 8
.text:0026CA4E jz short loc_26CA96
.text:0026CA50 add ebx, 0FFFFFFE0h
.text:0026CA53 mov [ebp-98h], ebx
.text:0026CA59 mov eax, [ebp-1Ch]
.text:0026CA5C lea ecx, [ebx+eax]
.text:0026CA5F mov [ebp-28h], ecx
.text:0026CA62 shl edx, 4
.text:0026CA65 sub edx, eax
.text:0026CA67 mov [ebp-24h], edx
.text:0026CA6A push 8000h
.text:0026CA6F lea eax, [ebp-24h]
.text:0026CA72 push eax
.text:0026CA73 lea eax, [ebp-28h]
.text:0026CA76 push eax
.text:0026CA77 call ds:dword_485E74
.text:0026CA7D mov [ebp-0F8h], eax
.text:0026CA83 test eax, eax
.text:0026CA85 jl loc_26CEFC
.text:0026CA8B mov eax, [ebp-24h]
.text:0026CA8E sub [ebx+18h], eax
.text:0026CA91 jmp loc_26CEFC
.text:0026CA96 ; ---------------------------------------------------------------------------
.text:0026CA96
.text:0026CA96 loc_26CA96: ; CODE XREF: sub_26C8C6+188j
.text:0026CA96 mov esi, ecx
.text:0026CA98 shl esi, 4
.text:0026CA9B add esi, ebx
.text:0026CA9D mov [ebp-0F4h], esi
.text:0026CAA3 mov [esi+5], al
.text:0026CAA6 mov [esi+2], cx
.text:0026CAAA mov dl, [ebx+4]
.text:0026CAAD mov [esi+4], dl
.text:0026CAB0 movzx edi, word ptr [ebx]
.text:0026CAB3 sub edi, ecx
.text:0026CAB5 mov [ebp-78h], edi
.text:0026CAB8 mov [ebx], cx
.text:0026CABB mov cl, [ebx+5]
.text:0026CABE and cl, 0EFh
.text:0026CAC1 mov [ebx+5], cl
.text:0026CAC4 test al, 10h
.text:0026CAC6 jz loc_26CB6F
.text:0026CACC movzx ecx, byte ptr [esi+4]
.text:0026CAD0 mov eax, [ebp+8]
.text:0026CAD3 mov ecx, [eax+ecx*4+60h]
.text:0026CAD7 mov [ebp-0A4h], ecx
.text:0026CADD mov [ecx+40h], esi
.text:0026CAE0 mov [esi], di
.text:0026CAE3 mov cl, [esi+5]
.text:0026CAE6 and cl, 0F8h
.text:0026CAE9 mov [esi+5], cl
.text:0026CAEC cmp di, 80h
.text:0026CAF1 jnb short loc_26CB34
.text:0026CAF3 movzx ecx, di
.text:0026CAF6 lea eax, [eax+ecx*8+180h]
.text:0026CAFD mov [ebp-40h], eax
.text:0026CB00 cmp [eax], eax
.text:0026CB02 jnz short loc_26CB5B
.text:0026CB04 movzx ecx, word ptr [esi]
.text:0026CB07 mov edx, ecx
.text:0026CB09 shr edx, 3
.text:0026CB0C mov [ebp-0D4h], edx
.text:0026CB12 and ecx, 7
.text:0026CB15 xor ebx, ebx
.text:0026CB17 inc ebx
.text:0026CB18 shl ebx, cl
.text:0026CB1A mov [ebp-0ACh], ebx
.text:0026CB20 mov ecx, [ebp+8]
.text:0026CB23 lea ecx, [edx+ecx+160h]
.text:0026CB2A xor edx, edx
.text:0026CB2C mov dl, [ecx]
.text:0026CB2E or edx, ebx
.text:0026CB30 mov [ecx], dl
.text:0026CB32 jmp short loc_26CB5B
.text:0026CB34 ; ---------------------------------------------------------------------------
.text:0026CB34
.text:0026CB34 loc_26CB34: ; CODE XREF: sub_26C8C6+22Bj
.text:0026CB34 lea edx, [eax+180h]
.text:0026CB3A mov [ebp-40h], edx
.text:0026CB3D mov eax, [edx]
.text:0026CB3F
.text:0026CB3F loc_26CB3F: ; CODE XREF: sub_26C8C6+290j
.text:0026CB3F mov [ebp-58h], eax
.text:0026CB42 cmp edx, eax
.text:0026CB44 jz short loc_26CB58
.text:0026CB46 lea ecx, [eax-8]
.text:0026CB49 mov [ebp-0ECh], ecx
.text:0026CB4F cmp di, [ecx]
.text:0026CB52 jbe short loc_26CB58
.text:0026CB54 mov eax, [eax]
.text:0026CB56 jmp short loc_26CB3F
.text:0026CB58 ; ---------------------------------------------------------------------------
.text:0026CB58
.text:0026CB58 loc_26CB58: ; CODE XREF: sub_26C8C6+27Ej
.text:0026CB58 ; sub_26C8C6+28Cj
.text:0026CB58 mov [ebp-40h], eax
.text:0026CB5B
.text:0026CB5B loc_26CB5B: ; CODE XREF: sub_26C8C6+23Cj
.text:0026CB5B ; sub_26C8C6+26Cj
.text:0026CB5B mov [ebp-0B4h], eax
.text:0026CB61 mov edx, [eax+4]
.text:0026CB64 mov [ebp-0DCh], edx
.text:0026CB6A jmp loc_26CD83
.text:0026CB6F ; ---------------------------------------------------------------------------
.text:0026CB6F
.text:0026CB6F loc_26CB6F: ; CODE XREF: sub_26C8C6+200j
.text:0026CB6F mov eax, edi
.text:0026CB71 shl eax, 4
.text:0026CB74 lea ebx, [eax+esi]
.text:0026CB77 mov [ebp-0BCh], ebx
.text:0026CB7D mov al, [ebx+5]
.text:0026CB80 test al, 1
.text:0026CB82 jz loc_26CC20
.text:0026CB88 mov [esi], di
.text:0026CB8B mov [ebx+2], di
.text:0026CB8F mov al, [esi+5]
.text:0026CB92 and al, 0F8h
.text:0026CB94 mov [esi+5], al
.text:0026CB97 cmp di, 80h
.text:0026CB9C jnb short loc_26CBE2
.text:0026CB9E movzx eax, di
.text:0026CBA1 mov ecx, [ebp+8]
.text:0026CBA4 lea eax, [ecx+eax*8+180h]
.text:0026CBAB mov [ebp-48h], eax
.text:0026CBAE cmp [eax], eax
.text:0026CBB0 jnz short loc_26CC0C
.text:0026CBB2 movzx ecx, word ptr [esi]
.text:0026CBB5 mov edx, ecx
.text:0026CBB7 shr edx, 3
.text:0026CBBA mov [ebp-0FCh], edx
.text:0026CBC0 and ecx, 7
.text:0026CBC3 xor ebx, ebx
.text:0026CBC5 inc ebx
.text:0026CBC6 shl ebx, cl
.text:0026CBC8 mov [ebp-0C4h], ebx
.text:0026CBCE mov ecx, [ebp+8]
.text:0026CBD1 lea ecx, [edx+ecx+160h]
.text:0026CBD8 xor edx, edx
.text:0026CBDA mov dl, [ecx]
.text:0026CBDC or edx, ebx
.text:0026CBDE mov [ecx], dl
.text:0026CBE0 jmp short loc_26CC0C
.text:0026CBE2 ; ---------------------------------------------------------------------------
.text:0026CBE2
.text:0026CBE2 loc_26CBE2: ; CODE XREF: sub_26C8C6+2D6j
.text:0026CBE2 mov edx, [ebp+8]
.text:0026CBE5 add edx, 180h
.text:0026CBEB mov [ebp-48h], edx
.text:0026CBEE mov eax, [edx]
.text:0026CBF0
.text:0026CBF0 loc_26CBF0: ; CODE XREF: sub_26C8C6+341j
.text:0026CBF0 mov [ebp-70h], eax
.text:0026CBF3 cmp edx, eax
.text:0026CBF5 jz short loc_26CC09
.text:0026CBF7 lea ecx, [eax-8]
.text:0026CBFA mov [ebp-0E4h], ecx
.text:0026CC00 cmp di, [ecx]
.text:0026CC03 jbe short loc_26CC09
.text:0026CC05 mov eax, [eax]
.text:0026CC07 jmp short loc_26CBF0
.text:0026CC09 ; ---------------------------------------------------------------------------
.text:0026CC09
.text:0026CC09 loc_26CC09: ; CODE XREF: sub_26C8C6+32Fj
.text:0026CC09 ; sub_26C8C6+33Dj
.text:0026CC09 mov [ebp-48h], eax
.text:0026CC0C
.text:0026CC0C loc_26CC0C: ; CODE XREF: sub_26C8C6+2EAj
.text:0026CC0C ; sub_26C8C6+31Aj
.text:0026CC0C mov [ebp-0CCh], eax
.text:0026CC12 mov edx, [eax+4]
.text:0026CC15 mov [ebp-9Ch], edx
.text:0026CC1B jmp loc_26CD83
.text:0026CC20 ; ---------------------------------------------------------------------------
.text:0026CC20
.text:0026CC20 loc_26CC20: ; CODE XREF: sub_26C8C6+2BCj
.text:0026CC20 mov [esi+5], al
.text:0026CC23 mov eax, [ebx+8]
.text:0026CC26 mov [ebp-0A0h], eax
.text:0026CC2C mov ecx, [ebx+0Ch]
.text:0026CC2F mov [ebp-0A8h], ecx
.text:0026CC35 mov [ecx], eax
.text:0026CC37 mov [eax+4], ecx
.text:0026CC3A cmp eax, ecx
.text:0026CC3C jnz short loc_26CC80
.text:0026CC3E mov ax, [ebx]
.text:0026CC41 cmp ax, 80h
.text:0026CC45 jnb short loc_26CC80
.text:0026CC47 movzx ecx, ax
.text:0026CC4A mov eax, ecx
.text:0026CC4C shr eax, 3
.text:0026CC4F mov [ebp-0B0h], eax
.text:0026CC55 and ecx, 7
.text:0026CC58 xor edx, edx
.text:0026CC5A inc edx
.text:0026CC5B shl edx, cl
.text:0026CC5D mov [ebp-60h], edx
.text:0026CC60 mov edx, [ebp+8]
.text:0026CC63 lea eax, [eax+edx+160h]
.text:0026CC6A mov [ebp-88h], eax
.text:0026CC70 movzx eax, byte ptr [eax]
.text:0026CC73 xor eax, [ebp-60h]
.text:0026CC76 mov ecx, [ebp-88h]
.text:0026CC7C mov [ecx], al
.text:0026CC7E jmp short loc_26CC83
.text:0026CC80 ; ---------------------------------------------------------------------------
.text:0026CC80
.text:0026CC80 loc_26CC80: ; CODE XREF: sub_26C8C6+376j
.text:0026CC80 ; sub_26C8C6+37Fj
.text:0026CC80 mov edx, [ebp+8]
.text:0026CC83
.text:0026CC83 loc_26CC83: ; CODE XREF: sub_26C8C6+3B8j
.text:0026CC83 mov cl, [ebx+5]
.text:0026CC86 test cl, 4
.text:0026CC89 jz short loc_26CCC0
.text:0026CC8B movzx eax, word ptr [ebx]
.text:0026CC8E shl eax, 4
.text:0026CC91 sub eax, 18h
.text:0026CC94 mov [ebp-68h], eax
.text:0026CC97 test cl, 2
.text:0026CC9A jz short loc_26CCA7
.text:0026CC9C cmp eax, 4
.text:0026CC9F jbe short loc_26CCA7
.text:0026CCA1 sub eax, 4
.text:0026CCA4 mov [ebp-68h], eax
.text:0026CCA7
.text:0026CCA7 loc_26CCA7: ; CODE XREF: sub_26C8C6+3D4j
.text:0026CCA7 ; sub_26C8C6+3D9j
.text:0026CCA7 push 0FEEEFEEEh
.text:0026CCAC push eax
.text:0026CCAD lea eax, [ebx+18h]
.text:0026CCB0 push eax
.text:0026CCB1 call ds:dword_485F24
.text:0026CCB7 mov [ebp-0B8h], eax
.text:0026CCBD mov edx, [ebp+8]
.text:0026CCC0
.text:0026CCC0 loc_26CCC0: ; CODE XREF: sub_26C8C6+3C3j
.text:0026CCC0 movzx eax, word ptr [ebx]
.text:0026CCC3 sub [edx+30h], eax
.text:0026CCC6 movzx eax, word ptr [ebx]
.text:0026CCC9 add edi, eax
.text:0026CCCB mov [ebp-78h], edi
.text:0026CCCE cmp edi, 0FF00h
.text:0026CCD4 ja loc_26CD9B
.text:0026CCDA mov [esi], di
.text:0026CCDD test byte ptr [esi+5], 10h
.text:0026CCE1 jnz short loc_26CCEF
.text:0026CCE3 mov eax, edi
.text:0026CCE5 shl eax, 4
.text:0026CCE8 mov [eax+esi+2], di
.text:0026CCED jmp short loc_26CD00
.text:0026CCEF ; ---------------------------------------------------------------------------
.text:0026CCEF
.text:0026CCEF loc_26CCEF: ; CODE XREF: sub_26C8C6+41Bj
.text:0026CCEF movzx eax, byte ptr [esi+4]
.text:0026CCF3 mov eax, [edx+eax*4+60h]
.text:0026CCF7 mov [ebp-0C0h], eax
.text:0026CCFD mov [eax+40h], esi
.text:0026CD00
.text:0026CD00 loc_26CD00: ; CODE XREF: sub_26C8C6+427j
.text:0026CD00 mov al, [esi+5]
.text:0026CD03 and al, 0F8h
.text:0026CD05 mov [esi+5], al
.text:0026CD08 cmp di, 80h
.text:0026CD0D jnb short loc_26CD4D
.text:0026CD0F movzx eax, di
.text:0026CD12 lea eax, [edx+eax*8+180h]
.text:0026CD19 mov [ebp-44h], eax
.text:0026CD1C cmp [eax], eax
.text:0026CD1E jnz short loc_26CD74
.text:0026CD20 movzx ecx, word ptr [esi]
.text:0026CD23 mov ebx, ecx
.text:0026CD25 shr ebx, 3
.text:0026CD28 mov [ebp-54h], ebx
.text:0026CD2B and ecx, 7
.text:0026CD2E xor ebx, ebx
.text:0026CD30 inc ebx
.text:0026CD31 shl ebx, cl
.text:0026CD33 mov [ebp-0C8h], ebx
.text:0026CD39 mov ecx, [ebp-54h]
.text:0026CD3C lea edx, [ecx+edx+160h]
.text:0026CD43 xor ecx, ecx
.text:0026CD45 mov cl, [edx]
.text:0026CD47 or ecx, ebx
.text:0026CD49 mov [edx], cl
.text:0026CD4B jmp short loc_26CD74
.text:0026CD4D ; ---------------------------------------------------------------------------
.text:0026CD4D
.text:0026CD4D loc_26CD4D: ; CODE XREF: sub_26C8C6+447j
.text:0026CD4D add edx, 180h
.text:0026CD53 mov [ebp-44h], edx
.text:0026CD56 mov eax, [edx]
.text:0026CD58
.text:0026CD58 loc_26CD58: ; CODE XREF: sub_26C8C6+4A9j
.text:0026CD58 mov [ebp-5Ch], eax
.text:0026CD5B cmp edx, eax
.text:0026CD5D jz short loc_26CD71
.text:0026CD5F lea ecx, [eax-8]
.text:0026CD62 mov [ebp-0D0h], ecx
.text:0026CD68 cmp di, [ecx]
.text:0026CD6B jbe short loc_26CD71
.text:0026CD6D mov eax, [eax]
.text:0026CD6F jmp short loc_26CD58
.text:0026CD71 ; ---------------------------------------------------------------------------
.text:0026CD71
.text:0026CD71 loc_26CD71: ; CODE XREF: sub_26C8C6+497j
.text:0026CD71 ; sub_26C8C6+4A5j
.text:0026CD71 mov [ebp-44h], eax
.text:0026CD74
.text:0026CD74 loc_26CD74: ; CODE XREF: sub_26C8C6+458j
.text:0026CD74 ; sub_26C8C6+485j
.text:0026CD74 mov [ebp-0D8h], eax
.text:0026CD7A mov edx, [eax+4]
.text:0026CD7D mov [ebp-0E0h], edx
.text:0026CD83
.text:0026CD83 loc_26CD83: ; CODE XREF: sub_26C8C6+2A4j
.text:0026CD83 ; sub_26C8C6+355j
.text:0026CD83 lea ecx, [esi+8]
.text:0026CD86 mov [ecx], eax
.text:0026CD88 mov [esi+0Ch], edx
.text:0026CD8B mov [edx], ecx
.text:0026CD8D mov [eax+4], ecx
.text:0026CD90 mov eax, [ebp-2Ch]
.text:0026CD93 add [eax+30h], edi
.text:0026CD96 jmp loc_26CEFC
.text:0026CD9B ; ---------------------------------------------------------------------------
.text:0026CD9B
.text:0026CD9B loc_26CD9B: ; CODE XREF: sub_26C8C6+40Ej
.text:0026CD9B push edi
.text:0026CD9C push esi
.text:0026CD9D push dword ptr [ebp+8]
.text:0026CDA0 call sub_26B012
.text:0026CDA5 jmp loc_26CEFC
.text:0026CDAA ; ---------------------------------------------------------------------------
.text:0026CDAA
.text:0026CDAA loc_26CDAA: ; CODE XREF: sub_26C8C6+FCj
.text:0026CDAA test cl, cl
.text:0026CDAC jnz short loc_26CDC9
.text:0026CDAE push edi
.text:0026CDAF push dword ptr [ebp+14h]
.text:0026CDB2 push ebx
.text:0026CDB3 push dword ptr [ebp+0Ch]
.text:0026CDB6 push dword ptr [ebp+8]
.text:0026CDB9 call sub_26B1B7
.text:0026CDBE test al, al
.text:0026CDC0 jnz loc_26CEFC
.text:0026CDC6 mov esi, [ebp-30h]
.text:0026CDC9
.text:0026CDC9 loc_26CDC9: ; CODE XREF: sub_26C8C6+4E6j
.text:0026CDC9 test byte ptr [ebp+0Ch], 10h
.text:0026CDCD jz short loc_26CDD8
.text:0026CDCF and dword ptr [ebp+10h], 0
.text:0026CDD3 jmp loc_26CEFC
.text:0026CDD8 ; ---------------------------------------------------------------------------
.text:0026CDD8
.text:0026CDD8 loc_26CDD8: ; CODE XREF: sub_26C8C6+507j
.text:0026CDD8 and word ptr [ebp+0Eh], 0C003h
.text:0026CDDE xor eax, eax
.text:0026CDE0 mov al, [ebx+5]
.text:0026CDE3 test al, 2
.text:0026CDE5 jz short loc_26CE46
.text:0026CDE7 and byte ptr [ebp+0Dh], 0F1h
.text:0026CDEB and eax, 0E0h
.text:0026CDF0 or eax, 10h
.text:0026CDF3 shl eax, 4
.text:0026CDF6 or [ebp+0Ch], eax
.text:0026CDF9 push ebx
.text:0026CDFA call _RtlpGetExtraStuffPointer@4 ; RtlpGetExtraStuffPointer(x)
.text:0026CDFF mov [ebp-4Ch], eax
.text:0026CE02 mov dword ptr [ebp-4], 2
.text:0026CE09 mov ax, [eax+2]
.text:0026CE0D test ax, ax
.text:0026CE10 jz short loc_26CE1F
.text:0026CE12 test ah, ah
.text:0026CE14 js short loc_26CE1F
.text:0026CE16 movzx eax, ax
.text:0026CE19 shl eax, 12h
.text:0026CE1C or [ebp+0Ch], eax
.text:0026CE1F
.text:0026CE1F loc_26CE1F: ; CODE XREF: sub_26C8C6+54Aj
.text:0026CE1F ; sub_26C8C6+54Ej
.text:0026CE1F mov dword ptr [ebp-4], 1
.text:0026CE26 jmp short loc_26CE56
.text:0026CE28 ; ---------------------------------------------------------------------------
.text:0026CE28 xor eax, eax
.text:0026CE2A inc eax
.text:0026CE2B retn
.text:0026CE2C ; ---------------------------------------------------------------------------
.text:0026CE2C mov esp, [ebp-18h]
.text:0026CE2F mov ebx, [ebp-64h]
.text:0026CE32 mov al, [ebx+5]
.text:0026CE35 and al, 0FDh
.text:0026CE37 mov [ebx+5], al
.text:0026CE3A mov dword ptr [ebp-4], 1
.text:0026CE41 mov esi, [ebp-30h]
.text:0026CE44 jmp short loc_26CE56
.text:0026CE46 ; ---------------------------------------------------------------------------
.text:0026CE46
.text:0026CE46 loc_26CE46: ; CODE XREF: sub_26C8C6+51Fj
.text:0026CE46 mov al, [ebx+7]
.text:0026CE49 test al, al
.text:0026CE4B jz short loc_26CE56
.text:0026CE4D movzx eax, al
.text:0026CE50 shl eax, 12h
.text:0026CE53 or [ebp+0Ch], eax
.text:0026CE56
.text:0026CE56 loc_26CE56: ; CODE XREF: sub_26C8C6+560j
.text:0026CE56 ; sub_26C8C6+57Ej ...
.text:0026CE56 push dword ptr [ebp+14h]
.text:0026CE59 mov eax, [ebp+0Ch]
.text:0026CE5C and eax, 0FFFFFFF7h
.text:0026CE5F push eax
.text:0026CE60 push dword ptr [ebp+8]
.text:0026CE63 call sub_26BF57
.text:0026CE68 mov [ebp-34h], eax
.text:0026CE6B test eax, eax
.text:0026CE6D jz loc_26CEF9
.text:0026CE73 add eax, 0FFFFFFF0h
.text:0026CE76 mov [ebp-0E8h], eax
.text:0026CE7C test byte ptr [eax+5], 2
.text:0026CE80 jz short loc_26CEAA
.text:0026CE82 push eax
.text:0026CE83 call _RtlpGetExtraStuffPointer@4 ; RtlpGetExtraStuffPointer(x)
.text:0026CE88 mov edi, eax
.text:0026CE8A mov [ebp-6Ch], edi
.text:0026CE8D test byte ptr [ebx+5], 2
.text:0026CE91 jz short loc_26CEA4
.text:0026CE93 push ebx
.text:0026CE94 call _RtlpGetExtraStuffPointer@4 ; RtlpGetExtraStuffPointer(x)
.text:0026CE99 mov [ebp-4Ch], eax
.text:0026CE9C mov eax, [eax+4]
.text:0026CE9F mov [edi+4], eax
.text:0026CEA2 jmp short loc_26CEAA
.text:0026CEA4 ; ---------------------------------------------------------------------------
.text:0026CEA4
.text:0026CEA4 loc_26CEA4: ; CODE XREF: sub_26C8C6+5CBj
.text:0026CEA4 xor eax, eax
.text:0026CEA6 stosd
.text:0026CEA7 stosd
.text:0026CEA8 stosd
.text:0026CEA9 stosd
.text:0026CEAA
.text:0026CEAA loc_26CEAA: ; CODE XREF: sub_26C8C6+5BAj
.text:0026CEAA ; sub_26C8C6+5DCj
.text:0026CEAA mov eax, [ebp+14h]
.text:0026CEAD cmp eax, esi
.text:0026CEAF jb short loc_26CEB3
.text:0026CEB1 mov eax, esi
.text:0026CEB3
.text:0026CEB3 loc_26CEB3: ; CODE XREF: sub_26C8C6+5E9j
.text:0026CEB3 push eax
.text:0026CEB4 push dword ptr [ebp+10h]
.text:0026CEB7 push dword ptr [ebp-34h]
.text:0026CEBA call unknown_libname_80 ; XBOX Flirt v2.00 Final.
.text:0026CEBF add esp, 0Ch
.text:0026CEC2 cmp [ebp+14h], esi
.text:0026CEC5 jbe short loc_26CEE8
.text:0026CEC7 test byte ptr [ebp+0Ch], 8
.text:0026CECB jz short loc_26CEE8
.text:0026CECD mov ecx, [ebp+14h]
.text:0026CED0 sub ecx, esi
.text:0026CED2 xor eax, eax
.text:0026CED4 mov edx, [ebp-34h]
.text:0026CED7 lea edi, [edx+esi]
.text:0026CEDA mov edx, ecx
.text:0026CEDC shr ecx, 2
.text:0026CEDF rep stosd
.text:0026CEE1 mov ecx, edx
.text:0026CEE3 and ecx, 3
.text:0026CEE6 rep stosb
.text:0026CEE8
.text:0026CEE8 loc_26CEE8: ; CODE XREF: sub_26C8C6+5FFj
.text:0026CEE8 ; sub_26C8C6+605j
.text:0026CEE8 push dword ptr [ebp+10h]
.text:0026CEEB push dword ptr [ebp+0Ch]
.text:0026CEEE push dword ptr [ebp+8]
.text:0026CEF1 call sub_26C6D2
.text:0026CEF6 mov eax, [ebp-34h]
.text:0026CEF9
.text:0026CEF9 loc_26CEF9: ; CODE XREF: sub_26C8C6+5A7j
.text:0026CEF9 mov [ebp+10h], eax
.text:0026CEFC
.text:0026CEFC loc_26CEFC: ; CODE XREF: sub_26C8C6+175j
.text:0026CEFC ; sub_26C8C6+1BFj ...
.text:0026CEFC cmp dword ptr [ebp+10h], 0
.text:0026CF00 jnz short loc_26CF5D
.text:0026CF02 test byte ptr [ebp+0Ch], 4
.text:0026CF06 jz short loc_26CF5D
.text:0026CF08 mov dword ptr [ebp-14Ch], 0C0000017h
.text:0026CF12 and dword ptr [ebp-144h], 0
.text:0026CF19 mov dword ptr [ebp-13Ch], 1
.text:0026CF23 and dword ptr [ebp-148h], 0
.text:0026CF2A mov eax, [ebp-1Ch]
.text:0026CF2D mov [ebp-138h], eax
.text:0026CF33 lea eax, [ebp-14Ch]
.text:0026CF39 push eax
.text:0026CF3A call ds:dword_485E40
.text:0026CF40 jmp short loc_26CF5D
.text:0026CF42 ; ---------------------------------------------------------------------------
.text:0026CF42
.text:0026CF42 loc_26CF42: ; DATA XREF: .rdata:004CE990o
.text:0026CF42 mov eax, [ebp-14h]
.text:0026CF45 mov eax, [eax]
.text:0026CF47 mov eax, [eax]
.text:0026CF49 xor ecx, ecx
.text:0026CF4B cmp eax, 0C0000017h
.text:0026CF50 setnz cl
.text:0026CF53 mov eax, ecx
.text:0026CF55 retn
.text:0026CF56 ; ---------------------------------------------------------------------------
.text:0026CF56
.text:0026CF56 loc_26CF56: ; DATA XREF: .rdata:004CE994o
.text:0026CF56 mov esp, [ebp-18h]
.text:0026CF59 and dword ptr [ebp+10h], 0
.text:0026CF5D
.text:0026CF5D loc_26CF5D: ; CODE XREF: sub_26C8C6+99j
.text:0026CF5D ; sub_26C8C6+63Aj ...
.text:0026CF5D and dword ptr [ebp-4], 0
.text:0026CF61 or dword ptr [ebp-4], 0FFFFFFFFh
.text:0026CF65 call sub_26CFDE
.text:0026CF6A mov ecx, [ebp+10h]
.text:0026CF6D cmp [ebp-74h], ecx
.text:0026CF70 jnz short loc_26CFD4
.text:0026CF72 mov [ebp-94h], ecx
.text:0026CF78 and dword ptr [ebp-90h], 0
.text:0026CF7F and dword ptr [ebp-8Ch], 0
.text:0026CF86 mov eax, large fs:20h
.text:0026CF8C mov eax, [eax+250h]
.text:0026CF92 test eax, eax
.text:0026CF94 jz short loc_26CFA5
.text:0026CF96 lea ecx, [ebp-94h]
.text:0026CF9C push ecx
.text:0026CF9D push 0Bh
.text:0026CF9F call dword ptr [eax+14h]
.text:0026CFA2 mov ecx, [ebp+10h]
.text:0026CFA5
.text:0026CFA5 loc_26CFA5: ; CODE XREF: sub_26C8C6+6CEj
.text:0026CFA5 mov [ebp-84h], ecx
.text:0026CFAB mov eax, [ebp+14h]
.text:0026CFAE mov [ebp-80h], eax
.text:0026CFB1 and dword ptr [ebp-7Ch], 0
.text:0026CFB5 mov eax, large fs:20h
.text:0026CFBB mov eax, [eax+250h]
.text:0026CFC1 test eax, eax
.text:0026CFC3 jz short loc_26CFD4
.text:0026CFC5 lea ecx, [ebp-84h]
.text:0026CFCB push ecx
.text:0026CFCC push 0Ah
.text:0026CFCE call dword ptr [eax+14h]
.text:0026CFD1 mov ecx, [ebp+10h]
.text:0026CFD4
.text:0026CFD4 loc_26CFD4: ; CODE XREF: sub_26C8C6+6AAj
.text:0026CFD4 ; sub_26C8C6+6FDj
.text:0026CFD4 mov eax, ecx
.text:0026CFD6
.text:0026CFD6 loc_26CFD6: ; CODE XREF: sub_26C8C6+36j
.text:0026CFD6 call __SEH_epilog
.text:0026CFDB retn 10h
.text:0026CFDB sub_26C8C6 endp
.text:0026CFDB
.text:0026CFDE
.text:0026CFDE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026CFDE
.text:0026CFDE
.text:0026CFDE sub_26CFDE proc near ; CODE XREF: sub_26C8C6+69Fp
.text:0026CFDE ; DATA XREF: .rdata:004CE988o
.text:0026CFDE cmp byte ptr [ebp-1Dh], 0
.text:0026CFE2 jz short locret_26CFF3
.text:0026CFE4 mov eax, [ebp-2Ch]
.text:0026CFE7 push dword ptr [eax+580h]
.text:0026CFED call ds:dword_485D88
.text:0026CFF3
.text:0026CFF3 locret_26CFF3: ; CODE XREF: sub_26CFDE+4j
.text:0026CFF3 retn
.text:0026CFF3 sub_26CFDE endp
.text:0026CFF3
.text:0026CFF4 ; [0000001B BYTES: COLLAPSED FUNCTION XAutoPowerDownResetTimer(). PRESS KEYPAD "+" TO EXPAND]
.text:0026D00F ; [00000012 BYTES: COLLAPSED FUNCTION XapiAutoPowerDownTimeout(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026D021
.text:0026D021 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D021
.text:0026D021 ; Attributes: bp-based frame
.text:0026D021
.text:0026D021 sub_26D021 proc near ; CODE XREF: sub_269696+1Dp
.text:0026D021
.text:0026D021 var_C = dword ptr -0Ch
.text:0026D021 var_8 = dword ptr -8
.text:0026D021 var_4 = dword ptr -4
.text:0026D021
.text:0026D021 push ebp
.text:0026D022 mov ebp, esp
.text:0026D024 sub esp, 0Ch
.text:0026D027 push 0
.text:0026D029 push offset _XapiAutoPowerDownTimeout@16 ; XapiAutoPowerDownTimeout(x,x,x,x)
.text:0026D02E push offset dword_5E7300
.text:0026D033 call ds:dword_485ED8
.text:0026D039 push 0
.text:0026D03B push offset dword_5E7320
.text:0026D040 call ds:dword_485ED4
.text:0026D046 mov eax, ds:dword_485EEC
.text:0026D04B and dword_5E7348, 0
.text:0026D052 and dword_5E734C, 0
.text:0026D059 test byte ptr [eax], 8
.text:0026D05C jnz short loc_26D08E
.text:0026D05E lea eax, [ebp+var_8]
.text:0026D061 push eax
.text:0026D062 push 4
.text:0026D064 lea eax, [ebp+var_4]
.text:0026D067 push eax
.text:0026D068 lea eax, [ebp+var_C]
.text:0026D06B push eax
.text:0026D06C push 11h
.text:0026D06E call _XQueryValue@20 ; XQueryValue(x,x,x,x,x)
.text:0026D073 test eax, eax
.text:0026D075 jnz short loc_26D084
.text:0026D077 mov eax, [ebp+var_4]
.text:0026D07A and eax, 1
.text:0026D07D mov dword_5E7348, eax
.text:0026D082 jmp short loc_26D08E
.text:0026D084 ; ---------------------------------------------------------------------------
.text:0026D084
.text:0026D084 loc_26D084: ; CODE XREF: sub_26D021+54j
.text:0026D084 mov dword_5E734C, 1
.text:0026D08E
.text:0026D08E loc_26D08E: ; CODE XREF: sub_26D021+3Bj
.text:0026D08E ; sub_26D021+61j
.text:0026D08E call _XAutoPowerDownResetTimer@0 ; XAutoPowerDownResetTimer()
.text:0026D093 leave
.text:0026D094 retn
.text:0026D094 sub_26D021 endp
.text:0026D094
.text:0026D095 ; ---------------------------------------------------------------------------
.text:0026D095
.text:0026D095 loc_26D095: ; DATA XREF: .text:0026D0C7o
.text:0026D095 mov eax, ds:dword_485F2C
.text:0026D09A and dword ptr [eax+20h], 0
.text:0026D09E push 0
.text:0026D0A0 push 1
.text:0026D0A2 push offset off_56E290
.text:0026D0A7 call ds:dword_485ECC
.text:0026D0AD retn
.text:0026D0AE ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_37. PRESS KEYPAD "+" TO EXPAND]
.text:0026D0B1 ; ---------------------------------------------------------------------------
.text:0026D0B1
.text:0026D0B1 loc_26D0B1: ; DATA XREF: .data:off_56E280o
.text:0026D0B1 push esi
.text:0026D0B2 mov esi, ds:dword_485F2C
.text:0026D0B8 call ds:dword_485E6C
.text:0026D0BE mov cl, al
.text:0026D0C0 mov dword ptr [esi+10h], offset nullsub_37
.text:0026D0C7 mov dword ptr [esi+14h], offset loc_26D095
.text:0026D0CE call ds:dword_485E68
.text:0026D0D4 xor eax, eax
.text:0026D0D6 cmp [esi+20h], eax
.text:0026D0D9 pop esi
.text:0026D0DA jz short loc_26D0EC
.text:0026D0DC push eax
.text:0026D0DD push eax
.text:0026D0DE push 1
.text:0026D0E0 push eax
.text:0026D0E1 push offset off_56E290
.text:0026D0E6 call ds:dword_485ED0
.text:0026D0EC
.text:0026D0EC loc_26D0EC: ; CODE XREF: .text:0026D0DAj
.text:0026D0EC mov eax, dword_5E7358
.text:0026D0F1 mov ecx, dword_5E735C
.text:0026D0F7 mov edx, eax
.text:0026D0F9 or edx, ecx
.text:0026D0FB jz short locret_26D104
.text:0026D0FD push ecx
.text:0026D0FE push eax
.text:0026D0FF call sub_26D950
.text:0026D104
.text:0026D104 locret_26D104: ; CODE XREF: .text:0026D0FBj
.text:0026D104 retn 4
.text:0026D104 ; ---------------------------------------------------------------------------
.text:0026D107 align 10h
.text:0026D110
.text:0026D110 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D110
.text:0026D110
.text:0026D110 sub_26D110 proc near ; CODE XREF: unknown_libname_42+7Dp
.text:0026D110 ; sub_26BF57+190p ...
.text:0026D110 bsf eax, ecx
.text:0026D113 retn
.text:0026D113 sub_26D110 endp
.text:0026D113
.text:0026D114 ; [0000003E BYTES: COLLAPSED FUNCTION XapiComputeContentMetadataFileName(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026D152
.text:0026D152 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D152
.text:0026D152 ; Attributes: library function
.text:0026D152
.text:0026D152 ; __stdcall XComputeContentSignatureKey(x,x)
.text:0026D152 _XComputeContentSignatureKey@8 proc near
.text:0026D152 ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+20p
.text:0026D152
.text:0026D152 arg_0 = dword ptr 4
.text:0026D152 arg_4 = dword ptr 8
.text:0026D152
.text:0026D152 push [esp+arg_4]
.text:0026D156 lea eax, [esp+4+arg_0]
.text:0026D15A push 0
.text:0026D15C push 0
.text:0026D15E push 4
.text:0026D160 push eax
.text:0026D161 push 10h
.text:0026D163 push ds:dword_485E5C
.text:0026D169 call sub_26F96A
.text:0026D16E retn 8
.text:0026D16E _XComputeContentSignatureKey@8 endp ; sp = -1Ch
.text:0026D16E
.text:0026D171
.text:0026D171 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D171
.text:0026D171 ; Attributes: library function bp-based frame fpd=68h
.text:0026D171
.text:0026D171 ; __stdcall XapiComputeContentHeaderSignature(x,x,x,x)
.text:0026D171 _XapiComputeContentHeaderSignature@16 proc near ; CODE XREF: sub_26D256+BBp
.text:0026D171 ; sub_26D51A+166p
.text:0026D171
.text:0026D171 var_290 = dword ptr -290h
.text:0026D171 var_90 = dword ptr -90h
.text:0026D171 var_1C = dword ptr -1Ch
.text:0026D171 var_8 = dword ptr -8
.text:0026D171 var_4 = dword ptr -4
.text:0026D171 arg_0 = dword ptr 8
.text:0026D171 arg_4 = dword ptr 0Ch
.text:0026D171 arg_8 = dword ptr 10h
.text:0026D171 arg_C = dword ptr 14h
.text:0026D171
.text:0026D171 push ebp
.text:0026D172 lea ebp, [esp-68h]
.text:0026D176 sub esp, 290h
.text:0026D17C mov eax, [ebp+68h+arg_4]
.text:0026D17F test eax, eax
.text:0026D181 push ebx
.text:0026D182 push esi
.text:0026D183 mov esi, [ebp+68h+arg_8]
.text:0026D186 push edi
.text:0026D187 jnz short loc_26D18C
.text:0026D189 mov eax, [esi+24h]
.text:0026D18C
.text:0026D18C loc_26D18C: ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+16j
.text:0026D18C lea ecx, [ebp+68h+var_1C]
.text:0026D18F push ecx
.text:0026D190 push eax
.text:0026D191 call _XComputeContentSignatureKey@8 ; XComputeContentSignatureKey(x,x)
.text:0026D196 mov eax, [esi+18h]
.text:0026D199 mov edi, 88h
.text:0026D19E cmp eax, edi
.text:0026D1A0 mov ebx, edi
.text:0026D1A2 jnb short loc_26D1A6
.text:0026D1A4 mov ebx, eax
.text:0026D1A6
.text:0026D1A6 loc_26D1A6: ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+31j
.text:0026D1A6 lea eax, [ebp+68h+var_90]
.text:0026D1A9 push eax
.text:0026D1AA push 14h
.text:0026D1AC lea eax, [ebp+68h+var_1C]
.text:0026D1AF push eax
.text:0026D1B0 call _XShaHmacInitialize@12 ; XShaHmacInitialize(x,x,x)
.text:0026D1B5 add ebx, 0FFFFFFECh
.text:0026D1B8 push ebx
.text:0026D1B9 lea eax, [esi+14h]
.text:0026D1BC push eax
.text:0026D1BD lea eax, [ebp+68h+var_90]
.text:0026D1C0 push eax
.text:0026D1C1 call sub_266A61
.text:0026D1C6 xor eax, eax
.text:0026D1C8 cmp [ebp+68h+arg_0], eax
.text:0026D1CB jz short loc_26D226
.text:0026D1CD mov esi, [esi+18h]
.text:0026D1D0 cmp esi, edi
.text:0026D1D2 jbe short loc_26D226
.text:0026D1D4 lea edi, [esi-88h]
.text:0026D1DA cmp edi, eax
.text:0026D1DC jz short loc_26D226
.text:0026D1DE mov ebx, 200h
.text:0026D1E3 jmp short loc_26D1E7
.text:0026D1E5 ; ---------------------------------------------------------------------------
.text:0026D1E5
.text:0026D1E5 loc_26D1E5: ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+B3j
.text:0026D1E5 xor eax, eax
.text:0026D1E7
.text:0026D1E7 loc_26D1E7: ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+72j
.text:0026D1E7 cmp edi, ebx
.text:0026D1E9 mov esi, ebx
.text:0026D1EB jnb short loc_26D1EF
.text:0026D1ED mov esi, edi
.text:0026D1EF
.text:0026D1EF loc_26D1EF: ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+7Aj
.text:0026D1EF push eax
.text:0026D1F0 push esi
.text:0026D1F1 lea ecx, [ebp+68h+var_290]
.text:0026D1F7 push ecx
.text:0026D1F8 lea ecx, [ebp+68h+var_8]
.text:0026D1FB push ecx
.text:0026D1FC push eax
.text:0026D1FD push eax
.text:0026D1FE push eax
.text:0026D1FF push [ebp+68h+arg_0]
.text:0026D202 call ds:dword_485DFC
.text:0026D208 test eax, eax
.text:0026D20A jl short loc_26D245
.text:0026D20C cmp [ebp+68h+var_4], esi
.text:0026D20F jnz short loc_26D248
.text:0026D211 push esi
.text:0026D212 lea eax, [ebp+68h+var_290]
.text:0026D218 push eax
.text:0026D219 lea eax, [ebp+68h+var_90]
.text:0026D21C push eax
.text:0026D21D call sub_266A61
.text:0026D222 sub edi, esi
.text:0026D224 jnz short loc_26D1E5
.text:0026D226
.text:0026D226 loc_26D226: ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+5Aj
.text:0026D226 ; XapiComputeContentHeaderSignature(x,x,x,x)+61j ...
.text:0026D226 push [ebp+68h+arg_C]
.text:0026D229 lea eax, [ebp+68h+var_1C]
.text:0026D22C push 14h
.text:0026D22E push eax
.text:0026D22F lea eax, [ebp+68h+var_90]
.text:0026D232 push eax
.text:0026D233 call _XShaHmacComputeFinal@16 ; XShaHmacComputeFinal(x,x,x,x)
.text:0026D238 xor eax, eax
.text:0026D23A inc eax
.text:0026D23B
.text:0026D23B loc_26D23B: ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+E3j
.text:0026D23B pop edi
.text:0026D23C pop esi
.text:0026D23D pop ebx
.text:0026D23E add ebp, 68h
.text:0026D241 leave
.text:0026D242 retn 10h
.text:0026D245 ; ---------------------------------------------------------------------------
.text:0026D245
.text:0026D245 loc_26D245: ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+99j
.text:0026D245 push eax
.text:0026D246 jmp short loc_26D24D
.text:0026D248 ; ---------------------------------------------------------------------------
.text:0026D248
.text:0026D248 loc_26D248: ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+9Ej
.text:0026D248 push 0C0000011h
.text:0026D24D
.text:0026D24D loc_26D24D: ; CODE XREF: XapiComputeContentHeaderSignature(x,x,x,x)+D5j
.text:0026D24D call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:0026D252 xor eax, eax
.text:0026D254 jmp short loc_26D23B
.text:0026D254 _XapiComputeContentHeaderSignature@16 endp
.text:0026D254
.text:0026D256
.text:0026D256 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D256
.text:0026D256 ; Attributes: library function bp-based frame
.text:0026D256
.text:0026D256 sub_26D256 proc near ; CODE XREF: sub_269EEE+67p
.text:0026D256 ; sub_26D51A+12Ep ...
.text:0026D256
.text:0026D256 var_24 = dword ptr -24h
.text:0026D256 var_10 = dword ptr -10h
.text:0026D256 var_C = dword ptr -0Ch
.text:0026D256 var_8 = dword ptr -8
.text:0026D256 var_4 = dword ptr -4
.text:0026D256 arg_0 = dword ptr 8
.text:0026D256 arg_4 = dword ptr 0Ch
.text:0026D256 arg_8 = dword ptr 10h
.text:0026D256 arg_C = dword ptr 14h
.text:0026D256
.text:0026D256 push ebp
.text:0026D257 mov ebp, esp
.text:0026D259 sub esp, 24h
.text:0026D25C push ebx
.text:0026D25D push esi
.text:0026D25E mov esi, [ebp+arg_C]
.text:0026D261 push edi
.text:0026D262 mov edi, ds:dword_485DFC
.text:0026D268 lea eax, [ebp+var_10]
.text:0026D26B push eax
.text:0026D26C push 1Ch
.text:0026D26E push esi
.text:0026D26F xor ebx, ebx
.text:0026D271 lea eax, [ebp+var_8]
.text:0026D274 push eax
.text:0026D275 push ebx
.text:0026D276 push ebx
.text:0026D277 push ebx
.text:0026D278 push [ebp+arg_0]
.text:0026D27B mov [ebp+var_10], ebx
.text:0026D27E mov [ebp+var_C], ebx
.text:0026D281 call edi
.text:0026D283 cmp eax, ebx
.text:0026D285 jl short loc_26D2C4
.text:0026D287 cmp [ebp+var_4], 1Ch
.text:0026D28B jnz short loc_26D2BF
.text:0026D28D mov esi, [esi+18h]
.text:0026D290 mov eax, 88h
.text:0026D295 cmp esi, eax
.text:0026D297 jbe short loc_26D29B
.text:0026D299 mov esi, eax
.text:0026D29B
.text:0026D29B loc_26D29B: ; CODE XREF: sub_26D256+41j
.text:0026D29B push ebx
.text:0026D29C lea eax, [esi-1Ch]
.text:0026D29F push eax
.text:0026D2A0 mov eax, [ebp+arg_C]
.text:0026D2A3 add eax, 1Ch
.text:0026D2A6 push eax
.text:0026D2A7 lea eax, [ebp+var_8]
.text:0026D2AA push eax
.text:0026D2AB push ebx
.text:0026D2AC push ebx
.text:0026D2AD push ebx
.text:0026D2AE push [ebp+arg_0]
.text:0026D2B1 call edi
.text:0026D2B3 cmp eax, ebx
.text:0026D2B5 jl short loc_26D2C4
.text:0026D2B7 lea eax, [esi-1Ch]
.text:0026D2BA cmp [ebp+var_4], eax
.text:0026D2BD jz short loc_26D2CE
.text:0026D2BF
.text:0026D2BF loc_26D2BF: ; CODE XREF: sub_26D256+35j
.text:0026D2BF mov eax, 0C0000010h
.text:0026D2C4
.text:0026D2C4 loc_26D2C4: ; CODE XREF: sub_26D256+2Fj
.text:0026D2C4 ; sub_26D256+5Fj
.text:0026D2C4 push eax
.text:0026D2C5 call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:0026D2CA
.text:0026D2CA loc_26D2CA: ; CODE XREF: sub_26D256+8Bj
.text:0026D2CA ; sub_26D256+C2j
.text:0026D2CA xor eax, eax
.text:0026D2CC jmp short loc_26D330
.text:0026D2CE ; ---------------------------------------------------------------------------
.text:0026D2CE
.text:0026D2CE loc_26D2CE: ; CODE XREF: sub_26D256+67j
.text:0026D2CE mov edx, [ebp+arg_C]
.text:0026D2D1 cmp dword ptr [edx+14h], 46534358h
.text:0026D2D8 jz short loc_26D2E3
.text:0026D2DA push 0Dh ; dwErrCode
.text:0026D2DC
.text:0026D2DC loc_26D2DC: ; CODE XREF: sub_26D256+D5j
.text:0026D2DC call _SetLastError@4 ; SetLastError(x)
.text:0026D2E1 jmp short loc_26D2CA
.text:0026D2E3 ; ---------------------------------------------------------------------------
.text:0026D2E3
.text:0026D2E3 loc_26D2E3: ; CODE XREF: sub_26D256+82j
.text:0026D2E3 mov ecx, 88h
.text:0026D2E8 cmp esi, ecx
.text:0026D2EA jnb short loc_26D301
.text:0026D2EC sub ecx, esi
.text:0026D2EE lea edi, [esi+edx]
.text:0026D2F1 mov esi, ecx
.text:0026D2F3 shr ecx, 2
.text:0026D2F6 xor eax, eax
.text:0026D2F8 rep stosd
.text:0026D2FA mov ecx, esi
.text:0026D2FC and ecx, 3
.text:0026D2FF rep stosb
.text:0026D301
.text:0026D301 loc_26D301: ; CODE XREF: sub_26D256+94j
.text:0026D301 cmp [ebp+arg_8], ebx
.text:0026D304 jz short loc_26D32D
.text:0026D306 lea eax, [ebp+var_24]
.text:0026D309 push eax
.text:0026D30A push edx
.text:0026D30B push [ebp+arg_4]
.text:0026D30E push [ebp+arg_0]
.text:0026D311 call _XapiComputeContentHeaderSignature@16 ; XapiComputeContentHeaderSignature(x,x,x,x)
.text:0026D316 test eax, eax
.text:0026D318 jz short loc_26D2CA
.text:0026D31A mov edi, [ebp+arg_C]
.text:0026D31D push 5
.text:0026D31F pop ecx
.text:0026D320 lea esi, [ebp+var_24]
.text:0026D323 xor eax, eax
.text:0026D325 repe cmpsd
.text:0026D327 jz short loc_26D32D
.text:0026D329 push 5
.text:0026D32B jmp short loc_26D2DC
.text:0026D32D ; ---------------------------------------------------------------------------
.text:0026D32D
.text:0026D32D loc_26D32D: ; CODE XREF: sub_26D256+AEj
.text:0026D32D ; sub_26D256+D1j
.text:0026D32D xor eax, eax
.text:0026D32F inc eax
.text:0026D330
.text:0026D330 loc_26D330: ; CODE XREF: sub_26D256+76j
.text:0026D330 pop edi
.text:0026D331 pop esi
.text:0026D332 pop ebx
.text:0026D333 leave
.text:0026D334 retn 10h
.text:0026D334 sub_26D256 endp
.text:0026D334
.text:0026D337
.text:0026D337 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D337
.text:0026D337 ; Attributes: bp-based frame fpd=6Ch
.text:0026D337
.text:0026D337 sub_26D337 proc near ; CODE XREF: sub_26D7A6+A3p
.text:0026D337
.text:0026D337 var_88 = dword ptr -88h
.text:0026D337 var_14 = dword ptr -14h
.text:0026D337 var_C = dword ptr -0Ch
.text:0026D337 arg_0 = dword ptr 8
.text:0026D337 arg_4 = dword ptr 0Ch
.text:0026D337 arg_8 = dword ptr 10h
.text:0026D337
.text:0026D337 push ebp
.text:0026D338 lea ebp, [esp-6Ch]
.text:0026D33C sub esp, 88h
.text:0026D342 mov eax, [ebp+6Ch+arg_8]
.text:0026D345 push ebx
.text:0026D346 mov ebx, [eax+10h]
.text:0026D349 push esi
.text:0026D34A mov esi, [ebp+6Ch+arg_4]
.text:0026D34D test byte ptr [esi+23h], 80h
.text:0026D351 jz loc_26D3DA
.text:0026D357 mov ecx, [esi+6Ch]
.text:0026D35A test ecx, ecx
.text:0026D35C jz loc_26D3E6
.text:0026D362 cmp dword ptr [esi+70h], 70h
.text:0026D366 jnz short loc_26D3E6
.text:0026D368 push edi
.text:0026D369 xor eax, eax
.text:0026D36B lea edi, [ebp+6Ch+var_14]
.text:0026D36E stosd
.text:0026D36F stosd
.text:0026D370 stosd
.text:0026D371 stosd
.text:0026D372 stosd
.text:0026D373 lea eax, [ebp+6Ch+var_14]
.text:0026D376 push eax
.text:0026D377 lea eax, [ebp+6Ch+arg_4]
.text:0026D37A push eax
.text:0026D37B push 70h
.text:0026D37D push ebx
.text:0026D37E push [ebp+6Ch+arg_0]
.text:0026D381 mov [ebp+6Ch+var_C], ecx
.text:0026D384 call sub_266EA1
.text:0026D389 test eax, eax
.text:0026D38B pop edi
.text:0026D38C jz short loc_26D3E6
.text:0026D38E cmp [ebp+6Ch+arg_4], 70h
.text:0026D392 jnz short loc_26D3E6
.text:0026D394 cmp word ptr [ebx], 70h
.text:0026D398 jnz short loc_26D3E6
.text:0026D39A cmp word ptr [ebx+2], 1
.text:0026D39F jnz short loc_26D3E6
.text:0026D3A1 lea eax, [ebp+6Ch+var_88]
.text:0026D3A4 push eax
.text:0026D3A5 call sub_26F958
.text:0026D3AA mov eax, [esi+18h]
.text:0026D3AD sub eax, 24h
.text:0026D3B0 push eax
.text:0026D3B1 add esi, 24h
.text:0026D3B4 push esi
.text:0026D3B5 lea eax, [ebp+6Ch+var_88]
.text:0026D3B8 push eax
.text:0026D3B9 call sub_26F952
.text:0026D3BE push 0Ch
.text:0026D3C0 push ebx
.text:0026D3C1 lea eax, [ebp+6Ch+var_88]
.text:0026D3C4 push eax
.text:0026D3C5 call sub_26F952
.text:0026D3CA mov eax, [ebp+6Ch+arg_8]
.text:0026D3CD add eax, 14h
.text:0026D3D0 push eax
.text:0026D3D1 lea eax, [ebp+6Ch+var_88]
.text:0026D3D4 push eax
.text:0026D3D5 call sub_26F95E
.text:0026D3DA
.text:0026D3DA loc_26D3DA: ; CODE XREF: sub_26D337+1Aj
.text:0026D3DA xor eax, eax
.text:0026D3DC inc eax
.text:0026D3DD
.text:0026D3DD loc_26D3DD: ; CODE XREF: sub_26D337+BFj
.text:0026D3DD pop esi
.text:0026D3DE pop ebx
.text:0026D3DF add ebp, 6Ch
.text:0026D3E2 leave
.text:0026D3E3 retn 0Ch
.text:0026D3E6 ; ---------------------------------------------------------------------------
.text:0026D3E6
.text:0026D3E6 loc_26D3E6: ; CODE XREF: sub_26D337+25j
.text:0026D3E6 ; sub_26D337+2Fj ...
.text:0026D3E6 mov eax, [ebp+6Ch+arg_8]
.text:0026D3E9 and dword ptr [eax+10h], 0
.text:0026D3ED push 0Dh ; dwErrCode
.text:0026D3EF call _SetLastError@4 ; SetLastError(x)
.text:0026D3F4 xor eax, eax
.text:0026D3F6 jmp short loc_26D3DD
.text:0026D3F6 sub_26D337 endp
.text:0026D3F6
.text:0026D3F8 ; [000000D0 BYTES: COLLAPSED FUNCTION XapipGetAlternateTitleID(). PRESS KEYPAD "+" TO EXPAND]
.text:0026D4C8
.text:0026D4C8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D4C8
.text:0026D4C8 ; Attributes: library function
.text:0026D4C8
.text:0026D4C8 ; __stdcall XGetContentInstallLocationFromIDs(x,x,x,x)
.text:0026D4C8 _XGetContentInstallLocationFromIDs@16 proc near ; CODE XREF: sub_4586A4+1Fp
.text:0026D4C8
.text:0026D4C8 arg_0 = dword ptr 0Ch
.text:0026D4C8 arg_4 = dword ptr 10h
.text:0026D4C8 arg_8 = dword ptr 14h
.text:0026D4C8 arg_C = dword ptr 18h
.text:0026D4C8
.text:0026D4C8 push ebx
.text:0026D4C9 push esi
.text:0026D4CA mov esi, [esp+arg_0]
.text:0026D4CE test esi, esi
.text:0026D4D0 jz short loc_26D4F4
.text:0026D4D2 mov eax, ds:10118h
.text:0026D4D7 cmp [eax+8], esi
.text:0026D4DA jz short loc_26D4F4
.text:0026D4DC call _XapipGetAlternateTitleID@0 ; XapipGetAlternateTitleID()
.text:0026D4E1 cmp eax, esi
.text:0026D4E3 jnz short loc_26D4E9
.text:0026D4E5 mov bl, 57h
.text:0026D4E7 jmp short loc_26D4F6
.text:0026D4E9 ; ---------------------------------------------------------------------------
.text:0026D4E9
.text:0026D4E9 loc_26D4E9: ; CODE XREF: XGetContentInstallLocationFromIDs(x,x,x,x)+1Bj
.text:0026D4E9 push 5 ; dwErrCode
.text:0026D4EB call _SetLastError@4 ; SetLastError(x)
.text:0026D4F0 xor eax, eax
.text:0026D4F2 jmp short loc_26D515
.text:0026D4F4 ; ---------------------------------------------------------------------------
.text:0026D4F4
.text:0026D4F4 loc_26D4F4: ; CODE XREF: XGetContentInstallLocationFromIDs(x,x,x,x)+8j
.text:0026D4F4 ; XGetContentInstallLocationFromIDs(x,x,x,x)+12j
.text:0026D4F4 mov bl, 54h
.text:0026D4F6
.text:0026D4F6 loc_26D4F6: ; CODE XREF: XGetContentInstallLocationFromIDs(x,x,x,x)+1Fj
.text:0026D4F6 push [esp+arg_4]
.text:0026D4FA mov esi, [esp+4+arg_C]
.text:0026D4FE push [esp+4+arg_8]
.text:0026D502 push offset dword_4CEA84 ; char *
.text:0026D507 push esi ; char *
.text:0026D508 call _sprintf
.text:0026D50D xor eax, eax
.text:0026D50F add esp, 10h
.text:0026D512 mov [esi], bl
.text:0026D514 inc eax
.text:0026D515
.text:0026D515 loc_26D515: ; CODE XREF: XGetContentInstallLocationFromIDs(x,x,x,x)+2Aj
.text:0026D515 pop esi
.text:0026D516 pop ebx
.text:0026D517 retn 10h
.text:0026D517 _XGetContentInstallLocationFromIDs@16 endp
.text:0026D517
.text:0026D51A
.text:0026D51A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D51A
.text:0026D51A ; Attributes: bp-based frame fpd=68h
.text:0026D51A
.text:0026D51A sub_26D51A proc near ; CODE XREF: XInstallContentSignaturesEx(x,x,x,x)+28p
.text:0026D51A ; sub_447A6C+1EFp
.text:0026D51A
.text:0026D51A var_B4 = dword ptr -0B4h
.text:0026D51A var_9C = dword ptr -9Ch
.text:0026D51A var_94 = dword ptr -94h
.text:0026D51A var_90 = dword ptr -90h
.text:0026D51A var_2C = dword ptr -2Ch
.text:0026D51A var_24 = dword ptr -24h
.text:0026D51A var_20 = dword ptr -20h
.text:0026D51A var_1C = dword ptr -1Ch
.text:0026D51A var_18 = dword ptr -18h
.text:0026D51A var_14 = dword ptr -14h
.text:0026D51A var_10 = dword ptr -10h
.text:0026D51A var_9 = byte ptr -9
.text:0026D51A lpSecurityAttributes= dword ptr -8
.text:0026D51A var_4 = dword ptr -4
.text:0026D51A arg_0 = dword ptr 8
.text:0026D51A lpFileName = dword ptr 0Ch
.text:0026D51A arg_8 = dword ptr 10h
.text:0026D51A arg_C = dword ptr 14h
.text:0026D51A
.text:0026D51A push ebp
.text:0026D51B lea ebp, [esp-68h]
.text:0026D51F sub esp, 0B4h
.text:0026D525 push ebx
.text:0026D526 push esi
.text:0026D527 xor esi, esi
.text:0026D529 push edi
.text:0026D52A push esi ; hTemplateFile
.text:0026D52B push esi ; dwFlagsAndAttributes
.text:0026D52C or edi, 0FFFFFFFFh
.text:0026D52F cmp [ebp+68h+lpFileName], esi
.text:0026D532 push 3 ; dwCreationDisposition
.text:0026D534 mov [ebp+68h+var_1C], esi
.text:0026D537 mov [ebp+68h+var_10], edi
.text:0026D53A mov [ebp+68h+var_4], edi
.text:0026D53D mov [ebp+68h+lpSecurityAttributes], esi
.text:0026D540 mov ebx, 4000h
.text:0026D545 push esi ; lpSecurityAttributes
.text:0026D546 jz loc_26D61E
.text:0026D54C push 1 ; dwShareMode
.text:0026D54E push 80000000h ; dwDesiredAccess
.text:0026D553 push [ebp+68h+lpFileName] ; lpFileName
.text:0026D556 call _CreateFileA@28 ; CreateFileA(x,x,x,x,x,x,x)
.text:0026D55B cmp eax, edi
.text:0026D55D mov [ebp+68h+var_10], eax
.text:0026D560 jz loc_26D725
.text:0026D566 push esi ; lpFileSizeHigh
.text:0026D567 push eax ; hFile
.text:0026D568 call _GetFileSize@8 ; GetFileSize(x,x)
.text:0026D56D cmp eax, edi
.text:0026D56F mov [ebp+68h+var_14], eax
.text:0026D572 jz loc_26D6DE
.text:0026D578 push esi ; hTemplateFile
.text:0026D579 push esi ; dwFlagsAndAttributes
.text:0026D57A push 2 ; dwCreationDisposition
.text:0026D57C push esi ; lpSecurityAttributes
.text:0026D57D push esi ; dwShareMode
.text:0026D57E push 0C0000000h ; dwDesiredAccess
.text:0026D583 push [ebp+68h+arg_8] ; lpFileName
.text:0026D586 call _CreateFileA@28 ; CreateFileA(x,x,x,x,x,x,x)
.text:0026D58B cmp eax, edi
.text:0026D58D mov [ebp+68h+var_4], eax
.text:0026D590 jz loc_26D6DE
.text:0026D596 push 4 ; hTemplateFile
.text:0026D598 push ebx ; dwFlagsAndAttributes
.text:0026D599 call ds:dword_485EA0
.text:0026D59F cmp eax, esi
.text:0026D5A1 mov [ebp+68h+lpSecurityAttributes], eax
.text:0026D5A4 jnz short loc_26D5B2
.text:0026D5A6 push 8 ; dwErrCode
.text:0026D5A8 call _SetLastError@4 ; SetLastError(x)
.text:0026D5AD jmp loc_26D6DE
.text:0026D5B2 ; ---------------------------------------------------------------------------
.text:0026D5B2
.text:0026D5B2 loc_26D5B2: ; CODE XREF: sub_26D51A+8Aj
.text:0026D5B2 cmp [ebp+68h+var_14], esi
.text:0026D5B5 jz short loc_26D604
.text:0026D5B7
.text:0026D5B7 loc_26D5B7: ; CODE XREF: sub_26D51A+E5j
.text:0026D5B7 cmp [ebp+68h+var_14], ebx
.text:0026D5BA mov edi, ebx
.text:0026D5BC jnb short loc_26D5C1
.text:0026D5BE mov edi, [ebp+68h+var_14]
.text:0026D5C1
.text:0026D5C1 loc_26D5C1: ; CODE XREF: sub_26D51A+A2j
.text:0026D5C1 push esi
.text:0026D5C2 lea eax, [ebp+68h+var_18]
.text:0026D5C5 push eax
.text:0026D5C6 push edi
.text:0026D5C7 push [ebp+68h+lpSecurityAttributes]
.text:0026D5CA push [ebp+68h+var_10]
.text:0026D5CD call sub_266EA1
.text:0026D5D2 test eax, eax
.text:0026D5D4 jz loc_26D6DB
.text:0026D5DA cmp [ebp+68h+var_18], edi
.text:0026D5DD jnz loc_26D6DB
.text:0026D5E3 push esi
.text:0026D5E4 lea eax, [ebp+68h+var_18]
.text:0026D5E7 push eax
.text:0026D5E8 push edi
.text:0026D5E9 push [ebp+68h+lpSecurityAttributes]
.text:0026D5EC push [ebp+68h+var_4]
.text:0026D5EF call sub_266F8E
.text:0026D5F4 test eax, eax
.text:0026D5F6 jz loc_26D6DB
.text:0026D5FC sub [ebp+68h+var_14], edi
.text:0026D5FF jnz short loc_26D5B7
.text:0026D601 or edi, 0FFFFFFFFh
.text:0026D604
.text:0026D604 loc_26D604: ; CODE XREF: sub_26D51A+9Bj
.text:0026D604 push [ebp+68h+var_10]
.text:0026D607 call sub_267BC1
.text:0026D60C push ebx ; dwCreationDisposition
.text:0026D60D push [ebp+68h+lpSecurityAttributes] ; lpSecurityAttributes
.text:0026D610 mov [ebp+68h+var_10], edi
.text:0026D613 call ds:dword_485E9C
.text:0026D619 mov [ebp+68h+lpSecurityAttributes], esi
.text:0026D61C jmp short loc_26D637
.text:0026D61E ; ---------------------------------------------------------------------------
.text:0026D61E
.text:0026D61E loc_26D61E: ; CODE XREF: sub_26D51A+2Cj
.text:0026D61E push esi ; dwShareMode
.text:0026D61F push 0C0000000h ; dwDesiredAccess
.text:0026D624 push [ebp+68h+arg_8] ; lpFileName
.text:0026D627 call _CreateFileA@28 ; CreateFileA(x,x,x,x,x,x,x)
.text:0026D62C cmp eax, edi
.text:0026D62E mov [ebp+68h+var_4], eax
.text:0026D631 jz loc_26D725
.text:0026D637
.text:0026D637 loc_26D637: ; CODE XREF: sub_26D51A+102j
.text:0026D637 lea eax, [ebp+68h+var_B4]
.text:0026D63A push eax
.text:0026D63B mov eax, [ebp+68h+arg_C]
.text:0026D63E not eax
.text:0026D640 and eax, 1
.text:0026D643 push eax
.text:0026D644 push esi
.text:0026D645 push [ebp+68h+var_4]
.text:0026D648 call sub_26D256
.text:0026D64D test eax, eax
.text:0026D64F jz loc_26D6FA
.text:0026D655 mov eax, [ebp+68h+arg_0]
.text:0026D658 cmp eax, esi
.text:0026D65A jnz short loc_26D664
.text:0026D65C mov eax, ds:10118h
.text:0026D661 mov eax, [eax+8]
.text:0026D664
.text:0026D664 loc_26D664: ; CODE XREF: sub_26D51A+140j
.text:0026D664 test byte ptr [ebp+68h+arg_C], 2
.text:0026D668 mov [ebp+68h+var_90], eax
.text:0026D66B jz short loc_26D673
.text:0026D66D or [ebp+68h+var_94], 1
.text:0026D671 jmp short loc_26D677
.text:0026D673 ; ---------------------------------------------------------------------------
.text:0026D673
.text:0026D673 loc_26D673: ; CODE XREF: sub_26D51A+151j
.text:0026D673 and [ebp+68h+var_94], 0FFFFFFFEh
.text:0026D677
.text:0026D677 loc_26D677: ; CODE XREF: sub_26D51A+157j
.text:0026D677 lea eax, [ebp+68h+var_B4]
.text:0026D67A push eax
.text:0026D67B push eax
.text:0026D67C push esi
.text:0026D67D push [ebp+68h+var_4]
.text:0026D680 call _XapiComputeContentHeaderSignature@16 ; XapiComputeContentHeaderSignature(x,x,x,x)
.text:0026D685 test eax, eax
.text:0026D687 jz loc_26D728
.text:0026D68D mov ecx, [ebp+68h+var_9C]
.text:0026D690 mov eax, 88h
.text:0026D695 cmp ecx, eax
.text:0026D697 mov [ebp+68h+var_24], esi
.text:0026D69A mov [ebp+68h+var_20], esi
.text:0026D69D jbe short loc_26D6A1
.text:0026D69F mov ecx, eax
.text:0026D6A1
.text:0026D6A1 loc_26D6A1: ; CODE XREF: sub_26D51A+183j
.text:0026D6A1 lea eax, [ebp+68h+var_24]
.text:0026D6A4 push eax
.text:0026D6A5 push ecx
.text:0026D6A6 lea eax, [ebp+68h+var_B4]
.text:0026D6A9 push eax
.text:0026D6AA lea eax, [ebp+68h+var_2C]
.text:0026D6AD push eax
.text:0026D6AE push esi
.text:0026D6AF push esi
.text:0026D6B0 push esi
.text:0026D6B1 push [ebp+68h+var_4]
.text:0026D6B4 call ds:dword_485DF4
.text:0026D6BA cmp eax, esi
.text:0026D6BC jge short loc_26D6C6
.text:0026D6BE push eax
.text:0026D6BF call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:0026D6C4 jmp short loc_26D6FA
.text:0026D6C6 ; ---------------------------------------------------------------------------
.text:0026D6C6
.text:0026D6C6 loc_26D6C6: ; CODE XREF: sub_26D51A+1A2j
.text:0026D6C6 push [ebp+68h+var_4]
.text:0026D6C9 call ds:dword_485DD4
.text:0026D6CF mov [ebp+68h+var_4], edi
.text:0026D6D2 mov [ebp+68h+var_1C], 1
.text:0026D6D9 jmp short loc_26D6DE
.text:0026D6DB ; ---------------------------------------------------------------------------
.text:0026D6DB
.text:0026D6DB loc_26D6DB: ; CODE XREF: sub_26D51A+BAj
.text:0026D6DB ; sub_26D51A+C3j ...
.text:0026D6DB or edi, 0FFFFFFFFh
.text:0026D6DE
.text:0026D6DE loc_26D6DE: ; CODE XREF: sub_26D51A+58j
.text:0026D6DE ; sub_26D51A+76j ...
.text:0026D6DE cmp [ebp+68h+var_10], edi
.text:0026D6E1 jz short loc_26D6EB
.text:0026D6E3 push [ebp+68h+var_10]
.text:0026D6E6 call sub_267BC1
.text:0026D6EB
.text:0026D6EB loc_26D6EB: ; CODE XREF: sub_26D51A+1C7j
.text:0026D6EB cmp [ebp+68h+lpSecurityAttributes], esi
.text:0026D6EE jz short loc_26D6FA
.text:0026D6F0 push ebx
.text:0026D6F1 push [ebp+68h+lpSecurityAttributes]
.text:0026D6F4 call ds:dword_485E9C
.text:0026D6FA
.text:0026D6FA loc_26D6FA: ; CODE XREF: sub_26D51A+135j
.text:0026D6FA ; sub_26D51A+1AAj ...
.text:0026D6FA cmp [ebp+68h+var_4], edi
.text:0026D6FD jz short loc_26D725
.text:0026D6FF cmp [ebp+68h+lpFileName], esi
.text:0026D702 jz short loc_26D71D
.text:0026D704 push 0Dh
.text:0026D706 push 1
.text:0026D708 lea eax, [ebp+5Fh]
.text:0026D70B push eax
.text:0026D70C lea eax, [ebp+68h+var_2C]
.text:0026D70F push eax
.text:0026D710 push [ebp+68h+var_4]
.text:0026D713 mov [ebp+68h+var_9], 1
.text:0026D717 call ds:dword_485DD8
.text:0026D71D
.text:0026D71D loc_26D71D: ; CODE XREF: sub_26D51A+1E8j
.text:0026D71D push [ebp+68h+var_4]
.text:0026D720 call sub_267BC1
.text:0026D725
.text:0026D725 loc_26D725: ; CODE XREF: sub_26D51A+46j
.text:0026D725 ; sub_26D51A+117j ...
.text:0026D725 mov eax, [ebp+68h+var_1C]
.text:0026D728
.text:0026D728 loc_26D728: ; CODE XREF: sub_26D51A+16Dj
.text:0026D728 pop edi
.text:0026D729 pop esi
.text:0026D72A pop ebx
.text:0026D72B add ebp, 68h
.text:0026D72E leave
.text:0026D72F retn 10h
.text:0026D72F sub_26D51A endp
.text:0026D72F
.text:0026D732 ; [00000031 BYTES: COLLAPSED FUNCTION XInstallContentSignaturesEx(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026D763
.text:0026D763 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D763
.text:0026D763 ; Attributes: bp-based frame
.text:0026D763
.text:0026D763 sub_26D763 proc near ; CODE XREF: sub_457199+DBp
.text:0026D763
.text:0026D763 FileName = byte ptr -104h
.text:0026D763 arg_0 = dword ptr 8
.text:0026D763
.text:0026D763 push ebp
.text:0026D764 mov ebp, esp
.text:0026D766 sub esp, 104h
.text:0026D76C lea eax, [ebp+FileName]
.text:0026D772 push eax
.text:0026D773 push [ebp+arg_0]
.text:0026D776 call _XapiComputeContentMetadataFileName@8 ; XapiComputeContentMetadataFileName(x,x)
.text:0026D77B lea eax, [ebp+FileName]
.text:0026D781 push eax ; lpFileName
.text:0026D782 call _DeleteFileA@4 ; DeleteFileA(x)
.text:0026D787 push 0FFFFFFFDh
.text:0026D789 push [ebp+arg_0]
.text:0026D78C call _XapiNukeDirectory@8 ; XapiNukeDirectory(x,x)
.text:0026D791 test eax, eax
.text:0026D793 jl short loc_26D79A
.text:0026D795 xor eax, eax
.text:0026D797 inc eax
.text:0026D798 jmp short locret_26D7A2
.text:0026D79A ; ---------------------------------------------------------------------------
.text:0026D79A
.text:0026D79A loc_26D79A: ; CODE XREF: sub_26D763+30j
.text:0026D79A push eax
.text:0026D79B call _XapiSetLastNTError@4 ; XapiSetLastNTError(x)
.text:0026D7A0 xor eax, eax
.text:0026D7A2
.text:0026D7A2 locret_26D7A2: ; CODE XREF: sub_26D763+35j
.text:0026D7A2 leave
.text:0026D7A3 retn 4
.text:0026D7A3 sub_26D763 endp
.text:0026D7A3
.text:0026D7A6
.text:0026D7A6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D7A6
.text:0026D7A6 ; Attributes: bp-based frame fpd=70h
.text:0026D7A6
.text:0026D7A6 sub_26D7A6 proc near ; CODE XREF: XLoadContentSignaturesEx(x,x)+22p
.text:0026D7A6
.text:0026D7A6 var_124 = dword ptr -124h
.text:0026D7A6 var_B0 = dword ptr -0B0h
.text:0026D7A6 var_90 = byte ptr -90h
.text:0026D7A6 var_60 = dword ptr -60h
.text:0026D7A6 var_5C = dword ptr -5Ch
.text:0026D7A6 var_58 = dword ptr -58h
.text:0026D7A6 var_28 = dword ptr -28h
.text:0026D7A6 var_14 = dword ptr -14h
.text:0026D7A6 var_C = dword ptr -0Ch
.text:0026D7A6 arg_0 = dword ptr 8
.text:0026D7A6 lpFileName = dword ptr 0Ch
.text:0026D7A6
.text:0026D7A6 push ebp
.text:0026D7A7 lea ebp, [esp-70h]
.text:0026D7AB sub esp, 124h
.text:0026D7B1 push ebx
.text:0026D7B2 push esi
.text:0026D7B3 push edi
.text:0026D7B4 xor edi, edi
.text:0026D7B6 push edi ; hTemplateFile
.text:0026D7B7 push edi ; dwFlagsAndAttributes
.text:0026D7B8 push 3 ; dwCreationDisposition
.text:0026D7BA push edi ; lpSecurityAttributes
.text:0026D7BB push 1 ; dwShareMode
.text:0026D7BD push 80000000h ; dwDesiredAccess
.text:0026D7C2 push [ebp+70h+lpFileName] ; lpFileName
.text:0026D7C5 xor ebx, ebx
.text:0026D7C7 call _CreateFileA@28 ; CreateFileA(x,x,x,x,x,x,x)
.text:0026D7CC mov esi, eax
.text:0026D7CE cmp esi, 0FFFFFFFFh
.text:0026D7D1 jz loc_26D902
.text:0026D7D7 mov eax, [ebp+70h+arg_0]
.text:0026D7DA cmp eax, edi
.text:0026D7DC jnz short loc_26D7E6
.text:0026D7DE mov eax, ds:10118h
.text:0026D7E3 mov eax, [eax+8]
.text:0026D7E6
.text:0026D7E6 loc_26D7E6: ; CODE XREF: sub_26D7A6+36j
.text:0026D7E6 lea ecx, [ebp+70h+var_B0]
.text:0026D7E9 push ecx
.text:0026D7EA push 1
.text:0026D7EC push eax
.text:0026D7ED push esi
.text:0026D7EE call sub_26D256
.text:0026D7F3 test eax, eax
.text:0026D7F5 jz loc_26D8ED
.text:0026D7FB test [ebp+70h+var_90], 1
.text:0026D7FF jz loc_26D8E6
.text:0026D805 mov eax, [ebp+70h+var_5C]
.text:0026D808 cmp eax, edi
.text:0026D80A jz loc_26D8E6
.text:0026D810 push 24830000h
.text:0026D815 add eax, 98h
.text:0026D81A push eax
.text:0026D81B call sub_64B60
.text:0026D820 mov ebx, eax
.text:0026D822 cmp ebx, edi
.text:0026D824 jnz short loc_26D82D
.text:0026D826 push 8
.text:0026D828 jmp loc_26D8E8
.text:0026D82D ; ---------------------------------------------------------------------------
.text:0026D82D
.text:0026D82D loc_26D82D: ; CODE XREF: sub_26D7A6+7Ej
.text:0026D82D xor eax, eax
.text:0026D82F lea edi, [ebx+28h]
.text:0026D832 mov [ebx+10h], edi
.text:0026D835 stosd
.text:0026D836 lea edi, [ebx+14h]
.text:0026D839 stosd
.text:0026D83A mov eax, [ebx+10h]
.text:0026D83D add eax, 70h
.text:0026D840 mov [ebx+0Ch], eax
.text:0026D843 push ebx
.text:0026D844 lea eax, [ebp+70h+var_B0]
.text:0026D847 push eax
.text:0026D848 push esi
.text:0026D849 call sub_26D337
.text:0026D84E test eax, eax
.text:0026D850 jz loc_26D8ED
.text:0026D856 xor eax, eax
.text:0026D858 lea edi, [ebp+70h+var_14]
.text:0026D85B stosd
.text:0026D85C stosd
.text:0026D85D stosd
.text:0026D85E stosd
.text:0026D85F stosd
.text:0026D860 mov eax, [ebp+70h+var_60]
.text:0026D863 mov [ebp+70h+var_C], eax
.text:0026D866 lea eax, [ebp+70h+var_14]
.text:0026D869 push eax
.text:0026D86A lea eax, [ebp+70h+lpFileName]
.text:0026D86D push eax
.text:0026D86E push [ebp+70h+var_5C]
.text:0026D871 push dword ptr [ebx+0Ch]
.text:0026D874 push esi
.text:0026D875 call sub_266EA1
.text:0026D87A test eax, eax
.text:0026D87C jz short loc_26D8ED
.text:0026D87E mov eax, [ebp+70h+var_5C]
.text:0026D881 cmp eax, [ebp+70h+lpFileName]
.text:0026D884 jnz short loc_26D8ED
.text:0026D886 mov eax, [ebx+0Ch]
.text:0026D889 mov ecx, [eax+8]
.text:0026D88C add ecx, eax
.text:0026D88E mov [ebx+4], ecx
.text:0026D891 mov ecx, [eax+8]
.text:0026D894 add ecx, eax
.text:0026D896 push esi
.text:0026D897 mov [ebx+8], ecx
.text:0026D89A call sub_267BC1
.text:0026D89F lea eax, [ebp+70h+var_124]
.text:0026D8A5 push eax
.text:0026D8A6 call sub_26F958
.text:0026D8AB push [ebp+70h+var_5C]
.text:0026D8AE lea eax, [ebp+70h+var_124]
.text:0026D8B4 push dword ptr [ebx+0Ch]
.text:0026D8B7 push eax
.text:0026D8B8 call sub_26F952
.text:0026D8BD lea eax, [ebp+70h+var_28]
.text:0026D8C0 push eax
.text:0026D8C1 lea eax, [ebp+70h+var_124]
.text:0026D8C7 push eax
.text:0026D8C8 call sub_26F95E
.text:0026D8CD push 5
.text:0026D8CF pop ecx
.text:0026D8D0 lea edi, [ebp+70h+var_58]
.text:0026D8D3 lea esi, [ebp+70h+var_28]
.text:0026D8D6 xor eax, eax
.text:0026D8D8 repe cmpsd
.text:0026D8DA jnz short loc_26D8F3
.text:0026D8DC mov dword ptr [ebx], 66736378h
.text:0026D8E2 mov eax, ebx
.text:0026D8E4 jmp short loc_26D904
.text:0026D8E6 ; ---------------------------------------------------------------------------
.text:0026D8E6
.text:0026D8E6 loc_26D8E6: ; CODE XREF: sub_26D7A6+59j
.text:0026D8E6 ; sub_26D7A6+64j
.text:0026D8E6 push 2 ; dwErrCode
.text:0026D8E8
.text:0026D8E8 loc_26D8E8: ; CODE XREF: sub_26D7A6+82j
.text:0026D8E8 call _SetLastError@4 ; SetLastError(x)
.text:0026D8ED
.text:0026D8ED loc_26D8ED: ; CODE XREF: sub_26D7A6+4Fj
.text:0026D8ED ; sub_26D7A6+AAj ...
.text:0026D8ED push esi
.text:0026D8EE call sub_267BC1
.text:0026D8F3
.text:0026D8F3 loc_26D8F3: ; CODE XREF: sub_26D7A6+134j
.text:0026D8F3 test ebx, ebx
.text:0026D8F5 jz short loc_26D902
.text:0026D8F7 push 24830000h
.text:0026D8FC push ebx
.text:0026D8FD call sub_645B0
.text:0026D902
.text:0026D902 loc_26D902: ; CODE XREF: sub_26D7A6+2Bj
.text:0026D902 ; sub_26D7A6+14Fj
.text:0026D902 xor eax, eax
.text:0026D904
.text:0026D904 loc_26D904: ; CODE XREF: sub_26D7A6+13Ej
.text:0026D904 pop edi
.text:0026D905 pop esi
.text:0026D906 pop ebx
.text:0026D907 add ebp, 70h
.text:0026D90A leave
.text:0026D90B retn 8
.text:0026D90B sub_26D7A6 endp
.text:0026D90B
.text:0026D90E
.text:0026D90E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D90E
.text:0026D90E ; Attributes: library function bp-based frame
.text:0026D90E
.text:0026D90E ; __stdcall XLoadContentSignaturesEx(x,x)
.text:0026D90E _XLoadContentSignaturesEx@8 proc near ; CODE XREF: sub_447F30+57p
.text:0026D90E ; sub_457837+63p
.text:0026D90E
.text:0026D90E var_104 = dword ptr -104h
.text:0026D90E arg_0 = dword ptr 8
.text:0026D90E arg_4 = dword ptr 0Ch
.text:0026D90E
.text:0026D90E push ebp
.text:0026D90F mov ebp, esp
.text:0026D911 sub esp, 104h
.text:0026D917 lea eax, [ebp+var_104]
.text:0026D91D push eax
.text:0026D91E push [ebp+arg_4]
.text:0026D921 call _XapiComputeContentMetadataFileName@8 ; XapiComputeContentMetadataFileName(x,x)
.text:0026D926 lea eax, [ebp+var_104]
.text:0026D92C push eax
.text:0026D92D push [ebp+arg_0]
.text:0026D930 call sub_26D7A6
.text:0026D935 leave
.text:0026D936 retn 8
.text:0026D936 _XLoadContentSignaturesEx@8 endp
.text:0026D936
.text:0026D939
.text:0026D939 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D939
.text:0026D939
.text:0026D939 sub_26D939 proc near ; CODE XREF: sub_447F30+86p
.text:0026D939 ; sub_457837+6Dp
.text:0026D939
.text:0026D939 arg_0 = dword ptr 4
.text:0026D939
.text:0026D939 mov eax, [esp+arg_0]
.text:0026D93D and dword ptr [eax], 0
.text:0026D940 push 24830000h
.text:0026D945 push eax
.text:0026D946 call sub_645B0
.text:0026D94B retn 4
.text:0026D94B sub_26D939 endp
.text:0026D94B
.text:0026D94B ; ---------------------------------------------------------------------------
.text:0026D94E align 10h
.text:0026D950
.text:0026D950 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D950
.text:0026D950
.text:0026D950 sub_26D950 proc near ; CODE XREF: sub_26A8F2-12p
.text:0026D950 ; .text:0026D0FFp
.text:0026D950
.text:0026D950 arg_0 = qword ptr 4
.text:0026D950
.text:0026D950 mov ecx, dword ptr [esp+arg_0]
.text:0026D954 mov edx, dword ptr [esp+arg_0+4]
.text:0026D958 sgdt [esp+arg_0+2]
.text:0026D95D mov eax, dword ptr [esp+arg_0+4]
.text:0026D961 cli
.text:0026D962 xchg ecx, [eax+8]
.text:0026D965 xchg edx, [eax+0Ch]
.text:0026D968 sti
.text:0026D969 jmp far ptr loc_26D970
.text:0026D970
.text:0026D970 loc_26D970:
.text:0026D970 mov eax, ecx
.text:0026D972 retn 8
.text:0026D972 sub_26D950 endp
.text:0026D972
.text:0026D975 ; [0000002D BYTES: COLLAPSED FUNCTION unknown_libname_45. PRESS KEYPAD "+" TO EXPAND]
.text:0026D9A2 ; [00000027 BYTES: COLLAPSED FUNCTION unknown_libname_46. PRESS KEYPAD "+" TO EXPAND]
.text:0026D9C9
.text:0026D9C9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D9C9
.text:0026D9C9
.text:0026D9C9 sub_26D9C9 proc near ; CODE XREF: XGVec2Normalize(x,x)+Ap
.text:0026D9C9
.text:0026D9C9 var_4 = dword ptr -4
.text:0026D9C9 arg_0 = dword ptr 4
.text:0026D9C9
.text:0026D9C9 push ecx
.text:0026D9CA mov edx, [esp+4+arg_0]
.text:0026D9CE movups xmm1, oword ptr [edx]
.text:0026D9D1 movaps xmm2, xmm1
.text:0026D9D4 mulps xmm1, xmm2
.text:0026D9D7 movaps xmm0, xmm1
.text:0026D9DA shufps xmm0, xmm0, 1
.text:0026D9DE addps xmm1, xmm0
.text:0026D9E1 movss [esp+4+var_4], xmm1
.text:0026D9E6 fld [esp+4+var_4]
.text:0026D9E9 pop ecx
.text:0026D9EA retn 4
.text:0026D9EA sub_26D9C9 endp
.text:0026D9EA
.text:0026D9ED
.text:0026D9ED ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026D9ED
.text:0026D9ED
.text:0026D9ED sub_26D9ED proc near ; CODE XREF: XGVec3Normalize(x,x)+Cp
.text:0026D9ED
.text:0026D9ED var_4 = dword ptr -4
.text:0026D9ED arg_0 = dword ptr 4
.text:0026D9ED
.text:0026D9ED push ecx
.text:0026D9EE mov edx, [esp+4+arg_0]
.text:0026D9F2 movss xmm1, dword ptr [edx]
.text:0026D9F6 movhps xmm1, qword ptr [edx+4]
.text:0026D9FA movaps xmm2, xmm1
.text:0026D9FD mulps xmm1, xmm2
.text:0026DA00 movaps xmm0, xmm1
.text:0026DA03 shufps xmm0, xmm0, 32h
.text:0026DA07 addps xmm1, xmm0
.text:0026DA0A shufps xmm0, xmm0, 32h
.text:0026DA0E addps xmm1, xmm0
.text:0026DA11 movss [esp+4+var_4], xmm1
.text:0026DA16 fld [esp+4+var_4]
.text:0026DA19 pop ecx
.text:0026DA1A retn 4
.text:0026DA1A sub_26D9ED endp
.text:0026DA1A
.text:0026DA1D ; [0000001F BYTES: COLLAPSED FUNCTION XGPlaneDotNormal(XGPLANE const *,XGVECTOR3 const *). PRESS KEYPAD "+" TO EXPAND]
.text:0026DA3C ; [0000004E BYTES: COLLAPSED FUNCTION XGVec3Cross(XGVECTOR3 *,XGVECTOR3 const *,XGVECTOR3 const *). PRESS KEYPAD "+" TO EXPAND]
.text:0026DA8A ; [0000002A BYTES: COLLAPSED FUNCTION XGVec3Subtract(XGVECTOR3 *,XGVECTOR3 const *,XGVECTOR3 const *). PRESS KEYPAD "+" TO EXPAND]
.text:0026DAB4 ; [0000003A BYTES: COLLAPSED FUNCTION XGVec3Lerp(XGVECTOR3 *,XGVECTOR3 const *,XGVECTOR3 const *,float). PRESS KEYPAD "+" TO EXPAND]
.text:0026DAEE
.text:0026DAEE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026DAEE
.text:0026DAEE
.text:0026DAEE sub_26DAEE proc near ; CODE XREF: sub_26DE65+Cp
.text:0026DAEE ; XGQuaternionToAxisAngle(x,x,x)+9p ...
.text:0026DAEE
.text:0026DAEE var_4 = dword ptr -4
.text:0026DAEE arg_0 = dword ptr 4
.text:0026DAEE
.text:0026DAEE push ecx
.text:0026DAEF mov edx, [esp+4+arg_0]
.text:0026DAF3 movups xmm1, oword ptr [edx]
.text:0026DAF6 movaps xmm2, xmm1
.text:0026DAF9 mulps xmm1, xmm2
.text:0026DAFC movaps xmm0, xmm1
.text:0026DAFF shufps xmm0, xmm0, 93h
.text:0026DB03 addps xmm1, xmm0
.text:0026DB06 shufps xmm0, xmm0, 93h
.text:0026DB0A addps xmm1, xmm0
.text:0026DB0D shufps xmm0, xmm0, 93h
.text:0026DB11 addps xmm1, xmm0
.text:0026DB14 movss [esp+4+var_4], xmm1
.text:0026DB19 fld [esp+4+var_4]
.text:0026DB1C pop ecx
.text:0026DB1D retn 4
.text:0026DB1D sub_26DAEE endp
.text:0026DB1D
.text:0026DB20
.text:0026DB20 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026DB20
.text:0026DB20
.text:0026DB20 sub_26DB20 proc near ; CODE XREF: XGQuaternionSlerp(x,x,x,x)+13p
.text:0026DB20
.text:0026DB20 var_4 = dword ptr -4
.text:0026DB20 arg_0 = dword ptr 4
.text:0026DB20 arg_4 = dword ptr 8
.text:0026DB20
.text:0026DB20 push ecx
.text:0026DB21 mov edx, [esp+4+arg_0]
.text:0026DB25 movups xmm1, oword ptr [edx]
.text:0026DB28 mov ecx, [esp+4+arg_4]
.text:0026DB2C movups xmm2, oword ptr [ecx]
.text:0026DB2F mulps xmm1, xmm2
.text:0026DB32 movaps xmm0, xmm1
.text:0026DB35 shufps xmm0, xmm0, 93h
.text:0026DB39 addps xmm1, xmm0
.text:0026DB3C shufps xmm0, xmm0, 93h
.text:0026DB40 addps xmm1, xmm0
.text:0026DB43 shufps xmm0, xmm0, 93h
.text:0026DB47 addps xmm1, xmm0
.text:0026DB4A movss [esp+4+var_4], xmm1
.text:0026DB4F fld [esp+4+var_4]
.text:0026DB52 pop ecx
.text:0026DB53 retn 8
.text:0026DB53 sub_26DB20 endp
.text:0026DB53
.text:0026DB56 ; [00000027 BYTES: COLLAPSED FUNCTION XGQuaternionConjugate(XGQUATERNION *,XGQUATERNION const *). PRESS KEYPAD "+" TO EXPAND]
.text:0026DB7D ; [00000022 BYTES: COLLAPSED FUNCTION XGPlaneDotCoord(XGPLANE const *,XGVECTOR3 const *). PRESS KEYPAD "+" TO EXPAND]
.text:0026DB9F ; [00000030 BYTES: COLLAPSED FUNCTION XGRAPHICS::WithinEpsilon(float,float). PRESS KEYPAD "+" TO EXPAND]
.text:0026DBCF ; [0000007F BYTES: COLLAPSED FUNCTION XGVec2Normalize(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026DC4E ; [00000031 BYTES: COLLAPSED FUNCTION XGVec2Transform(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026DC7F ; [00000067 BYTES: COLLAPSED FUNCTION XGVec2TransformCoord(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026DCE6 ; [0000007B BYTES: COLLAPSED FUNCTION XGVec3Normalize(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026DD61 ; [00000041 BYTES: COLLAPSED FUNCTION unknown_libname_47. PRESS KEYPAD "+" TO EXPAND]
.text:0026DDA2 ; [0000007E BYTES: COLLAPSED FUNCTION XGVec3TransformCoord(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026DE20 ; [00000045 BYTES: COLLAPSED FUNCTION XGVec3TransformNormal(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026DE65
.text:0026DE65 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026DE65
.text:0026DE65 ; Attributes: bp-based frame
.text:0026DE65
.text:0026DE65 sub_26DE65 proc near ; CODE XREF: sub_277480+A3p
.text:0026DE65
.text:0026DE65 var_20 = dword ptr -20h
.text:0026DE65 var_1C = dword ptr -1Ch
.text:0026DE65 var_10 = dword ptr -10h
.text:0026DE65 arg_0 = dword ptr 8
.text:0026DE65 arg_4 = dword ptr 0Ch
.text:0026DE65
.text:0026DE65 push ebp
.text:0026DE66 mov ebp, esp
.text:0026DE68 sub esp, 10h
.text:0026DE6B push esi
.text:0026DE6C mov esi, [ebp+arg_4]
.text:0026DE6F push edi
.text:0026DE70 push esi
.text:0026DE71 call sub_26DAEE
.text:0026DE76 fstp [ebp+arg_4]
.text:0026DE79 push ecx
.text:0026DE7A fld1
.text:0026DE7C push ecx
.text:0026DE7D fstp [esp+20h+var_1C]
.text:0026DE81 fld [ebp+arg_4]
.text:0026DE84 fstp [esp+20h+var_20]
.text:0026DE87 call ?WithinEpsilon@XGRAPHICS@@YGHMM@Z ; XGRAPHICS::WithinEpsilon(float,float)
.text:0026DE8C test eax, eax
.text:0026DE8E jz short loc_26DE9F
.text:0026DE90 mov eax, [ebp+arg_0]
.text:0026DE93 cmp eax, esi
.text:0026DE95 jz short loc_26DEE0
.text:0026DE97
.text:0026DE97 loc_26DE97: ; CODE XREF: sub_26DE65+63j
.text:0026DE97 mov edi, eax
.text:0026DE99 movsd
.text:0026DE9A movsd
.text:0026DE9B movsd
.text:0026DE9C movsd
.text:0026DE9D jmp short loc_26DEE0
.text:0026DE9F ; ---------------------------------------------------------------------------
.text:0026DE9F
.text:0026DE9F loc_26DE9F: ; CODE XREF: sub_26DE65+29j
.text:0026DE9F fld [ebp+arg_4]
.text:0026DEA2 fcomp ds:flt_4CEAD0
.text:0026DEA8 fnstsw ax
.text:0026DEAA test ah, 41h
.text:0026DEAD jnz short loc_26DECA
.text:0026DEAF fld [ebp+arg_4]
.text:0026DEB2 push ecx
.text:0026DEB3 fsqrt
.text:0026DEB5 lea eax, [ebp+var_10]
.text:0026DEB8 mov ecx, esi
.text:0026DEBA fstp [esp+1Ch+var_1C]
.text:0026DEBD push eax
.text:0026DEBE call unknown_libname_45 ; XBOX Flirt v2.00 Final.
.text:0026DEC3 mov esi, eax
.text:0026DEC5 mov eax, [ebp+arg_0]
.text:0026DEC8 jmp short loc_26DE97
.text:0026DECA ; ---------------------------------------------------------------------------
.text:0026DECA
.text:0026DECA loc_26DECA: ; CODE XREF: sub_26DE65+48j
.text:0026DECA mov eax, [ebp+arg_0]
.text:0026DECD fldz
.text:0026DECF fstp dword ptr [eax]
.text:0026DED1 fldz
.text:0026DED3 fstp dword ptr [eax+4]
.text:0026DED6 fldz
.text:0026DED8 fstp dword ptr [eax+8]
.text:0026DEDB fldz
.text:0026DEDD fstp dword ptr [eax+0Ch]
.text:0026DEE0
.text:0026DEE0 loc_26DEE0: ; CODE XREF: sub_26DE65+30j
.text:0026DEE0 ; sub_26DE65+38j
.text:0026DEE0 pop edi
.text:0026DEE1 pop esi
.text:0026DEE2 leave
.text:0026DEE3 retn 8
.text:0026DEE3 sub_26DE65 endp
.text:0026DEE3
.text:0026DEE6 ; [00000046 BYTES: COLLAPSED FUNCTION XGVec4Transform(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026DF2C ; [000000FE BYTES: COLLAPSED FUNCTION XGMatrixMultiply(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026E02A ; [0000004B BYTES: COLLAPSED FUNCTION XGMatrixTranspose(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026E075 ; [0000038D BYTES: COLLAPSED FUNCTION unknown_libname_48. PRESS KEYPAD "+" TO EXPAND]
.text:0026E402 ; [0000005C BYTES: COLLAPSED FUNCTION unknown_libname_49. PRESS KEYPAD "+" TO EXPAND]
.text:0026E45E ; [0000005C BYTES: COLLAPSED FUNCTION unknown_libname_50. PRESS KEYPAD "+" TO EXPAND]
.text:0026E4BA ; [0000007A BYTES: COLLAPSED FUNCTION unknown_libname_51. PRESS KEYPAD "+" TO EXPAND]
.text:0026E534 ; [0000007B BYTES: COLLAPSED FUNCTION unknown_libname_52. PRESS KEYPAD "+" TO EXPAND]
.text:0026E5AF ; [0000007C BYTES: COLLAPSED FUNCTION unknown_libname_53. PRESS KEYPAD "+" TO EXPAND]
.text:0026E62B
.text:0026E62B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026E62B
.text:0026E62B ; Attributes: bp-based frame
.text:0026E62B
.text:0026E62B sub_26E62B proc near ; CODE XREF: sub_1F3110+3FDp
.text:0026E62B ; sub_1F7C70+2EAp ...
.text:0026E62B
.text:0026E62B var_1C = dword ptr -1Ch
.text:0026E62B var_18 = dword ptr -18h
.text:0026E62B var_14 = dword ptr -14h
.text:0026E62B var_10 = dword ptr -10h
.text:0026E62B var_C = dword ptr -0Ch
.text:0026E62B var_8 = dword ptr -8
.text:0026E62B var_4 = dword ptr -4
.text:0026E62B arg_0 = dword ptr 8
.text:0026E62B arg_4 = dword ptr 0Ch
.text:0026E62B arg_8 = dword ptr 10h
.text:0026E62B
.text:0026E62B push ebp
.text:0026E62C mov ebp, esp
.text:0026E62E sub esp, 1Ch
.text:0026E631 lea eax, [ebp+var_4]
.text:0026E634 mov [ebp+var_C], eax
.text:0026E637 push esi
.text:0026E638 lea eax, [ebp+var_8]
.text:0026E63B push edi
.text:0026E63C mov [ebp+var_10], eax
.text:0026E63F mov eax, [ebp+var_10]
.text:0026E642 mov edx, [ebp+var_C]
.text:0026E645 fld [ebp+arg_8]
.text:0026E648 fsincos
.text:0026E64A fstp dword ptr [edx]
.text:0026E64C fstp dword ptr [eax]
.text:0026E64E fld1
.text:0026E650 mov esi, [ebp+arg_4]
.text:0026E653 fsub [ebp+var_4]
.text:0026E656 lea edi, [ebp+var_1C]
.text:0026E659 movsd
.text:0026E65A lea eax, [ebp+var_1C]
.text:0026E65D fstp [ebp+arg_8]
.text:0026E660 movsd
.text:0026E661 push eax
.text:0026E662 push eax
.text:0026E663 movsd
.text:0026E664 call _XGVec3Normalize@8 ; XGVec3Normalize(x,x)
.text:0026E669 mov eax, [ebp+arg_0]
.text:0026E66C fld [ebp+arg_8]
.text:0026E66F fld [ebp+var_18]
.text:0026E672 fmul [ebp+var_1C]
.text:0026E675 fmul st, st(1)
.text:0026E677 fstp [ebp+arg_8]
.text:0026E67A fld [ebp+var_14]
.text:0026E67D fld [ebp+var_18]
.text:0026E680 fmul st, st(1)
.text:0026E682 fmul st, st(2)
.text:0026E684 fld st(1)
.text:0026E686 fmul [ebp+var_1C]
.text:0026E689 fmul st, st(3)
.text:0026E68B fld [ebp+var_1C]
.text:0026E68E fmul [ebp+var_1C]
.text:0026E691 fmul st, st(4)
.text:0026E693 fadd [ebp+var_4]
.text:0026E696 fstp dword ptr [eax]
.text:0026E698 fld st(2)
.text:0026E69A fmul [ebp+var_8]
.text:0026E69D fld [ebp+arg_8]
.text:0026E6A0 fadd st, st(1)
.text:0026E6A2 fstp dword ptr [eax+4]
.text:0026E6A5 fld [ebp+var_18]
.text:0026E6A8 fmul [ebp+var_8]
.text:0026E6AB fst [ebp+arg_4]
.text:0026E6AE fld st(2)
.text:0026E6B0 fsub st, st(1)
.text:0026E6B2 fstp dword ptr [eax+8]
.text:0026E6B5 fstp st
.text:0026E6B7 fldz
.text:0026E6B9 fstp dword ptr [eax+0Ch]
.text:0026E6BC fld [ebp+arg_8]
.text:0026E6BF fsub st, st(1)
.text:0026E6C1 fstp dword ptr [eax+10h]
.text:0026E6C4 fstp st
.text:0026E6C6 fld [ebp+var_18]
.text:0026E6C9 fmul [ebp+var_18]
.text:0026E6CC fmul st, st(4)
.text:0026E6CE fadd [ebp+var_4]
.text:0026E6D1 fstp dword ptr [eax+14h]
.text:0026E6D4 fld [ebp+var_1C]
.text:0026E6D7 fmul [ebp+var_8]
.text:0026E6DA fld st
.text:0026E6DC fadd st, st(3)
.text:0026E6DE fstp dword ptr [eax+18h]
.text:0026E6E1 fldz
.text:0026E6E3 fstp dword ptr [eax+1Ch]
.text:0026E6E6 fld [ebp+arg_4]
.text:0026E6E9 fadd st, st(2)
.text:0026E6EB fstp dword ptr [eax+20h]
.text:0026E6EE fld st(2)
.text:0026E6F0 fsub st, st(1)
.text:0026E6F2 fstp dword ptr [eax+24h]
.text:0026E6F5 fstp st
.text:0026E6F7 fstp st
.text:0026E6F9 fstp st
.text:0026E6FB fld st
.text:0026E6FD fmul st, st(1)
.text:0026E6FF fmul st, st(2)
.text:0026E701 fadd [ebp+var_4]
.text:0026E704 fstp dword ptr [eax+28h]
.text:0026E707 fstp st
.text:0026E709 pop edi
.text:0026E70A fstp st
.text:0026E70C pop esi
.text:0026E70D fldz
.text:0026E70F fstp dword ptr [eax+2Ch]
.text:0026E712 fldz
.text:0026E714 fstp dword ptr [eax+30h]
.text:0026E717 fldz
.text:0026E719 fstp dword ptr [eax+34h]
.text:0026E71C fldz
.text:0026E71E fstp dword ptr [eax+38h]
.text:0026E721 fld1
.text:0026E723 fstp dword ptr [eax+3Ch]
.text:0026E726 leave
.text:0026E727 retn 0Ch
.text:0026E727 sub_26E62B endp
.text:0026E727
.text:0026E72A ; [000000E2 BYTES: COLLAPSED FUNCTION unknown_libname_54. PRESS KEYPAD "+" TO EXPAND]
.text:0026E80C
.text:0026E80C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026E80C
.text:0026E80C ; Attributes: bp-based frame
.text:0026E80C
.text:0026E80C sub_26E80C proc near ; CODE XREF: sub_1F7C70+1B5p
.text:0026E80C ; sub_1F7C70+1DCp ...
.text:0026E80C
.text:0026E80C var_1C = dword ptr -1Ch
.text:0026E80C var_18 = dword ptr -18h
.text:0026E80C var_14 = dword ptr -14h
.text:0026E80C var_10 = dword ptr -10h
.text:0026E80C arg_0 = dword ptr 8
.text:0026E80C arg_4 = dword ptr 0Ch
.text:0026E80C arg_8 = dword ptr 10h
.text:0026E80C arg_C = dword ptr 14h
.text:0026E80C
.text:0026E80C push ebp
.text:0026E80D mov ebp, esp
.text:0026E80F sub esp, 10h
.text:0026E812 fld [ebp+arg_C]
.text:0026E815 sub esp, 0Ch
.text:0026E818 fstp [esp+1Ch+var_14]
.text:0026E81C lea eax, [ebp+var_10]
.text:0026E81F fld [ebp+arg_8]
.text:0026E822 fstp [esp+1Ch+var_18]
.text:0026E826 fld [ebp+arg_4]
.text:0026E829 fstp [esp+1Ch+var_1C]
.text:0026E82C push eax
.text:0026E82D call unknown_libname_61 ; XBOX Flirt v2.00 Final.
.text:0026E832 lea eax, [ebp+var_10]
.text:0026E835 push eax
.text:0026E836 push [ebp+arg_0]
.text:0026E839 call unknown_libname_54 ; XBOX Flirt v2.00 Final.
.text:0026E83E mov eax, [ebp+arg_0]
.text:0026E841 leave
.text:0026E842 retn 10h
.text:0026E842 sub_26E80C endp
.text:0026E842
.text:0026E845
.text:0026E845 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026E845
.text:0026E845 ; Attributes: bp-based frame
.text:0026E845
.text:0026E845 sub_26E845 proc near ; CODE XREF: sub_13B030+A0Ep
.text:0026E845 ; sub_1680F0+200p
.text:0026E845
.text:0026E845 var_24 = dword ptr -24h
.text:0026E845 var_20 = dword ptr -20h
.text:0026E845 var_1C = dword ptr -1Ch
.text:0026E845 var_18 = dword ptr -18h
.text:0026E845 var_14 = dword ptr -14h
.text:0026E845 var_10 = dword ptr -10h
.text:0026E845 var_C = dword ptr -0Ch
.text:0026E845 var_8 = dword ptr -8
.text:0026E845 var_4 = dword ptr -4
.text:0026E845 arg_0 = dword ptr 8
.text:0026E845 arg_4 = dword ptr 0Ch
.text:0026E845 arg_8 = dword ptr 10h
.text:0026E845 arg_C = dword ptr 14h
.text:0026E845
.text:0026E845 push ebp
.text:0026E846 mov ebp, esp
.text:0026E848 sub esp, 24h
.text:0026E84B push esi
.text:0026E84C push [ebp+arg_8]
.text:0026E84F mov esi, [ebp+arg_4]
.text:0026E852 push esi
.text:0026E853 lea eax, [ebp+var_C]
.text:0026E856 push eax
.text:0026E857 call ?XGVec3Subtract@@YGPAUXGVECTOR3@@PAU1@PBU1@1@Z ; XGVec3Subtract(XGVECTOR3 *,XGVECTOR3 const *,XGVECTOR3 const *)
.text:0026E85C lea eax, [ebp+var_C]
.text:0026E85F push eax
.text:0026E860 push eax
.text:0026E861 call _XGVec3Normalize@8 ; XGVec3Normalize(x,x)
.text:0026E866 lea eax, [ebp+var_C]
.text:0026E869 push eax
.text:0026E86A push [ebp+arg_C]
.text:0026E86D lea eax, [ebp+var_18]
.text:0026E870 push eax
.text:0026E871 call ?XGVec3Cross@@YGPAUXGVECTOR3@@PAU1@PBU1@1@Z ; XGVec3Cross(XGVECTOR3 *,XGVECTOR3 const *,XGVECTOR3 const *)
.text:0026E876 lea eax, [ebp+var_18]
.text:0026E879 push eax
.text:0026E87A push eax
.text:0026E87B call _XGVec3Normalize@8 ; XGVec3Normalize(x,x)
.text:0026E880 lea eax, [ebp+var_18]
.text:0026E883 push eax
.text:0026E884 lea eax, [ebp+var_C]
.text:0026E887 push eax
.text:0026E888 lea eax, [ebp+var_24]
.text:0026E88B push eax
.text:0026E88C call ?XGVec3Cross@@YGPAUXGVECTOR3@@PAU1@PBU1@1@Z ; XGVec3Cross(XGVECTOR3 *,XGVECTOR3 const *,XGVECTOR3 const *)
.text:0026E891 fld [ebp+var_18]
.text:0026E894 mov eax, [ebp+arg_0]
.text:0026E897 mov ecx, [ebp+var_14]
.text:0026E89A fstp dword ptr [eax]
.text:0026E89C fld [ebp+var_18]
.text:0026E89F mov [eax+10h], ecx
.text:0026E8A2 mov ecx, [ebp+var_10]
.text:0026E8A5 mov [eax+20h], ecx
.text:0026E8A8 fmul dword ptr [esi]
.text:0026E8AA fld [ebp+var_10]
.text:0026E8AD mov ecx, [ebp+var_24]
.text:0026E8B0 fmul dword ptr [esi+8]
.text:0026E8B3 faddp st(1), st
.text:0026E8B5 fld [ebp+var_14]
.text:0026E8B8 fmul dword ptr [esi+4]
.text:0026E8BB mov [eax+4], ecx
.text:0026E8BE mov ecx, [ebp+var_20]
.text:0026E8C1 mov [eax+14h], ecx
.text:0026E8C4 mov ecx, [ebp+var_1C]
.text:0026E8C7 faddp st(1), st
.text:0026E8C9 mov [eax+24h], ecx
.text:0026E8CC mov ecx, [ebp+var_C]
.text:0026E8CF fchs
.text:0026E8D1 fstp dword ptr [eax+30h]
.text:0026E8D4 fld [ebp+var_24]
.text:0026E8D7 fmul dword ptr [esi]
.text:0026E8D9 fld [ebp+var_1C]
.text:0026E8DC fmul dword ptr [esi+8]
.text:0026E8DF faddp st(1), st
.text:0026E8E1 fld [ebp+var_20]
.text:0026E8E4 fmul dword ptr [esi+4]
.text:0026E8E7 mov [eax+8], ecx
.text:0026E8EA mov ecx, [ebp+var_8]
.text:0026E8ED mov [eax+18h], ecx
.text:0026E8F0 mov ecx, [ebp+var_4]
.text:0026E8F3 faddp st(1), st
.text:0026E8F5 mov [eax+28h], ecx
.text:0026E8F8 fchs
.text:0026E8FA fstp dword ptr [eax+34h]
.text:0026E8FD fld [ebp+var_C]
.text:0026E900 fmul dword ptr [esi]
.text:0026E902 fld [ebp+var_4]
.text:0026E905 fmul dword ptr [esi+8]
.text:0026E908 faddp st(1), st
.text:0026E90A fld [ebp+var_8]
.text:0026E90D fmul dword ptr [esi+4]
.text:0026E910 faddp st(1), st
.text:0026E912 fchs
.text:0026E914 fstp dword ptr [eax+38h]
.text:0026E917 fldz
.text:0026E919 fstp dword ptr [eax+0Ch]
.text:0026E91C fldz
.text:0026E91E fstp dword ptr [eax+1Ch]
.text:0026E921 fldz
.text:0026E923 pop esi
.text:0026E924 fstp dword ptr [eax+2Ch]
.text:0026E927 fld1
.text:0026E929 fstp dword ptr [eax+3Ch]
.text:0026E92C leave
.text:0026E92D retn 10h
.text:0026E92D sub_26E845 endp
.text:0026E92D
.text:0026E930
.text:0026E930 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026E930
.text:0026E930 ; Attributes: bp-based frame
.text:0026E930
.text:0026E930 sub_26E930 proc near ; CODE XREF: sub_23DA0+58p
.text:0026E930 ; sub_8E650+2A7p ...
.text:0026E930
.text:0026E930 var_24 = dword ptr -24h
.text:0026E930 var_20 = dword ptr -20h
.text:0026E930 var_1C = dword ptr -1Ch
.text:0026E930 var_18 = dword ptr -18h
.text:0026E930 var_14 = dword ptr -14h
.text:0026E930 var_10 = dword ptr -10h
.text:0026E930 var_C = dword ptr -0Ch
.text:0026E930 var_8 = dword ptr -8
.text:0026E930 var_4 = dword ptr -4
.text:0026E930 arg_0 = dword ptr 8
.text:0026E930 arg_4 = dword ptr 0Ch
.text:0026E930 arg_8 = dword ptr 10h
.text:0026E930 arg_C = dword ptr 14h
.text:0026E930
.text:0026E930 push ebp
.text:0026E931 mov ebp, esp
.text:0026E933 sub esp, 24h
.text:0026E936 push esi
.text:0026E937 mov esi, [ebp+arg_4]
.text:0026E93A push esi
.text:0026E93B push [ebp+arg_8]
.text:0026E93E lea eax, [ebp+var_C]
.text:0026E941 push eax
.text:0026E942 call ?XGVec3Subtract@@YGPAUXGVECTOR3@@PAU1@PBU1@1@Z ; XGVec3Subtract(XGVECTOR3 *,XGVECTOR3 const *,XGVECTOR3 const *)
.text:0026E947 lea eax, [ebp+var_C]
.text:0026E94A push eax
.text:0026E94B push eax
.text:0026E94C call _XGVec3Normalize@8 ; XGVec3Normalize(x,x)
.text:0026E951 lea eax, [ebp+var_C]
.text:0026E954 push eax
.text:0026E955 push [ebp+arg_C]
.text:0026E958 lea eax, [ebp+var_18]
.text:0026E95B push eax
.text:0026E95C call ?XGVec3Cross@@YGPAUXGVECTOR3@@PAU1@PBU1@1@Z ; XGVec3Cross(XGVECTOR3 *,XGVECTOR3 const *,XGVECTOR3 const *)
.text:0026E961 lea eax, [ebp+var_18]
.text:0026E964 push eax
.text:0026E965 push eax
.text:0026E966 call _XGVec3Normalize@8 ; XGVec3Normalize(x,x)
.text:0026E96B lea eax, [ebp+var_18]
.text:0026E96E push eax
.text:0026E96F lea eax, [ebp+var_C]
.text:0026E972 push eax
.text:0026E973 lea eax, [ebp+var_24]
.text:0026E976 push eax
.text:0026E977 call ?XGVec3Cross@@YGPAUXGVECTOR3@@PAU1@PBU1@1@Z ; XGVec3Cross(XGVECTOR3 *,XGVECTOR3 const *,XGVECTOR3 const *)
.text:0026E97C fld [ebp+var_18]
.text:0026E97F mov eax, [ebp+arg_0]
.text:0026E982 mov ecx, [ebp+var_14]
.text:0026E985 fstp dword ptr [eax]
.text:0026E987 fld [ebp+var_18]
.text:0026E98A mov [eax+10h], ecx
.text:0026E98D mov ecx, [ebp+var_10]
.text:0026E990 mov [eax+20h], ecx
.text:0026E993 fmul dword ptr [esi]
.text:0026E995 fld [ebp+var_10]
.text:0026E998 mov ecx, [ebp+var_24]
.text:0026E99B fmul dword ptr [esi+8]
.text:0026E99E faddp st(1), st
.text:0026E9A0 fld [ebp+var_14]
.text:0026E9A3 fmul dword ptr [esi+4]
.text:0026E9A6 mov [eax+4], ecx
.text:0026E9A9 mov ecx, [ebp+var_20]
.text:0026E9AC mov [eax+14h], ecx
.text:0026E9AF mov ecx, [ebp+var_1C]
.text:0026E9B2 faddp st(1), st
.text:0026E9B4 mov [eax+24h], ecx
.text:0026E9B7 mov ecx, [ebp+var_C]
.text:0026E9BA fchs
.text:0026E9BC fstp dword ptr [eax+30h]
.text:0026E9BF fld [ebp+var_24]
.text:0026E9C2 fmul dword ptr [esi]
.text:0026E9C4 fld [ebp+var_1C]
.text:0026E9C7 fmul dword ptr [esi+8]
.text:0026E9CA faddp st(1), st
.text:0026E9CC fld [ebp+var_20]
.text:0026E9CF fmul dword ptr [esi+4]
.text:0026E9D2 mov [eax+8], ecx
.text:0026E9D5 mov ecx, [ebp+var_8]
.text:0026E9D8 mov [eax+18h], ecx
.text:0026E9DB mov ecx, [ebp+var_4]
.text:0026E9DE faddp st(1), st
.text:0026E9E0 mov [eax+28h], ecx
.text:0026E9E3 fchs
.text:0026E9E5 fstp dword ptr [eax+34h]
.text:0026E9E8 fld [ebp+var_C]
.text:0026E9EB fmul dword ptr [esi]
.text:0026E9ED fld [ebp+var_4]
.text:0026E9F0 fmul dword ptr [esi+8]
.text:0026E9F3 faddp st(1), st
.text:0026E9F5 fld [ebp+var_8]
.text:0026E9F8 fmul dword ptr [esi+4]
.text:0026E9FB faddp st(1), st
.text:0026E9FD fchs
.text:0026E9FF fstp dword ptr [eax+38h]
.text:0026EA02 fldz
.text:0026EA04 fstp dword ptr [eax+0Ch]
.text:0026EA07 fldz
.text:0026EA09 fstp dword ptr [eax+1Ch]
.text:0026EA0C fldz
.text:0026EA0E pop esi
.text:0026EA0F fstp dword ptr [eax+2Ch]
.text:0026EA12 fld1
.text:0026EA14 fstp dword ptr [eax+3Ch]
.text:0026EA17 leave
.text:0026EA18 retn 10h
.text:0026EA18 sub_26E930 endp
.text:0026EA18
.text:0026EA1B ; [00000094 BYTES: COLLAPSED FUNCTION unknown_libname_55. PRESS KEYPAD "+" TO EXPAND]
.text:0026EAAF ; [000000A1 BYTES: COLLAPSED FUNCTION unknown_libname_56. PRESS KEYPAD "+" TO EXPAND]
.text:0026EB50 ; [00000074 BYTES: COLLAPSED FUNCTION unknown_libname_57. PRESS KEYPAD "+" TO EXPAND]
.text:0026EBC4 ; [000000A2 BYTES: COLLAPSED FUNCTION unknown_libname_58. PRESS KEYPAD "+" TO EXPAND]
.text:0026EC66 ; [000000A4 BYTES: COLLAPSED FUNCTION unknown_libname_59. PRESS KEYPAD "+" TO EXPAND]
.text:0026ED0A ; [000000BF BYTES: COLLAPSED FUNCTION XGMatrixReflect(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026EDC9 ; [0000007C BYTES: COLLAPSED FUNCTION XGQuaternionToAxisAngle(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026EE45 ; [00000134 BYTES: COLLAPSED FUNCTION unknown_libname_60. PRESS KEYPAD "+" TO EXPAND]
.text:0026EF79 ; [0000005C BYTES: COLLAPSED FUNCTION XGQuaternionRotationAxis(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026EFD5 ; [000000D9 BYTES: COLLAPSED FUNCTION unknown_libname_61. PRESS KEYPAD "+" TO EXPAND]
.text:0026F0AE
.text:0026F0AE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F0AE
.text:0026F0AE
.text:0026F0AE sub_26F0AE proc near ; CODE XREF: sub_3A710+170p
.text:0026F0AE ; sub_3A710+223p ...
.text:0026F0AE
.text:0026F0AE var_4 = dword ptr -4
.text:0026F0AE arg_0 = dword ptr 4
.text:0026F0AE arg_4 = dword ptr 8
.text:0026F0AE arg_8 = dword ptr 0Ch
.text:0026F0AE
.text:0026F0AE push ecx
.text:0026F0AF mov [esp+4+var_4], 80000000h
.text:0026F0B6 movss xmm0, [esp+4+var_4]
.text:0026F0BB mov ecx, [esp+4+arg_4]
.text:0026F0BF movups xmm1, oword ptr [ecx]
.text:0026F0C2 mov edx, [esp+4+arg_8]
.text:0026F0C6 movaps xmm3, xmm1
.text:0026F0C9 movss xmm2, dword ptr [edx+0Ch]
.text:0026F0CE shufps xmm2, xmm2, 0
.text:0026F0D2 mulps xmm3, xmm2
.text:0026F0D5 shufps xmm0, xmm0, 11h
.text:0026F0D9 movaps xmm4, xmm1
.text:0026F0DC shufps xmm4, xmm4, 1Bh
.text:0026F0E0 movss xmm2, dword ptr [edx]
.text:0026F0E4 shufps xmm2, xmm2, 0
.text:0026F0E8 mulps xmm4, xmm2
.text:0026F0EB xorps xmm4, xmm0
.text:0026F0EE addps xmm3, xmm4
.text:0026F0F1 shufps xmm0, xmm0, 50h
.text:0026F0F5 movaps xmm4, xmm1
.text:0026F0F8 shufps xmm4, xmm4, 4Eh
.text:0026F0FC movss xmm2, dword ptr [edx+4]
.text:0026F101 shufps xmm2, xmm2, 0
.text:0026F105 mulps xmm4, xmm2
.text:0026F108 xorps xmm4, xmm0
.text:0026F10B addps xmm3, xmm4
.text:0026F10E shufps xmm0, xmm0, 82h
.text:0026F112 movaps xmm4, xmm1
.text:0026F115 shufps xmm4, xmm4, 0B1h
.text:0026F119 movss xmm2, dword ptr [edx+8]
.text:0026F11E shufps xmm2, xmm2, 0
.text:0026F122 mulps xmm4, xmm2
.text:0026F125 xorps xmm4, xmm0
.text:0026F128 addps xmm3, xmm4
.text:0026F12B mov eax, [esp+4+arg_0]
.text:0026F12F movups oword ptr [eax], xmm3
.text:0026F132 pop ecx
.text:0026F133 retn 0Ch
.text:0026F133 sub_26F0AE endp
.text:0026F133
.text:0026F136 ; [0000006A BYTES: COLLAPSED FUNCTION XGQuaternionInverse(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026F1A0 ; [000000C1 BYTES: COLLAPSED FUNCTION XGQuaternionSlerp(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026F261 ; [00000057 BYTES: COLLAPSED FUNCTION XGQuaternionSquad(x,x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026F2B8 ; [000000A1 BYTES: COLLAPSED FUNCTION XGPlaneNormalize(x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026F359
.text:0026F359 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F359
.text:0026F359 ; Attributes: bp-based frame
.text:0026F359
.text:0026F359 sub_26F359 proc near ; CODE XREF: sub_160510+35Cp
.text:0026F359
.text:0026F359 var_C = qword ptr -0Ch
.text:0026F359 var_4 = dword ptr -4
.text:0026F359 arg_0 = dword ptr 8
.text:0026F359 arg_4 = dword ptr 0Ch
.text:0026F359 arg_8 = dword ptr 10h
.text:0026F359 arg_C = dword ptr 14h
.text:0026F359
.text:0026F359 push ebp
.text:0026F35A mov ebp, esp
.text:0026F35C push ecx
.text:0026F35D push [ebp+arg_8]
.text:0026F360 push [ebp+arg_4]
.text:0026F363 call ?XGPlaneDotNormal@@YGMPBUXGPLANE@@PBUXGVECTOR3@@@Z ; XGPlaneDotNormal(XGPLANE const *,XGVECTOR3 const *)
.text:0026F368 fstp [ebp+var_4]
.text:0026F36B push [ebp+arg_C]
.text:0026F36E push [ebp+arg_4]
.text:0026F371 call ?XGPlaneDotNormal@@YGMPBUXGPLANE@@PBUXGVECTOR3@@@Z ; XGPlaneDotNormal(XGPLANE const *,XGVECTOR3 const *)
.text:0026F376 fsubr [ebp+var_4]
.text:0026F379 fstp [ebp+var_4]
.text:0026F37C fld ds:dword_486E50
.text:0026F382 fld [ebp+var_4]
.text:0026F385 fucompp
.text:0026F387 fnstsw ax
.text:0026F389 test ah, 44h
.text:0026F38C jnp short loc_26F3AF
.text:0026F38E push [ebp+arg_8]
.text:0026F391 push [ebp+arg_4]
.text:0026F394 call ?XGPlaneDotCoord@@YGMPBUXGPLANE@@PBUXGVECTOR3@@@Z ; XGPlaneDotCoord(XGPLANE const *,XGVECTOR3 const *)
.text:0026F399 fdiv [ebp+var_4]
.text:0026F39C push ecx
.text:0026F39D push ecx ; double
.text:0026F39E fst [ebp+arg_4]
.text:0026F3A1 fstp [esp+0Ch+var_C]
.text:0026F3A4 call __finite
.text:0026F3A9 test eax, eax
.text:0026F3AB pop ecx
.text:0026F3AC pop ecx
.text:0026F3AD jnz short loc_26F3B3
.text:0026F3AF
.text:0026F3AF loc_26F3AF: ; CODE XREF: sub_26F359+33j
.text:0026F3AF xor eax, eax
.text:0026F3B1 jmp short locret_26F3CB
.text:0026F3B3 ; ---------------------------------------------------------------------------
.text:0026F3B3
.text:0026F3B3 loc_26F3B3: ; CODE XREF: sub_26F359+54j
.text:0026F3B3 fld [ebp+arg_4]
.text:0026F3B6 push ecx
.text:0026F3B7 fstp dword ptr [esp+8+var_C+4]
.text:0026F3BA push [ebp+arg_C]
.text:0026F3BD push [ebp+arg_8]
.text:0026F3C0 push [ebp+arg_0]
.text:0026F3C3 call ?XGVec3Lerp@@YGPAUXGVECTOR3@@PAU1@PBU1@1M@Z ; XGVec3Lerp(XGVECTOR3 *,XGVECTOR3 const *,XGVECTOR3 const *,float)
.text:0026F3C8 mov eax, [ebp+arg_0]
.text:0026F3CB
.text:0026F3CB locret_26F3CB: ; CODE XREF: sub_26F359+58j
.text:0026F3CB leave
.text:0026F3CC retn 10h
.text:0026F3CC sub_26F359 endp
.text:0026F3CC
.text:0026F3CF ; [0000002E BYTES: COLLAPSED FUNCTION XGPlaneFromPointNormal(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026F3FD
.text:0026F3FD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F3FD
.text:0026F3FD
.text:0026F3FD sub_26F3FD proc near ; CODE XREF: sub_3E8326+505p
.text:0026F3FD
.text:0026F3FD var_8 = qword ptr -8
.text:0026F3FD arg_0 = dword ptr 4
.text:0026F3FD
.text:0026F3FD fld [esp+arg_0]
.text:0026F401 push ecx
.text:0026F402 push ecx
.text:0026F403 fstp [esp+8+var_8]
.text:0026F406 call sub_2F95E7
.text:0026F40B pop ecx
.text:0026F40C pop ecx
.text:0026F40D retn 4
.text:0026F40D sub_26F3FD endp
.text:0026F40D
.text:0026F410 ; ---------------------------------------------------------------------------
.text:0026F410
.text:0026F410 loc_26F410: ; DATA XREF: .rdata:off_4CEC80o
.text:0026F410 sub ecx, 4
.text:0026F413 jmp loc_3F39D3
.text:0026F418 ; ---------------------------------------------------------------------------
.text:0026F418
.text:0026F418 loc_26F418: ; DATA XREF: .rdata:off_4CED58o
.text:0026F418 sub ecx, 8
.text:0026F41B jmp ??_GCMcpxAPU@DirectSound@@UAEPAXI@Z ; DirectSound::CMcpxAPU::`scalar deleting destructor'(uint)
.text:0026F420
.text:0026F420 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F420
.text:0026F420
.text:0026F420 sub_26F420 proc near ; CODE XREF: auAdaptToSubFrameConfig_XDS(x)+25Cp
.text:0026F420
.text:0026F420 arg_0 = dword ptr 4
.text:0026F420
.text:0026F420 mov eax, [esp+arg_0]
.text:0026F424 mov ecx, [eax+380h]
.text:0026F42A push ebx
.text:0026F42B push esi
.text:0026F42C mov esi, [eax+384h]
.text:0026F432 cmp ecx, esi
.text:0026F434 push edi
.text:0026F435 jl short loc_26F439
.text:0026F437 mov ecx, esi
.text:0026F439
.text:0026F439 loc_26F439: ; CODE XREF: sub_26F420+15j
.text:0026F439 mov edx, ecx
.text:0026F43B sub edx, 40h
.text:0026F43E mov edi, 100h
.text:0026F443 mov ebx, 200h
.text:0026F448 jz short loc_26F499
.text:0026F44A sub edx, 40h
.text:0026F44D jz short loc_26F491
.text:0026F44F sub edx, 80h
.text:0026F455 jz short loc_26F489
.text:0026F457 sub edx, edi
.text:0026F459 jz short loc_26F481
.text:0026F45B sub edx, ebx
.text:0026F45D jz short loc_26F479
.text:0026F45F sub edx, 400h
.text:0026F465 jz short loc_26F471
.text:0026F467 mov eax, 80040002h
.text:0026F46C jmp loc_26F5AD
.text:0026F471 ; ---------------------------------------------------------------------------
.text:0026F471
.text:0026F471 loc_26F471: ; CODE XREF: sub_26F420+45j
.text:0026F471 mov edx, [eax+410h]
.text:0026F477 jmp short loc_26F49F
.text:0026F479 ; ---------------------------------------------------------------------------
.text:0026F479
.text:0026F479 loc_26F479: ; CODE XREF: sub_26F420+3Dj
.text:0026F479 mov edx, [eax+414h]
.text:0026F47F jmp short loc_26F49F
.text:0026F481 ; ---------------------------------------------------------------------------
.text:0026F481
.text:0026F481 loc_26F481: ; CODE XREF: sub_26F420+39j
.text:0026F481 mov edx, [eax+418h]
.text:0026F487 jmp short loc_26F49F
.text:0026F489 ; ---------------------------------------------------------------------------
.text:0026F489
.text:0026F489 loc_26F489: ; CODE XREF: sub_26F420+35j
.text:0026F489 mov edx, [eax+41Ch]
.text:0026F48F jmp short loc_26F49F
.text:0026F491 ; ---------------------------------------------------------------------------
.text:0026F491
.text:0026F491 loc_26F491: ; CODE XREF: sub_26F420+2Dj
.text:0026F491 mov edx, [eax+420h]
.text:0026F497 jmp short loc_26F49F
.text:0026F499 ; ---------------------------------------------------------------------------
.text:0026F499
.text:0026F499 loc_26F499: ; CODE XREF: sub_26F420+28j
.text:0026F499 mov edx, [eax+424h]
.text:0026F49F
.text:0026F49F loc_26F49F: ; CODE XREF: sub_26F420+57j
.text:0026F49F ; sub_26F420+5Fj ...
.text:0026F49F mov [eax+428h], edx
.text:0026F4A5 sar ecx, 7
.text:0026F4A8 mov ecx, ds:off_424DA0[ecx*4]
.text:0026F4AF mov edx, [ecx]
.text:0026F4B1 mov [eax+358h], edx
.text:0026F4B7 mov edx, [ecx+4]
.text:0026F4BA mov [eax+35Ch], edx
.text:0026F4C0 fld dword ptr [ecx]
.text:0026F4C2 fchs
.text:0026F4C4 fstp dword ptr [eax+360h]
.text:0026F4CA mov edx, [ecx+4]
.text:0026F4CD fld ds:dword_486E80
.text:0026F4D3 mov [eax+364h], edx
.text:0026F4D9 fld dword ptr [ecx+20h]
.text:0026F4DC mov ecx, [eax+388h]
.text:0026F4E2 cmp ecx, esi
.text:0026F4E4 fmul st, st(1)
.text:0026F4E6 mov edx, esi
.text:0026F4E8 fstp dword ptr [eax+368h]
.text:0026F4EE jge short loc_26F4F2
.text:0026F4F0 mov edx, ecx
.text:0026F4F2
.text:0026F4F2 loc_26F4F2: ; CODE XREF: sub_26F420+CEj
.text:0026F4F2 mov ecx, edx
.text:0026F4F4 sub ecx, 40h
.text:0026F4F7 jz short loc_26F562
.text:0026F4F9 sub ecx, 40h
.text:0026F4FC jz short loc_26F558
.text:0026F4FE sub ecx, 80h
.text:0026F504 jz short loc_26F54A
.text:0026F506 sub ecx, edi
.text:0026F508 jz short loc_26F53C
.text:0026F50A sub ecx, ebx
.text:0026F50C jz short loc_26F52E
.text:0026F50E sub ecx, 400h
.text:0026F514 jz short loc_26F520
.text:0026F516 mov eax, 80040002h
.text:0026F51B jmp loc_26F5AB
.text:0026F520 ; ---------------------------------------------------------------------------
.text:0026F520
.text:0026F520 loc_26F520: ; CODE XREF: sub_26F420+F4j
.text:0026F520 mov ecx, [eax+410h]
.text:0026F526 add ecx, 2000h
.text:0026F52C jmp short loc_26F56A
.text:0026F52E ; ---------------------------------------------------------------------------
.text:0026F52E
.text:0026F52E loc_26F52E: ; CODE XREF: sub_26F420+ECj
.text:0026F52E mov ecx, [eax+414h]
.text:0026F534 add ecx, 1000h
.text:0026F53A jmp short loc_26F56A
.text:0026F53C ; ---------------------------------------------------------------------------
.text:0026F53C
.text:0026F53C loc_26F53C: ; CODE XREF: sub_26F420+E8j
.text:0026F53C mov ecx, [eax+418h]
.text:0026F542 add ecx, 800h
.text:0026F548 jmp short loc_26F56A
.text:0026F54A ; ---------------------------------------------------------------------------
.text:0026F54A
.text:0026F54A loc_26F54A: ; CODE XREF: sub_26F420+E4j
.text:0026F54A mov ecx, [eax+41Ch]
.text:0026F550 add ecx, 400h
.text:0026F556 jmp short loc_26F56A
.text:0026F558 ; ---------------------------------------------------------------------------
.text:0026F558
.text:0026F558 loc_26F558: ; CODE XREF: sub_26F420+DCj
.text:0026F558 mov ecx, [eax+420h]
.text:0026F55E add ecx, ebx
.text:0026F560 jmp short loc_26F56A
.text:0026F562 ; ---------------------------------------------------------------------------
.text:0026F562
.text:0026F562 loc_26F562: ; CODE XREF: sub_26F420+D7j
.text:0026F562 mov ecx, [eax+424h]
.text:0026F568 add ecx, edi
.text:0026F56A
.text:0026F56A loc_26F56A: ; CODE XREF: sub_26F420+10Cj
.text:0026F56A ; sub_26F420+11Aj ...
.text:0026F56A mov [eax+42Ch], ecx
.text:0026F570 sar edx, 7
.text:0026F573 mov ecx, ds:off_424DA0[edx*4]
.text:0026F57A mov edx, [ecx+4]
.text:0026F57D mov [eax+36Ch], edx
.text:0026F583 fld dword ptr [ecx]
.text:0026F585 fchs
.text:0026F587 fstp dword ptr [eax+370h]
.text:0026F58D mov edx, [ecx+4]
.text:0026F590 mov [eax+374h], edx
.text:0026F596 mov edx, [ecx]
.text:0026F598 mov [eax+378h], edx
.text:0026F59E fld dword ptr [ecx+20h]
.text:0026F5A1 fmul st, st(1)
.text:0026F5A3 fstp dword ptr [eax+37Ch]
.text:0026F5A9 xor eax, eax
.text:0026F5AB
.text:0026F5AB loc_26F5AB: ; CODE XREF: sub_26F420+FBj
.text:0026F5AB fstp st
.text:0026F5AD
.text:0026F5AD loc_26F5AD: ; CODE XREF: sub_26F420+4Cj
.text:0026F5AD pop edi
.text:0026F5AE pop esi
.text:0026F5AF pop ebx
.text:0026F5B0 retn 4
.text:0026F5B0 sub_26F420 endp
.text:0026F5B0
.text:0026F5B3 ; [0000039E BYTES: COLLAPSED FUNCTION prvInverseQuantizeLowRate_XDS(x,x,x). PRESS KEYPAD "+" TO EXPAND]
.text:0026F951 align 2
.text:0026F952
.text:0026F952 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F952
.text:0026F952 ; Attributes: thunk
.text:0026F952
.text:0026F952 sub_26F952 proc near ; CODE XREF: XShaHmacInitialize(x,x,x)+59p
.text:0026F952 ; sub_266A61j ...
.text:0026F952 jmp ds:dword_485E50
.text:0026F952 sub_26F952 endp
.text:0026F952
.text:0026F958
.text:0026F958 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F958
.text:0026F958 ; Attributes: thunk
.text:0026F958
.text:0026F958 sub_26F958 proc near ; CODE XREF: XShaHmacInitialize(x,x,x)+4Bp
.text:0026F958 ; XShaHmacComputeFinal(x,x,x,x)+52p ...
.text:0026F958 jmp ds:dword_485E54
.text:0026F958 sub_26F958 endp
.text:0026F958
.text:0026F95E
.text:0026F95E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F95E
.text:0026F95E ; Attributes: thunk
.text:0026F95E
.text:0026F95E sub_26F95E proc near ; CODE XREF: XShaHmacComputeFinal(x,x,x,x)+4Cp
.text:0026F95E ; XShaHmacComputeFinal(x,x,x,x)+67p ...
.text:0026F95E jmp ds:dword_485E58
.text:0026F95E sub_26F95E endp
.text:0026F95E
.text:0026F964
.text:0026F964 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F964
.text:0026F964 ; Attributes: thunk
.text:0026F964
.text:0026F964 sub_26F964 proc near ; CODE XREF: sub_267ECD+13p
.text:0026F964 ; sub_2689DA+13p ...
.text:0026F964 jmp ds:dword_485EB8
.text:0026F964 sub_26F964 endp
.text:0026F964
.text:0026F96A
.text:0026F96A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F96A
.text:0026F96A ; Attributes: thunk
.text:0026F96A
.text:0026F96A sub_26F96A proc near ; CODE XREF: XComputeContentSignatureKey(x,x)+17p
.text:0026F96A ; CXo::SignOnlineUserStruct(XC_ONLINE_USER_ACCOUNT_STRUCT *,uchar *)+29p ...
.text:0026F96A jmp ds:dword_485F44
.text:0026F96A sub_26F96A endp
.text:0026F96A
.text:0026F970
.text:0026F970 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F970
.text:0026F970 ; Attributes: thunk
.text:0026F970
.text:0026F970 sub_26F970 proc near ; CODE XREF: sub_3C4780+27p
.text:0026F970 jmp ds:dword_485F70
.text:0026F970 sub_26F970 endp
.text:0026F970
.text:0026F970 ; ---------------------------------------------------------------------------
.text:0026F976 align 10h
.text:0026F980
.text:0026F980 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F980
.text:0026F980
.text:0026F980 sub_26F980 proc near ; CODE XREF: sub_63540+32p
.text:0026F980
.text:0026F980 arg_0 = dword ptr 4
.text:0026F980
.text:0026F980 call _GetCurrentThreadId@0 ; GetCurrentThreadId()
.text:0026F985 mov dword_5E4ED4, eax
.text:0026F98A mov eax, [esp+arg_0]
.text:0026F98E mov dword_5E4ED8, eax
.text:0026F993 retn
.text:0026F993 sub_26F980 endp
.text:0026F993
.text:0026F993 ; ---------------------------------------------------------------------------
.text:0026F994 align 10h
.text:0026F9A0
.text:0026F9A0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F9A0
.text:0026F9A0
.text:0026F9A0 sub_26F9A0 proc near ; CODE XREF: sub_62C80+Ap
.text:0026F9A0 mov eax, offset aFinalBuild ; "FINAL Build"
.text:0026F9A5 retn
.text:0026F9A5 sub_26F9A0 endp
.text:0026F9A5
.text:0026F9A5 ; ---------------------------------------------------------------------------
.text:0026F9A6 align 10h
.text:0026F9B0
.text:0026F9B0 loc_26F9B0: ; DATA XREF: .rdata:004CF00Co
.text:0026F9B0 ; .rdata:004CF048o
.text:0026F9B0 mov eax, [esp+4]
.text:0026F9B4 lea edx, [eax+1]
.text:0026F9B7
.text:0026F9B7 loc_26F9B7: ; CODE XREF: .text:0026F9BCj
.text:0026F9B7 mov cl, [eax]
.text:0026F9B9 inc eax
.text:0026F9BA test cl, cl
.text:0026F9BC jnz short loc_26F9B7
.text:0026F9BE sub eax, edx
.text:0026F9C0 retn 4
.text:0026F9C0 ; ---------------------------------------------------------------------------
.text:0026F9C3 align 10h
.text:0026F9D0
.text:0026F9D0 loc_26F9D0: ; DATA XREF: .rdata:0049580Co
.text:0026F9D0 ; .rdata:004ADE38o ...
.text:0026F9D0 mov eax, [esp+8]
.text:0026F9D4 retn 8
.text:0026F9D4 ; ---------------------------------------------------------------------------
.text:0026F9D7 align 10h
.text:0026F9E0
.text:0026F9E0 loc_26F9E0: ; DATA XREF: .rdata:004CF080o
.text:0026F9E0 ; .rdata:004CF0BCo
.text:0026F9E0 jmp _lstrlenW@4 ; lstrlenW(x)
.text:0026F9E0 ; ---------------------------------------------------------------------------
.text:0026F9E5 align 10h
.text:0026F9F0
.text:0026F9F0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026F9F0
.text:0026F9F0
.text:0026F9F0 sub_26F9F0 proc near ; CODE XREF: .text:00308CA5p
.text:0026F9F0 push ebx
.text:0026F9F1 push esi
.text:0026F9F2 mov esi, ecx
.text:0026F9F4 push edi
.text:0026F9F5 lea ecx, [esi+8]
.text:0026F9F8 mov dword ptr [esi], offset off_48A848
.text:0026F9FE call sub_270670
.text:0026FA03 mov eax, offset dword_48A880
.text:0026FA08 mov [esi+0Ch], eax
.text:0026FA0B mov [esi+10h], eax
.text:0026FA0E mov dword ptr [esi+14h], offset dword_48A87C
.text:0026FA15 mov dword ptr [esi+18h], offset dword_48A878
.text:0026FA1C mov dword ptr [esi], offset off_4CF0C8
.text:0026FA22 mov dword ptr [esi+1Ch], 4
.text:0026FA29 lea edi, [esi+0A20h]
.text:0026FA2F mov ebx, 0Ah
.text:0026FA34
.text:0026FA34 loc_26FA34: ; CODE XREF: sub_26F9F0+4Fj
.text:0026FA34 mov ecx, edi
.text:0026FA36 call sub_19E80
.text:0026FA3B add edi, 10h
.text:0026FA3E dec ebx
.text:0026FA3F jnz short loc_26FA34
.text:0026FA41 mov dword ptr [esi+0AC0h], 0
.text:0026FA4B lea eax, [esi+20h]
.text:0026FA4E mov ecx, 0Ah
.text:0026FA53
.text:0026FA53 loc_26FA53: ; CODE XREF: sub_26F9F0+6Cj
.text:0026FA53 mov byte ptr [eax], 0
.text:0026FA56 add eax, 100h
.text:0026FA5B dec ecx
.text:0026FA5C jnz short loc_26FA53
.text:0026FA5E pop edi
.text:0026FA5F mov eax, esi
.text:0026FA61 pop esi
.text:0026FA62 pop ebx
.text:0026FA63 retn
.text:0026FA63 sub_26F9F0 endp
.text:0026FA63
.text:0026FA63 ; ---------------------------------------------------------------------------
.text:0026FA64 align 10h
.text:0026FA70
.text:0026FA70 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026FA70
.text:0026FA70
.text:0026FA70 sub_26FA70 proc near ; DATA XREF: .rdata:004CF0FCo
.text:0026FA70
.text:0026FA70 var_14 = dword ptr -14h
.text:0026FA70 var_8 = qword ptr -8
.text:0026FA70 arg_0 = dword ptr 4
.text:0026FA70
.text:0026FA70 sub esp, 8
.text:0026FA73 push ebx
.text:0026FA74 push esi
.text:0026FA75 mov esi, ecx
.text:0026FA77 mov ecx, [esi+0AC0h]
.text:0026FA7D mov eax, ecx
.text:0026FA7F shl eax, 8
.text:0026FA82 lea eax, [eax+esi+20h]
.text:0026FA86 push edi
.text:0026FA87 lea edi, [eax+1]
.text:0026FA8A xor ebx, ebx
.text:0026FA8C lea esp, [esp+0]
.text:0026FA90
.text:0026FA90 loc_26FA90: ; CODE XREF: sub_26FA70+25j
.text:0026FA90 mov dl, [eax]
.text:0026FA92 inc eax
.text:0026FA93 cmp dl, bl
.text:0026FA95 jnz short loc_26FA90
.text:0026FA97 sub eax, edi
.text:0026FA99 lea edi, [ecx+0A2h]
.text:0026FA9F shl edi, 4
.text:0026FAA2 add edi, esi
.text:0026FAA4 push ebp
.text:0026FAA5 mov ecx, edi
.text:0026FAA7 mov ebp, eax
.text:0026FAA9 call sub_19EA0
.text:0026FAAE mov dword ptr [esp+18h+var_8], eax
.text:0026FAB2 mov eax, edx
.text:0026FAB4 and edx, 7FFFFFFFh
.text:0026FABA mov dword ptr [esp+18h+var_8+4], edx
.text:0026FABE fild [esp+18h+var_8]
.text:0026FAC2 and eax, 80000000h
.text:0026FAC7 mov dword ptr [esp+18h+var_8+4], eax
.text:0026FACB mov dword ptr [esp+18h+var_8], ebx
.text:0026FACF fild [esp+18h+var_8]
.text:0026FAD3 fchs
.text:0026FAD5 faddp st(1), st
.text:0026FAD7 fmul ds:dbl_487898
.text:0026FADD fst qword ptr [edi+8]
.text:0026FAE0 fild dword ptr [esi+1Ch]
.text:0026FAE3 fxch st(1)
.text:0026FAE5 fcomip st, st(1)
.text:0026FAE7 fstp st
.text:0026FAE9 jbe short loc_26FAF8
.text:0026FAEB mov ecx, [esi+0AC0h]
.text:0026FAF1 shl ecx, 8
.text:0026FAF4 mov [ecx+esi+20h], bl
.text:0026FAF8
.text:0026FAF8 loc_26FAF8: ; CODE XREF: sub_26FA70+79j
.text:0026FAF8 mov ecx, [esi+0AC0h]
.text:0026FAFE add ecx, 0A2h
.text:0026FB04 shl ecx, 4
.text:0026FB07 add ecx, esi
.text:0026FB09 call sub_19E80
.text:0026FB0E mov edi, [esp+18h+arg_0]
.text:0026FB12 cmp [edi], bl
.text:0026FB14 jz short loc_26FB86
.text:0026FB16
.text:0026FB16 loc_26FB16: ; CODE XREF: sub_26FA70+114j
.text:0026FB16 cmp ebp, 0FFh
.text:0026FB1C jge short loc_26FB86
.text:0026FB1E cmp byte ptr [edi], 0Ah
.text:0026FB21 jnz short loc_26FB60
.text:0026FB23 mov ecx, [esi+0AC0h]
.text:0026FB29 inc ecx
.text:0026FB2A mov eax, ecx
.text:0026FB2C cmp eax, 0Ah
.text:0026FB2F mov [esi+0AC0h], ecx
.text:0026FB35 jl short loc_26FB3D
.text:0026FB37 mov [esi+0AC0h], ebx
.text:0026FB3D
.text:0026FB3D loc_26FB3D: ; CODE XREF: sub_26FA70+C5j
.text:0026FB3D mov edx, [esi+0AC0h]
.text:0026FB43 shl edx, 8
.text:0026FB46 mov [edx+esi+20h], bl
.text:0026FB4A mov ecx, [esi+0AC0h]
.text:0026FB50 add ecx, 0A2h
.text:0026FB56 shl ecx, 4
.text:0026FB59 add ecx, esi
.text:0026FB5B call sub_19E80
.text:0026FB60
.text:0026FB60 loc_26FB60: ; CODE XREF: sub_26FA70+B1j
.text:0026FB60 mov eax, [esi+0AC0h]
.text:0026FB66 mov cl, [edi]
.text:0026FB68 shl eax, 8
.text:0026FB6B add eax, ebp
.text:0026FB6D mov [eax+esi+20h], cl
.text:0026FB71 mov edx, [esi+0AC0h]
.text:0026FB77 inc ebp
.text:0026FB78 shl edx, 8
.text:0026FB7B add edx, ebp
.text:0026FB7D inc edi
.text:0026FB7E mov [edx+esi+20h], bl
.text:0026FB82 cmp [edi], bl
.text:0026FB84 jnz short loc_26FB16
.text:0026FB86
.text:0026FB86 loc_26FB86: ; CODE XREF: sub_26FA70+A4j
.text:0026FB86 ; sub_26FA70+ACj
.text:0026FB86 mov eax, [esp+18h+arg_0]
.text:0026FB8A lea edx, [eax+1]
.text:0026FB8D pop ebp
.text:0026FB8E mov edi, edi
.text:0026FB90
.text:0026FB90 loc_26FB90: ; CODE XREF: sub_26FA70+125j
.text:0026FB90 mov cl, [eax]
.text:0026FB92 inc eax
.text:0026FB93 cmp cl, bl
.text:0026FB95 jnz short loc_26FB90
.text:0026FB97 pop edi
.text:0026FB98 pop esi
.text:0026FB99 sub eax, edx
.text:0026FB9B pop ebx
.text:0026FB9C add esp, 8
.text:0026FB9F retn 4
.text:0026FB9F sub_26FA70 endp
.text:0026FB9F
.text:0026FB9F ; ---------------------------------------------------------------------------
.text:0026FBA2 align 10h
.text:0026FBB0
.text:0026FBB0 loc_26FBB0: ; DATA XREF: .rdata:off_48A848o
.text:0026FBB0 ; .rdata:off_48A88Co ...
.text:0026FBB0 push esi
.text:0026FBB1 mov esi, ecx
.text:0026FBB3 lea ecx, [esi+8]
.text:0026FBB6 mov dword ptr [esi], offset off_48A848
.text:0026FBBC call sub_270690
.text:0026FBC1 test byte ptr [esp+8], 1
.text:0026FBC6 jz short loc_26FBD1
.text:0026FBC8 push esi
.text:0026FBC9 call sub_59560
.text:0026FBCE add esp, 4
.text:0026FBD1
.text:0026FBD1 loc_26FBD1: ; CODE XREF: .text:0026FBC6j
.text:0026FBD1 mov eax, esi
.text:0026FBD3 pop esi
.text:0026FBD4 retn 4
.text:0026FBD4 ; ---------------------------------------------------------------------------
.text:0026FBD7 align 10h
.text:0026FBE0
.text:0026FBE0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026FBE0
.text:0026FBE0 ; Attributes: bp-based frame
.text:0026FBE0
.text:0026FBE0 sub_26FBE0 proc near ; CODE XREF: sub_26FF20+23p
.text:0026FBE0
.text:0026FBE0 var_2FF4 = dword ptr -2FF4h
.text:0026FBE0 var_1054 = byte ptr -1054h
.text:0026FBE0 var_55 = byte ptr -55h
.text:0026FBE0 var_54 = byte ptr -54h
.text:0026FBE0 var_34 = dword ptr -34h
.text:0026FBE0 var_2C = dword ptr -2Ch
.text:0026FBE0 var_20 = dword ptr -20h
.text:0026FBE0 var_18 = dword ptr -18h
.text:0026FBE0 var_10 = dword ptr -10h
.text:0026FBE0 arg_4 = dword ptr 0Ch
.text:0026FBE0 arg_8 = dword ptr 10h
.text:0026FBE0 arg_C = dword ptr 14h
.text:0026FBE0 arg_10 = dword ptr 18h
.text:0026FBE0 arg_14 = dword ptr 1Ch
.text:0026FBE0 arg_18 = dword ptr 20h
.text:0026FBE0
.text:0026FBE0 push ebp
.text:0026FBE1 mov ebp, esp
.text:0026FBE3 sub esp, 2FF4h
.text:0026FBE9 push ebx
.text:0026FBEA push esi
.text:0026FBEB push edi
.text:0026FBEC pusha
.text:0026FBED mov al, byte_5E59A8
.text:0026FBF2 test al, al
.text:0026FBF4 jz short loc_26FC03
.text:0026FBF6 push offset OutputString ; "Reentrant assertion!!!\n"
.text:0026FBFB call _OutputDebugStringA@4 ; OutputDebugStringA(x)
.text:0026FC00 int 3 ; Trap to Debugger
.text:0026FC01
.text:0026FC01 loc_26FC01: ; CODE XREF: sub_26FBE0:loc_26FC01j
.text:0026FC01 jmp short loc_26FC01
.text:0026FC03 ; ---------------------------------------------------------------------------
.text:0026FC03
.text:0026FC03 loc_26FC03: ; CODE XREF: sub_26FBE0+14j
.text:0026FC03 mov eax, [ebp+arg_14]
.text:0026FC06 test eax, eax
.text:0026FC08 mov byte_5E59A8, 1
.text:0026FC0F mov [ebp+var_55], 0
.text:0026FC13 jnz loc_26FE12
.text:0026FC19 mov ecx, offset byte_487235
.text:0026FC1E mov eax, ecx
.text:0026FC20
.text:0026FC20 loc_26FC20: ; CODE XREF: sub_26FBE0+237j
.text:0026FC20 mov esi, [ebp+arg_C]
.text:0026FC23 push ecx
.text:0026FC24 push eax
.text:0026FC25 mov eax, [ebp+arg_4]
.text:0026FC28 push eax
.text:0026FC29 push esi
.text:0026FC2A call sub_265046
.text:0026FC2F mov edi, [ebp+arg_10]
.text:0026FC32 mov ebx, [ebp+arg_8]
.text:0026FC35 push eax
.text:0026FC36 push edi
.text:0026FC37 push ebx
.text:0026FC38 push offset a@SDTickDFuncti ; "@%s(%d) :(Tick %d): Function: %s: Asse"...
.text:0026FC3D lea ecx, [ebp+var_1054]
.text:0026FC43 push 0FFFh ; size_t
.text:0026FC48 push ecx ; char *
.text:0026FC49 call __snprintf
.text:0026FC4E add esp, 28h
.text:0026FC51 push 1FA0h
.text:0026FC56 lea edx, [ebp+var_2FF4]
.text:0026FC5C push edx
.text:0026FC5D lea ecx, [ebp+var_34]
.text:0026FC60 call sub_2C310
.text:0026FC65 mov eax, [ebp+arg_14]
.text:0026FC68 test eax, eax
.text:0026FC6A mov [ebp+arg_14], offset byte_487235
.text:0026FC71 jz short loc_26FC76
.text:0026FC73 mov [ebp+arg_14], eax
.text:0026FC76
.text:0026FC76 loc_26FC76: ; CODE XREF: sub_26FBE0+91j
.text:0026FC76 mov eax, [ebp+var_34]
.text:0026FC79 push offset aAssertionFailu ; "Assertion Failure\n\n "
.text:0026FC7E lea ecx, [ebp+var_34]
.text:0026FC81 call dword ptr [eax+34h]
.text:0026FC84 mov ecx, [ebp+arg_4]
.text:0026FC87 mov edx, [ebp+var_34]
.text:0026FC8A push ecx
.text:0026FC8B lea ecx, [ebp+var_34]
.text:0026FC8E call dword ptr [edx+34h]
.text:0026FC91 mov eax, [ebp+var_34]
.text:0026FC94 push offset dword_4AA3B8
.text:0026FC99 lea ecx, [ebp+var_34]
.text:0026FC9C call dword ptr [eax+34h]
.text:0026FC9F mov ecx, [ebp+arg_14]
.text:0026FCA2 mov edx, [ebp+var_34]
.text:0026FCA5 push ecx
.text:0026FCA6 lea ecx, [ebp+var_34]
.text:0026FCA9 call dword ptr [edx+34h]
.text:0026FCAC mov eax, [ebp+var_34]
.text:0026FCAF push offset aFile_1 ; "\n\nFile: "
.text:0026FCB4 lea ecx, [ebp+var_34]
.text:0026FCB7 call dword ptr [eax+34h]
.text:0026FCBA mov edx, [ebp+var_34]
.text:0026FCBD push ebx
.text:0026FCBE lea ecx, [ebp+var_34]
.text:0026FCC1 call dword ptr [edx+34h]
.text:0026FCC4 mov eax, [ebp+var_34]
.text:0026FCC7 push offset aFunction ; "\nFunction:"
.text:0026FCCC lea ecx, [ebp+var_34]
.text:0026FCCF call dword ptr [eax+34h]
.text:0026FCD2 mov edx, [ebp+var_34]
.text:0026FCD5 push esi
.text:0026FCD6 lea ecx, [ebp+var_34]
.text:0026FCD9 call dword ptr [edx+34h]
.text:0026FCDC mov eax, [ebp+var_34]
.text:0026FCDF push offset aLine_0 ; "\nLine:"
.text:0026FCE4 lea ecx, [ebp+var_34]
.text:0026FCE7 call dword ptr [eax+34h]
.text:0026FCEA mov ecx, [ebp+var_20]
.text:0026FCED push edi
.text:0026FCEE push ecx ; char *
.text:0026FCEF lea edx, [ebp+var_54]
.text:0026FCF2 push edx ; char *
.text:0026FCF3 call _sprintf
.text:0026FCF8 mov edx, [ebp+var_34]
.text:0026FCFB add esp, 0Ch
.text:0026FCFE lea eax, [ebp+var_54]
.text:0026FD01 push eax
.text:0026FD02 lea ecx, [ebp+var_34]
.text:0026FD05 call dword ptr [edx+34h]
.text:0026FD08 mov eax, [ebp+var_34]
.text:0026FD0B push offset aVersion ; "\nVersion:"
.text:0026FD10 lea ecx, [ebp+var_34]
.text:0026FD13 call dword ptr [eax+34h]
.text:0026FD16 mov edx, [ebp+var_34]
.text:0026FD19 push offset a1_05_03_28_598 ; "1.05.03.28.59858"
.text:0026FD1E lea ecx, [ebp+var_34]
.text:0026FD21 call dword ptr [edx+34h]
.text:0026FD24 mov eax, [ebp+var_34]
.text:0026FD27 push offset dword_487878
.text:0026FD2C lea ecx, [ebp+var_34]
.text:0026FD2F call dword ptr [eax+34h]
.text:0026FD32 mov edx, [ebp+var_34]
.text:0026FD35 push offset aFinalBuild ; "FINAL Build"
.text:0026FD3A lea ecx, [ebp+var_34]
.text:0026FD3D call dword ptr [edx+34h]
.text:0026FD40 mov edx, [ebp+var_34]
.text:0026FD43 lea eax, [ebp+arg_14+2]
.text:0026FD46 push eax
.text:0026FD47 lea ecx, [ebp+var_34]
.text:0026FD4A mov byte ptr [ebp+arg_14+2], 0
.text:0026FD4E mov byte ptr [ebp+arg_14+3], 0
.text:0026FD52 call dword ptr [edx+34h]
.text:0026FD55 mov eax, [ebp+var_34]
.text:0026FD58 push offset dword_487878
.text:0026FD5D lea ecx, [ebp+var_34]
.text:0026FD60 call dword ptr [eax+34h]
.text:0026FD63 mov esi, offset off_48A848
.text:0026FD68 lea ecx, [ebp+var_10]
.text:0026FD6B mov [ebp+var_18], esi
.text:0026FD6E call sub_270690
.text:0026FD73 lea ecx, [ebp+var_2C]
.text:0026FD76 mov [ebp+var_34], esi
.text:0026FD79 call sub_270690
.text:0026FD7E mov esi, [ebp+arg_18]
.text:0026FD81 and esi, 1
.text:0026FD84 jnz short loc_26FDC4
.text:0026FD86 mov ecx, off_56F604
.text:0026FD8C mov edx, off_56F694
.text:0026FD92 push ecx
.text:0026FD93 mov ecx, offset off_56F694
.text:0026FD98 call dword ptr [edx+34h]
.text:0026FD9B mov edx, off_56F694
.text:0026FDA1 lea eax, [ebp+var_2FF4]
.text:0026FDA7 push eax
.text:0026FDA8 mov ecx, offset off_56F694
.text:0026FDAD call dword ptr [edx+34h]
.text:0026FDB0 mov eax, off_56F608
.text:0026FDB5 mov edx, off_56F694
.text:0026FDBB push eax
.text:0026FDBC mov ecx, offset off_56F694
.text:0026FDC1 call dword ptr [edx+34h]
.text:0026FDC4
.text:0026FDC4 loc_26FDC4: ; CODE XREF: sub_26FBE0+1A4j
.text:0026FDC4 test esi, esi
.text:0026FDC6 jz loc_26FF0E
.text:0026FDCC call nullsub_4
.text:0026FDD1 mov eax, dword_5E4ED8
.text:0026FDD6 test eax, eax
.text:0026FDD8 jz short loc_26FDDC
.text:0026FDDA call eax
.text:0026FDDC
.text:0026FDDC loc_26FDDC: ; CODE XREF: sub_26FBE0+1F8j
.text:0026FDDC mov eax, dword_56F600
.text:0026FDE1 cmp eax, 1
.text:0026FDE4 jnz short loc_26FE1C
.text:0026FDE6 mov eax, off_56F694
.text:0026FDEB push offset aAssertionReboo ; "Assertion Rebooting Forza\n"
.text:0026FDF0 mov ecx, offset off_56F694
.text:0026FDF5 call dword ptr [eax+34h]
.text:0026FDF8 push 0
.text:0026FDFA mov ecx, offset dword_58B630
.text:0026FDFF call sub_5D710
.text:0026FE04 mov byte_5E59A8, 0
.text:0026FE0B pop edi
.text:0026FE0C pop esi
.text:0026FE0D pop ebx
.text:0026FE0E mov esp, ebp
.text:0026FE10 pop ebp
.text:0026FE11 retn
.text:0026FE12 ; ---------------------------------------------------------------------------
.text:0026FE12
.text:0026FE12 loc_26FE12: ; CODE XREF: sub_26FBE0+33j
.text:0026FE12 mov ecx, offset dword_487878
.text:0026FE17 jmp loc_26FC20
.text:0026FE1C ; ---------------------------------------------------------------------------
.text:0026FE1C
.text:0026FE1C loc_26FE1C: ; CODE XREF: sub_26FBE0+204j
.text:0026FE1C test eax, eax
.text:0026FE1E jnz loc_26FF0E
.text:0026FE24 call _GetCurrentThreadId@0 ; GetCurrentThreadId()
.text:0026FE29 cmp dword_5E4ED4, eax
.text:0026FE2F jz short loc_26FE71
.text:0026FE31 mov edx, off_56F694
.text:0026FE37 push offset aAssertionInAno ; "Assertion in another thread: "
.text:0026FE3C mov ecx, offset off_56F694
.text:0026FE41 call dword ptr [edx+34h]
.text:0026FE44 mov eax, [ebp+arg_4]
.text:0026FE47 mov edx, off_56F694
.text:0026FE4D push eax
.text:0026FE4E mov ecx, offset off_56F694
.text:0026FE53 call dword ptr [edx+34h]
.text:0026FE56 mov edx, off_56F694
.text:0026FE5C mov byte ptr [ebp+arg_14+2], 0Ah
.text:0026FE60 mov byte ptr [ebp+arg_14+3], 0
.text:0026FE64 lea eax, [ebp+arg_14+2]
.text:0026FE67 mov ecx, offset off_56F694
.text:0026FE6C jmp loc_26FF0A
.text:0026FE71 ; ---------------------------------------------------------------------------
.text:0026FE71
.text:0026FE71 loc_26FE71: ; CODE XREF: sub_26FBE0+24Fj
.text:0026FE71 push 0
.text:0026FE73 push 3F800000h
.text:0026FE78 push 0FFFFFFFFh
.text:0026FE7A push 0F3h
.text:0026FE7F push 0
.text:0026FE81 push 0
.text:0026FE83 call sub_1DAE90
.text:0026FE88 movss xmm0, dword_56F650
.text:0026FE90 push 0
.text:0026FE92 push 3F800000h
.text:0026FE97 push 0FF0000FFh
.text:0026FE9C push 0F3h
.text:0026FEA1 movss dword_56F648, xmm0
.text:0026FEA9 movss xmm0, dword_56F654
.text:0026FEB1 push 0
.text:0026FEB3 push 0
.text:0026FEB5 mov dword_56F658, 0FF808000h
.text:0026FEBF movss dword_56F64C, xmm0
.text:0026FEC7 call sub_1DAE90
.text:0026FECC movss xmm0, dword_56F650
.text:0026FED4 mov edx, off_56F628
.text:0026FEDA movss dword_56F648, xmm0
.text:0026FEE2 movss xmm0, dword_56F654
.text:0026FEEA add esp, 30h
.text:0026FEED movss dword_56F64C, xmm0
.text:0026FEF5 mov dword_56F658, 0FFFFFFFFh
.text:0026FEFF lea eax, [ebp+var_2FF4]
.text:0026FF05 mov ecx, offset off_56F628
.text:0026FF0A
.text:0026FF0A loc_26FF0A: ; CODE XREF: sub_26FBE0+28Cj
.text:0026FF0A push eax
.text:0026FF0B call dword ptr [edx+34h]
.text:0026FF0E
.text:0026FF0E loc_26FF0E: ; CODE XREF: sub_26FBE0+1E6j
.text:0026FF0E ; sub_26FBE0+23Ej
.text:0026FF0E popa
.text:0026FF0F pop edi
.text:0026FF10 pop esi
.text:0026FF11 mov byte_5E59A8, 0
.text:0026FF18 pop ebx
.text:0026FF19 mov esp, ebp
.text:0026FF1B pop ebp
.text:0026FF1C retn
.text:0026FF1C sub_26FBE0 endp
.text:0026FF1C
.text:0026FF1C ; ---------------------------------------------------------------------------
.text:0026FF1D align 10h
.text:0026FF20
.text:0026FF20 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026FF20
.text:0026FF20
.text:0026FF20 sub_26FF20 proc near ; CODE XREF: sub_17520+2Dp
.text:0026FF20 ; sub_1D9C0+7Fp ...
.text:0026FF20
.text:0026FF20 arg_0 = dword ptr 4
.text:0026FF20 arg_4 = dword ptr 8
.text:0026FF20 arg_8 = dword ptr 0Ch
.text:0026FF20 arg_C = dword ptr 10h
.text:0026FF20 arg_10 = dword ptr 14h
.text:0026FF20 arg_14 = dword ptr 18h
.text:0026FF20
.text:0026FF20 mov eax, [esp+arg_14]
.text:0026FF24 mov ecx, [esp+arg_10]
.text:0026FF28 mov edx, [esp+arg_C]
.text:0026FF2C push eax
.text:0026FF2D mov eax, [esp+4+arg_8]
.text:0026FF31 push ecx
.text:0026FF32 mov ecx, [esp+8+arg_4]
.text:0026FF36 push edx
.text:0026FF37 mov edx, [esp+0Ch+arg_0]
.text:0026FF3B push eax
.text:0026FF3C push ecx
.text:0026FF3D push edx
.text:0026FF3E push offset aAssert ; "Assert"
.text:0026FF43 call sub_26FBE0
.text:0026FF48 add esp, 1Ch
.text:0026FF4B retn
.text:0026FF4B sub_26FF20 endp
.text:0026FF4B
.text:0026FF4B ; ---------------------------------------------------------------------------
.text:0026FF4C align 10h
.text:0026FF50 mov eax, [esp+4]
.text:0026FF54 push esi
.text:0026FF55 mov esi, [esp+0Ch]
.text:0026FF59 push esi
.text:0026FF5A push eax
.text:0026FF5B call sub_26FF70
.text:0026FF60 mov eax, esi
.text:0026FF62 pop esi
.text:0026FF63 retn 8
.text:0026FF63 ; ---------------------------------------------------------------------------
.text:0026FF66 align 10h
.text:0026FF70
.text:0026FF70 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0026FF70
.text:0026FF70
.text:0026FF70 sub_26FF70 proc near ; CODE XREF: .text:0026FF5Bp
.text:0026FF70
.text:0026FF70 var_220 = dword ptr -220h
.text:0026FF70 var_210 = dword ptr -210h
.text:0026FF70 var_20C = dword ptr -20Ch
.text:0026FF70 var_208 = dword ptr -208h
.text:0026FF70 var_204 = dword ptr -204h
.text:0026FF70 var_200 = dword ptr -200h
.text:0026FF70 arg_0 = dword ptr 4
.text:0026FF70 arg_4 = dword ptr 8
.text:0026FF70
.text:0026FF70 sub esp, 210h
.text:0026FF76 mov eax, [esp+210h+arg_4]
.text:0026FF7D push esi
.text:0026FF7E push edi
.text:0026FF7F xor edx, edx
.text:0026FF81 xor edi, edi
.text:0026FF83 test eax, eax
.text:0026FF85 mov esi, ecx
.text:0026FF87 mov [esp+218h+var_208], edx
.text:0026FF8B jl loc_2700BC
.text:0026FF91 push ebx
.text:0026FF92 mov ebx, [esp+21Ch+arg_0]
.text:0026FF99 mov eax, 1
.text:0026FF9E sub eax, ebx
.text:0026FFA0 push ebp
.text:0026FFA1 mov ebp, ebx
.text:0026FFA3 mov [esp+220h+var_20C], eax
.text:0026FFA7 jmp short loc_26FFB0
.text:0026FFA7 ; ---------------------------------------------------------------------------
.text:0026FFA9 align 10h
.text:0026FFB0
.text:0026FFB0 loc_26FFB0: ; CODE XREF: sub_26FF70+37j
.text:0026FFB0 ; sub_26FF70+DFj
.text:0026FFB0 mov al, [ebp+0]
.text:0026FFB3 test al, al
.text:0026FFB5 jz loc_270062
.text:0026FFBB cmp al, 0Ah
.text:0026FFBD jnz loc_270040
.text:0026FFC3 movss xmm0, dword ptr [esi+24h]
.text:0026FFC8 movss [esp+220h+var_204], xmm0
.text:0026FFCE movss xmm0, dword ptr [esi+20h]
.text:0026FFD3 movss [esp+220h+var_210], xmm0
.text:0026FFD9 xor eax, eax
.text:0026FFDB mov ecx, edi
.text:0026FFDD lea ecx, [ecx+0]
.text:0026FFE0
.text:0026FFE0 loc_26FFE0: ; CODE XREF: sub_26FF70+85j
.text:0026FFE0 cmp ecx, edx
.text:0026FFE2 jge short loc_26FFF7
.text:0026FFE4 movsx di, byte ptr [ecx+ebx]
.text:0026FFE9 mov word ptr [esp+eax*2+220h+var_200], di
.text:0026FFEE inc eax
.text:0026FFEF inc ecx
.text:0026FFF0 cmp eax, 0FFh
.text:0026FFF5 jl short loc_26FFE0
.text:0026FFF7
.text:0026FFF7 loc_26FFF7: ; CODE XREF: sub_26FF70+72j
.text:0026FFF7 mov ecx, [esp+220h+var_204]
.text:0026FFFB mov edx, [esp+220h+var_210]
.text:0026FFFF mov word ptr [esp+eax*2+220h+var_200], 0
.text:00270006 lea eax, [esp+220h+var_200]
.text:0027000A push eax
.text:0027000B push ecx
.text:0027000C push edx
.text:0027000D mov ecx, esi
.text:0027000F call sub_2700D0
.text:00270014 fstp st
.text:00270016 mov eax, [esp+220h+var_20C]
.text:0027001A mov ecx, [esi+28h]
.text:0027001D lea edi, [eax+ebp]
.text:00270020 mov eax, [esi+1Ch]
.text:00270023 mov [esi+20h], ecx
.text:00270026 test eax, eax
.text:00270028 cmovz eax, dword_5892B0
.text:0027002F mov ecx, eax
.text:00270031 call sub_2768D0
.text:00270036 fadd dword ptr [esi+24h]
.text:00270039 mov edx, [esp+220h+var_208]
.text:0027003D fstp dword ptr [esi+24h]
.text:00270040
.text:00270040 loc_270040: ; CODE XREF: sub_26FF70+4Dj
.text:00270040 mov eax, [esp+220h+arg_4]
.text:00270047 inc edx
.text:00270048 inc ebp
.text:00270049 cmp edx, eax
.text:0027004B mov [esp+220h+var_208], edx
.text:0027004F jle loc_26FFB0
.text:00270055 pop ebp
.text:00270056 pop ebx
.text:00270057 pop edi
.text:00270058 pop esi
.text:00270059 add esp, 210h
.text:0027005F retn 8
.text:00270062 ; ---------------------------------------------------------------------------
.text:00270062
.text:00270062 loc_270062: ; CODE XREF: sub_26FF70+45j
.text:00270062 movss xmm0, dword ptr [esi+24h]
.text:00270067 movss [esp+220h+var_20C], xmm0
.text:0027006D movss xmm0, dword ptr [esi+20h]
.text:00270072 movss [esp+220h+var_210], xmm0
.text:00270078 xor eax, eax
.text:0027007A mov ecx, edi
.text:0027007C lea esp, [esp+0]
.text:00270080
.text:00270080 loc_270080: ; CODE XREF: sub_26FF70+125j
.text:00270080 cmp ecx, edx
.text:00270082 jge short loc_270097
.text:00270084 movsx di, byte ptr [ecx+ebx]
.text:00270089 mov word ptr [esp+eax*2+220h+var_200], di
.text:0027008E inc eax
.text:0027008F inc ecx
.text:00270090 cmp eax, 0FFh
.text:00270095 jl short loc_270080
.text:00270097
.text:00270097 loc_270097: ; CODE XREF: sub_26FF70+112j
.text:00270097 mov ecx, [esp+220h+var_210]
.text:0027009B lea edx, [esp+220h+var_200]
.text:0027009F mov word ptr [esp+eax*2+220h+var_200], 0
.text:002700A6 mov eax, [esp+220h+var_20C]
.text:002700AA push edx
.text:002700AB push eax
.text:002700AC push ecx
.text:002700AD mov ecx, esi
.text:002700AF call sub_2700D0
.text:002700B4 fadd dword ptr [esi+20h]
.text:002700B7 pop ebp
.text:002700B8 pop ebx
.text:002700B9 fstp dword ptr [esi+20h]
.text:002700BC
.text:002700BC loc_2700BC: ; CODE XREF: sub_26FF70+1Bj
.text:002700BC pop edi
.text:002700BD pop esi
.text:002700BE add esp, 210h
.text:002700C4 retn 8
.text:002700C4 sub_26FF70 endp
.text:002700C4
.text:002700C4 ; ---------------------------------------------------------------------------
.text:002700C7 align 10h
.text:002700D0
.text:002700D0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:002700D0
.text:002700D0
.text:002700D0 sub_2700D0 proc near ; CODE XREF: sub_26FF70+9Fp
.text:002700D0 ; sub_26FF70+13Fp
.text:002700D0
.text:002700D0 arg_0 = dword ptr 4
.text:002700D0 arg_4 = dword ptr 8
.text:002700D0 arg_8 = dword ptr 0Ch
.text:002700D0
.text:002700D0 mov edx, [esp+arg_4]
.text:002700D4 push esi
.text:002700D5 push edi
.text:002700D6 mov edi, [esp+8+arg_8]
.text:002700DA push 0
.text:002700DC push 0
.text:002700DE mov esi, ecx
.text:002700E0 mov eax, [esi+30h]
.text:002700E3 mov ecx, [esi+1Ch]
.text:002700E6 push edi
.text:002700E7 push eax
.text:002700E8 mov eax, [esp+18h+arg_0]
.text:002700EC push edx
.text:002700ED test ecx, ecx
.text:002700EF cmovz ecx, dword_5892B0
.text:002700F6 push eax
.text:002700F7 call sub_278BE0
.text:002700FC mov esi, [esi+1Ch]
.text:002700FF push 0FFFFFFFFh
.text:00270101 push 0
.text:00270103 lea edx, [esp+10h+arg_4]
.text:00270107 push edx
.text:00270108 lea eax, [esp+14h+arg_8]
.text:0027010C push eax
.text:0027010D test esi, esi
.text:0027010F mov ecx, esi
.text:00270111 cmovz ecx, dword_5892B0
.text:00270118 push edi
.text:00270119 call sub_2788E0
.text:0027011E fld [esp+8+arg_8]
.text:00270122 pop edi
.text:00270123 pop esi
.text:00270124 retn 0Ch
.text:00270124 sub_2700D0 endp
.text:00270124
.text:00270124 ; ---------------------------------------------------------------------------
.text:00270127 align 10h
.text:00270130
.text:00270130 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00270130
.text:00270130
.text:00270130 sub_270130 proc near ; CODE XREF: sub_52D40+19p
.text:00270130 ; sub_53EB0+419p ...
.text:00270130
.text:00270130 arg_0 = dword ptr 4
.text:00270130
.text:00270130 mov ecx, [esp+arg_0]
.text:00270134 push esi
.text:00270135 mov eax, ecx
.text:00270137 push edi
.text:00270138 xor edi, edi
.text:0027013A lea esi, [eax+1]
.text:0027013D lea ecx, [ecx+0]
.text:00270140
.text:00270140 loc_270140: ; CODE XREF: sub_270130+15j
.text:00270140 mov dl, [eax]
.text:00270142 inc eax
.text:00270143 test dl, dl
.text:00270145 jnz short loc_270140
.text:00270147 sub eax, esi
.text:00270149 mov esi, offset byte_5E59B0
.text:0027014E sub esi, ecx
.text:00270150
.text:00270150 loc_270150: ; CODE XREF: sub_270130+28j
.text:00270150 mov dl, [ecx]
.text:00270152 mov [esi+ecx], dl
.text:00270155 inc ecx
.text:00270156 test dl, dl
.text:00270158 jnz short loc_270150
.text:0027015A mov cl, byte ptr (dword_5E59AC+3)[eax]
.text:00270160 cmp cl, 30h
.text:00270163 lea esi, (dword_5E59AC+3)[eax]
.text:00270169 jl short loc_270186
.text:0027016B jmp short loc_270170
.text:0027016B ; ---------------------------------------------------------------------------
.text:0027016D align 10h
.text:00270170
.text:00270170 loc_270170: ; CODE XREF: sub_270130+3Bj
.text:00270170 ; sub_270130+54j
.text:00270170 cmp cl, 39h
.text:00270173 jg short loc_270186
.text:00270175 cmp esi, 5E59B0h
.text:0027017B jz short loc_270186
.text:0027017D mov cl, [esi-1]
.text:00270180 dec esi
.text:00270181 cmp cl, 30h
.text:00270184 jge short loc_270170
.text:00270186
.text:00270186 loc_270186: ; CODE XREF: sub_270130+39j
.text:00270186 ; sub_270130+43j ...
.text:00270186 lea eax, (dword_5E59AC+3)[eax]
.text:0027018C cmp esi, eax
.text:0027018E jnb short loc_2701A7
.text:00270190 inc esi
.text:00270191 push esi ; char *
.text:00270192 call j__atol
.text:00270197 cdq
.text:00270198 mov ecx, 0FFh
.text:0027019D add esp, 4
.text:002701A0 idiv ecx
.text:002701A2 mov byte ptr [esi], 0
.text:002701A5 mov edi, edx
.text:002701A7
.text:002701A7 loc_2701A7: ; CODE XREF: sub_270130+5Ej
.text:002701A7 mov dl, byte_5E59B0
.text:002701AD xor eax, eax
.text:002701AF test dl, dl
.text:002701B1 mov ecx, 5E59B0h
.text:002701B6 jz short loc_2701DE
.text:002701B8
.text:002701B8 loc_2701B8: ; CODE XREF: sub_270130+ACj
.text:002701B8 shl eax, 8
.text:002701BB mov edx, eax
.text:002701BD mov al, [ecx]
.text:002701BF inc ecx
.text:002701C0 cmp al, 61h
.text:002701C2 jl short loc_2701CA
.text:002701C4 cmp al, 7Ah
.text:002701C6 jg short loc_2701CA
.text:002701C8 add al, 0E0h
.text:002701CA
.text:002701CA loc_2701CA: ; CODE XREF: sub_270130+92j
.text:002701CA ; sub_270130+96j
.text:002701CA movsx eax, al
.text:002701CD add eax, edx
.text:002701CF cdq
.text:002701D0 mov esi, 0FFFFFDh
.text:002701D5 idiv esi
.text:002701D7 mov eax, edx
.text:002701D9 cmp byte ptr [ecx], 0
.text:002701DC jnz short loc_2701B8
.text:002701DE
.text:002701DE loc_2701DE: ; CODE XREF: sub_270130+86j
.text:002701DE shl eax, 8
.text:002701E1 add eax, edi
.text:002701E3 pop edi
.text:002701E4 pop esi
.text:002701E5 retn
.text:002701E5 sub_270130 endp
.text:002701E5
.text:002701E5 ; ---------------------------------------------------------------------------
.text:002701E6 align 10h
.text:002701F0
.text:002701F0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:002701F0
.text:002701F0
.text:002701F0 sub_2701F0 proc near ; CODE XREF: sub_52D40+2Cp
.text:002701F0 ; sub_218310+2D6p
.text:002701F0
.text:002701F0 arg_0 = dword ptr 4
.text:002701F0
.text:002701F0 mov ecx, [esp+arg_0]
.text:002701F4 push esi
.text:002701F5 mov eax, ecx
.text:002701F7 push edi
.text:002701F8 xor edi, edi
.text:002701FA lea esi, [eax+1]
.text:002701FD lea ecx, [ecx+0]
.text:00270200
.text:00270200 loc_270200: ; CODE XREF: sub_2701F0+15j
.text:00270200 mov dl, [eax]
.text:00270202 inc eax
.text:00270203 test dl, dl
.text:00270205 jnz short loc_270200
.text:00270207 sub eax, esi
.text:00270209 mov esi, (offset dword_5E5AAF+1)
.text:0027020E sub esi, ecx
.text:00270210
.text:00270210 loc_270210: ; CODE XREF: sub_2701F0+28j
.text:00270210 mov dl, [ecx]
.text:00270212 mov [esi+ecx], dl
.text:00270215 inc ecx
.text:00270216 test dl, dl
.text:00270218 jnz short loc_270210
.text:0027021A mov cl, byte ptr dword_5E5AAF[eax]
.text:00270220 cmp cl, 30h
.text:00270223 lea esi, dword_5E5AAF[eax]
.text:00270229 jl short loc_270246
.text:0027022B jmp short loc_270230
.text:0027022B ; ---------------------------------------------------------------------------
.text:0027022D align 10h
.text:00270230
.text:00270230 loc_270230: ; CODE XREF: sub_2701F0+3Bj
.text:00270230 ; sub_2701F0+54j
.text:00270230 cmp cl, 39h
.text:00270233 jg short loc_270246
.text:00270235 cmp esi, 5E5AB0h
.text:0027023B jz short loc_270246
.text:0027023D mov cl, [esi-1]
.text:00270240 dec esi
.text:00270241 cmp cl, 30h
.text:00270244 jge short loc_270230
.text:00270246
.text:00270246 loc_270246: ; CODE XREF: sub_2701F0+39j
.text:00270246 ; sub_2701F0+43j ...
.text:00270246 lea eax, dword_5E5AAF[eax]
.text:0027024C cmp esi, eax
.text:0027024E jnb short loc_270267
.text:00270250 inc esi
.text:00270251 push esi ; char *
.text:00270252 call j__atol
.text:00270257 cdq
.text:00270258 mov ecx, 0FFh
.text:0027025D add esp, 4
.text:00270260 idiv ecx
.text:00270262 mov byte ptr [esi], 0
.text:00270265 mov edi, edx
.text:00270267
.text:00270267 loc_270267: ; CODE XREF: sub_2701F0+5Ej
.text:00270267 movsx eax, byte ptr dword_5E5AAF+1
.text:0027026E mov cl, byte ptr dword_5E5AAF+3
.text:00270274 imul eax, 101h
.text:0027027A test cl, cl
.text:0027027C mov esi, 5E5AB2h
.text:00270281 jz short loc_27029D
.text:00270283 push ebx
.text:00270284
.text:00270284 loc_270284: ; CODE XREF: sub_2701F0+AAj
.text:00270284 cdq
.text:00270285 mov ebx, 0FFFFFDh
.text:0027028A idiv ebx
.text:0027028C movsx eax, cl
.text:0027028F mov cl, [esi+1]
.text:00270292 shl edx, 8
.text:00270295 add eax, edx
.text:00270297 inc esi
.text:00270298 test cl, cl
.text:0027029A jnz short loc_270284
.text:0027029C pop ebx
.text:0027029D
.text:0027029D loc_27029D: ; CODE XREF: sub_2701F0+91j
.text:0027029D shl eax, 8
.text:002702A0 add eax, edi
.text:002702A2 pop edi
.text:002702A3 pop esi
.text:002702A4 retn
.text:002702A4 sub_2701F0 endp
.text:002702A4
.text:002702A4 ; ---------------------------------------------------------------------------
.text:002702A5 align 10h
.text:002702B0
.text:002702B0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:002702B0
.text:002702B0
.text:002702B0 sub_2702B0 proc near ; CODE XREF: sub_5ABB0+Fp
.text:002702B0 ; sub_5C090+68p ...
.text:002702B0
.text:002702B0 arg_0 = dword ptr 4
.text:002702B0
.text:002702B0 mov eax, ecx
.text:002702B2 mov ecx, [esp+arg_0]
.text:002702B6 mov edx, [ecx]
.text:002702B8 mov [eax], edx
.text:002702BA inc dword ptr [edx+4]
.text:002702BD retn 4
.text:002702BD sub_2702B0 endp
.text:002702BD
.text:002702C0
.text:002702C0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:002702C0
.text:002702C0
.text:002702C0 sub_2702C0 proc near ; CODE XREF: sub_F0C40+9p
.text:002702C0 ; sub_F0C40+34p ...
.text:002702C0 mov eax, [ecx]
.text:002702C2 mov eax, [eax+8]
.text:002702C5 retn
.text:002702C5 sub_2702C0 endp
.text:002702C5
.text:002702C5 ; ---------------------------------------------------------------------------
.text:002702C6 align 10h
.text:002702D0
.text:002702D0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:002702D0
.text:002702D0
.text:002702D0 sub_2702D0 proc near ; CODE XREF: sub_9A7A0+E8p
.text:002702D0 ; sub_9AA60+151p ...
.text:002702D0 mov eax, [ecx]
.text:002702D2 mov eax, [eax]
.text:002702D4 retn
.text:002702D4 sub_2702D0 endp
.text:002702D4
.text:002702D4 ; ---------------------------------------------------------------------------
.text:002702D5 align 10h
.text:002702E0
.text:002702E0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:002702E0
.text:002702E0
.text:002702E0 sub_2702E0 proc near ; CODE XREF: sub_2134A0+130p
.text:002702E0 ; sub_213EF0+38Ap ...
.text:002702E0
.text:002702E0 arg_0 = dword ptr 8
.text:002702E0 arg_4 = dword ptr 0Ch
.text:002702E0
.text:002702E0 push esi
.text:002702E1 mov esi, [esp+arg_4]
.text:002702E5 test esi, esi
.text:002702E7 jl short loc_270323
.text:002702E9 mov edx, [ecx]
.text:002702EB cmp esi, [edx+8]
.text:002702EE jg short loc_270323
.text:002702F0 push ebx
.text:002702F1 push edi
.text:002702F2 mov edi, [esp+8+arg_0]
.text:002702F6 mov eax, edi
.text:002702F8 lea ebx, [eax+1]
.text:002702FB jmp short loc_270300
.text:002702FB ; ---------------------------------------------------------------------------
.text:002702FD align 10h
.text:00270300
.text:00270300 loc_270300: ; CODE XREF: sub_2702E0+1Bj
.text:00270300 ; sub_2702E0+25j
.text:00270300 mov cl, [eax]
.text:00270302 inc eax
.text:00270303 test cl, cl
.text:00270305 jnz short loc_270300
.text:00270307 mov ecx, [edx]
.text:00270309 sub eax, ebx
.text:0027030B push eax ; size_t
.text:0027030C add ecx, esi
.text:0027030E push ecx ; char *
.text:0027030F push edi ; char *
.text:00270310 call __strnicmp
.text:00270315 add esp, 0Ch
.text:00270318 neg eax
.text:0027031A pop edi
.text:0027031B sbb eax, eax
.text:0027031D pop ebx
.text:0027031E inc eax
.text:0027031F pop esi
.text:00270320 retn 8
.text:00270323 ; ---------------------------------------------------------------------------
.text:00270323
.text:00270323 loc_270323: ; CODE XREF: sub_2702E0+7j
.text:00270323 ; sub_2702E0+Ej
.text:00270323 xor al, al
.text:00270325 pop esi
.text:00270326 retn 8
.text:00270326 sub_2702E0 endp
.text:00270326
.text:00270326 ; ---------------------------------------------------------------------------
.text:00270329 align 10h
.text:00270330
.text:00270330 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00270330
.text:00270330
.text:00270330 sub_270330 proc near ; CODE XREF: sub_88F20+CFp
.text:00270330
.text:00270330 var_10 = dword ptr -10h
.text:00270330 arg_0 = dword ptr 4
.text:00270330 arg_4 = dword ptr 8
.text:00270330
.text:00270330 mov ecx, [esp+arg_4]
.text:00270334 cmp byte ptr [ecx], 0
.text:00270337 mov eax, [esp+arg_0]
.text:0027033B push ebp
.text:0027033C mov ebp, eax
.text:0027033E jz short loc_2703A0
.text:00270340 cmp byte ptr [eax], 0
.text:00270343 push ebx
.text:00270344 push esi
.text:00270345 push edi
.text:00270346 jz short loc_27039B
.text:00270348 sub eax, ecx
.text:0027034A mov edi, eax
.text:0027034C lea esp, [esp+0]
.text:00270350
.text:00270350 loc_270350: ; CODE XREF: sub_270330+69j
.text:00270350 cmp byte ptr [ebp+0], 0
.text:00270354 mov esi, ecx
.text:00270356 jz short loc_27038D
.text:00270358
.text:00270358 loc_270358: ; CODE XREF: sub_270330+57j
.text:00270358 mov bl, [esi]
.text:0027035A test bl, bl
.text:0027035C jz short loc_2703A2
.text:0027035E movsx eax, byte ptr [edi+esi]
.text:00270362 push eax ; int
.text:00270363 call _tolower
.text:00270368 movsx ecx, bl
.text:0027036B push ecx ; int
.text:0027036C mov [esp+18h+arg_0], eax
.text:00270370 call _tolower
.text:00270375 mov ecx, [esp+18h+arg_0]
.text:00270379 add esp, 8
.text:0027037C sub ecx, eax
.text:0027037E jnz short loc_270389
.text:00270380 mov al, [edi+esi+1]
.text:00270384 inc esi
.text:00270385 test al, al
.text:00270387 jnz short loc_270358
.text:00270389
.text:00270389 loc_270389: ; CODE XREF: sub_270330+4Ej
.text:00270389 mov ecx, [esp+10h+arg_4]
.text:0027038D
.text:0027038D loc_27038D: ; CODE XREF: sub_270330+26j
.text:0027038D cmp byte ptr [esi], 0
.text:00270390 jz short loc_2703A2
.text:00270392 mov al, [ebp+1]
.text:00270395 inc ebp
.text:00270396 inc edi
.text:00270397 test al, al
.text:00270399 jnz short loc_270350
.text:0027039B
.text:0027039B loc_27039B: ; CODE XREF: sub_270330+16j
.text:0027039B pop edi
.text:0027039C pop esi
.text:0027039D xor eax, eax
.text:0027039F pop ebx
.text:002703A0
.text:002703A0 loc_2703A0: ; CODE XREF: sub_270330+Ej
.text:002703A0 pop ebp
.text:002703A1 retn
.text:002703A2 ; ---------------------------------------------------------------------------
.text:002703A2
.text:002703A2 loc_2703A2: ; CODE XREF: sub_270330+2Cj
.text:002703A2 ; sub_270330+60j
.text:002703A2 pop edi
.text:002703A3 pop esi
.text:002703A4 pop ebx
.text:002703A5 mov eax, ebp
.text:002703A7 pop ebp
.text:002703A8 retn
.text:002703A8 sub_270330 endp
.text:002703A8
.text:002703A8 ; ---------------------------------------------------------------------------
.text:002703A9 align 10h
.text:002703B0
.text:002703B0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:002703B0
.text:002703B0
.text:002703B0 sub_2703B0 proc near ; CODE XREF: sub_2706B0+56p
.text:002703B0 push ebx
.text:002703B1 push esi
.text:002703B2 mov ebx, ecx
.text:002703B4 push ebx
.text:002703B5 call ds:dword_485D84
.text:002703BB push 10h
.text:002703BD call sub_594D0
.text:002703C2 xor esi, esi
.text:002703C4 add esp, 4
.text:002703C7