Function at 0x4333c0
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x52ff58
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
mov eax, dword [esp + 0x34]
push ebx
push ebp
push esi
push edi
mov ebp, ecx
push eax
mov dword [esp + 0x14], ebp
call fcn.004316f0
xor edx, edx
lea ebx, [ebp + 0x260]
mov dword [ebp + 0x258], edx
lea edi, [ebp + 0x388]
mov dword [ebx], edx
mov dword [ebp + 0x264], edx
mov ecx, 9
xor eax, eax
mov dword [ebp + 0x374], edx
mov dword [ebp + 0x378], edx
mov dword [ebp + 0x37c], edx
mov esi, dword [sym.imp.MSVCRT.dll_fread]
rep stosd dword es:[edi], eax
mov dword [ebp + 0x3ac], edx
mov dword [ebp + 0x3b0], edx
mov dword [ebp + 0x3b4], edx
mov dword [ebp], 0x534638
mov ecx, dword [0x659a18]
lea eax, [ebp + 0x244]
push ecx
push 1
push 0x1c
push eax
mov dword [esp + 0x4c], edx
call esi
mov eax, dword [ebp + 0x258]
lea edi, [ebp + 0x264]
mov dword [ebx], eax
add esp, 0x10
mov dword [edi], eax
mov eax, dword [0x659958]
cmp eax, 0x13
jl 0x433538
mov edx, dword [0x659a18]
lea eax, [ebp + 0x224]
push edx
push 1
push 4
push eax
call esi
mov eax, dword [0x659a18]
lea ecx, [esp + 0x24]
push eax
push 1
push 0x10
push ecx
call esi
add esp, 0x20
mov ecx, ebp
call fcn.00432700
mov ecx, dword [0x659a80]
test eax, eax
jne 0x4334bc
test dword [ebp + 0x224], ecx
je 0x4334f4
mov eax, dword [ebp + 0x224]
test ecx, eax
je 0x4334ce
test dword [0x659a7c], eax
je 0x4334f4
push 0x24
call fcn.00470250
add esp, 4
test eax, eax
je 0x4334ec
lea edx, [esp + 0x14]
push 1
push edx
mov ecx, eax
call fcn.00489020
jmp 0x4334ee
xor eax, eax
mov dword [ebp + 0x104], eax
cmp dword [0x659958], 0x18
jl 0x43351b
mov eax, dword [0x659a18]
push eax
push 1
push 4
push ebx
call esi
mov ecx, dword [0x659a18]
push ecx
push 1
push 4
push edi
call esi
add esp, 0x20
mov eax, dword [ebp + 0x224]
mov edx, eax
shr edx, 0x18
and edx, 0xf
shr eax, 0x1c
mov dword [ebp + 0x374], edx
mov dword [ebp + 0x378], eax
mov eax, dword [0x659a18]
mov edi, dword [sym.imp.MSVCRT.dll_ftell]
push eax
call edi
add esp, 4
mov ecx, ebp
push eax
call fcn.0043aef0
mov ecx, dword [0x659a18]
push ecx
call edi
add esp, 4
mov ecx, ebp
push eax
call fcn.0043b340
cmp dword [0x659958], 0x1a
jl 0x4336d9
mov eax, dword [0x659a18]
lea edx, [ebp + 0x22c]
push 0x10
push edx
push eax
call edi
add esp, 4
push eax
call fcn.00472400
mov ecx, dword [0x659a18]
push ecx
call edi
add esp, 0x10
mov ecx, ebp
push eax
call fcn.00432800
mov edx, dword [0x659a18]
lea eax, [ebp + 0x23c]
push edx
push 1
push 4
push eax
call esi
mov ecx, dword [0x659a90]
mov eax, dword [ebp + 0x224]
add esp, 0x10
test ecx, eax
je 0x4336d9
mov edx, dword [0x659a18]
lea eax, [ebp + 0x388]
push 0x24
push eax
push edx
call edi
add esp, 4
push eax
call fcn.00472400
mov eax, dword [0x659a18]
lea ecx, [esp + 0x50]
push eax
push 1
xor edi, edi
push 4
push ecx
mov dword [esp + 0x60], edi
call esi
mov edx, dword [0x659a18]
lea eax, [esp + 0x40]
push edx
push 1
push 0x10
push eax
call esi
mov eax, dword [ebp + 0x224]
mov ecx, dword [0x659a88]
add esp, 0x2c
test eax, ecx
je 0x433658
test dword [0x659a80], eax
je 0x433632
test dword [0x659a7c], eax
jne 0x433658
push 0x24
call fcn.00470250
add esp, 4
cmp eax, edi
je 0x433650
lea ecx, [esp + 0x24]
push 1
push ecx
mov ecx, eax
call fcn.00489020
jmp 0x433652
xor eax, eax
mov dword [ebp + 0x3ac], eax
mov edx, dword [0x659a18]
lea eax, [esp + 0x14]
push edx
push 1
push 8
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [0x659a84]
mov eax, dword [ebp + 0x224]
add esp, 0x10
test ecx, eax
je 0x4336d9
cmp dword [esp + 0x14], edi
je 0x4336af
push 8
call sub.MFC42u.DLL_operatornew
add esp, 4
cmp eax, edi
je 0x4336a7
mov edx, dword [esp + 0x14]
mov ecx, eax
push edx
call fcn.00419550
jmp 0x4336a9
xor eax, eax
mov dword [ebp + 0x3b0], eax
cmp dword [esp + 0x18], edi
je 0x4336d9
push 8
call sub.MFC42u.DLL_operatornew
add esp, 4
cmp eax, edi
je 0x4336d1
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, eax
call fcn.00419550
jmp 0x4336d3
xor eax, eax
mov dword [ebp + 0x3b4], eax
lea ebx, [ebp + 0x270]
mov ecx, 0x20
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov edx, dword [ebp + 0x258]
lea ecx, [ebp + 0x258]
and edx, 0xff000000
mov dword [esp + 0x44], edx
mov al, byte [esp + 0x47]
test al, al
jne 0x433741
test byte [ebp + 0x388], 3
jne 0x433741
push 3
lea eax, [esp + 0x48]
push 0x30
push eax
call fcn.004b90b0
movsx edx, word [ebp + 0x204]
xor ecx, ecx
mov cx, word [eax]
movsx eax, word [ebp + 0x208]
sub eax, edx
xor edx, edx
inc eax
div ecx
mov dword [ebp + 0x370], eax
jmp 0x433762
mov al, byte [ebp + 0x247]
xor ecx, ecx
movsx edx, byte [ebp + 0x246]
test al, al
setne cl
movsx eax, al
add ecx, edx
add ecx, eax
mov dword [ebp + 0x370], ecx
movsx eax, byte [ebp + 0x25f]
sub eax, 0
je 0x4337b9
dec eax
je 0x433791
dec eax
jne 0x4337d4
mov ecx, dword [ebp + 0x370]
mov eax, 0x30303030
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x4337d4
mov ecx, dword [ebp + 0x370]
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp + 0x370]
mov byte [eax + ebp + 0x26f], 0x30
jmp 0x4337d4
mov ecx, dword [ebp + 0x370]
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov byte [ebx], 0x30
cmp byte [ebp + 0x244], 4
je 0x4337e8
mov ecx, ebp
call fcn.004326d0
test eax, eax
je 0x433803
mov ecx, dword [ebp + 0x370]
mov eax, 0x2a2a2a2a
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp + 0x268]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov ecx, ebp
call fcn.0043a330
mov ecx, eax
call fcn.004b53f0
push eax
mov ecx, ebp
call fcn.0043a330
mov ecx, eax
call fcn.004b5570
mov ecx, ebp
call fcn.00432880
mov ecx, eax
call fcn.004b53f0
push eax
mov ecx, ebp
call fcn.00432880
mov ecx, eax
call fcn.004b5570
lea eax, [ebp + 0x380]
xor edx, edx
push 1
push 0x2418
mov dword [eax], edx
mov dword [eax + 4], edx
call fcn.00487160
mov ecx, eax
call fcn.00483920
test eax, eax
je 0x43389e
mov ecx, ebp
call fcn.0043a330
mov ecx, ebp
mov edi, eax
call fcn.00432880
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x43389e
mov eax, dword [0x659a34]
mov ecx, dword [ebp + 0x37c]
or ecx, eax
mov dword [ebp + 0x37c], ecx
cmp byte [ebp + 0x25f], 3
jne 0x4338bb
mov ecx, dword [0x659a38]
mov eax, dword [ebp + 0x37c]
or eax, ecx
mov dword [ebp + 0x37c], eax
lea edi, [ebp + 0x2f0]
mov ecx, 0x20
mov esi, ebx
mov eax, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret 4