Function at 0x434230
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x545d53
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
mov eax, dword [esp + 0x58]
push ebx
push ebp
push esi
push edi
mov ebp, ecx
push eax
mov dword [esp + 0x24], ebp
call fcn.00431d30
lea edx, [ebp + 0x254]
xor ebx, ebx
lea edi, [ebp + 0x398]
mov ecx, 9
mov dword [edx + 0x14], ebx
mov dword [ebp + 0x270], ebx
mov dword [ebp + 0x274], ebx
xor eax, eax
mov dword [ebp + 0x384], ebx
mov dword [ebp + 0x388], ebx
mov dword [ebp + 0x38c], ebx
mov esi, dword [sym.imp.MSVCRT.dll_fread]
rep stosd dword es:[edi], eax
mov dword [ebp + 0x3bc], ebx
mov dword [ebp + 0x3c0], ebx
mov dword [ebp + 0x3c4], ebx
mov dword [ebp + 0x3f0], ebx
mov word [ebp + 0x3f4], bx
mov dword [ebp + 0x3f8], ebx
mov dword [ebp + 0x3fc], ebx
mov dword [ebp + 0x400], ebx
mov dword [ebp], 0x54b858
mov ecx, dword [0x67a8cc]
push ecx
push 1
push 0x1c
push edx
mov dword [esp + 0x70], ebx
call esi
mov dl, byte [ebp + 0x257]
mov eax, dword [ebp + 0x268]
lea edi, [ebp + 0x270]
mov byte [ebp + 0x404], dl
mov dword [ebp + 0x274], eax
add esp, 0x10
mov dword [edi], eax
mov eax, dword [0x67a7f0]
cmp eax, 0x13
jl 0x4343d9
mov ecx, dword [0x67a8cc]
lea eax, [ebp + 0x224]
push ecx
push 1
push 4
push eax
call esi
mov edx, dword [0x67a8cc]
lea eax, [esp + 0x38]
push edx
push 1
push 0x10
push eax
call esi
add esp, 0x20
mov ecx, ebp
call fcn.00433350
mov ecx, dword [0x67a930]
test eax, eax
jne 0x434357
test dword [ebp + 0x224], ecx
je 0x43438f
mov eax, dword [ebp + 0x224]
test ecx, eax
je 0x434369
test dword [0x67a92c], eax
je 0x43438f
push 0x24
call fcn.004784b0
add esp, 4
cmp eax, ebx
je 0x434387
lea ecx, [esp + 0x28]
push 1
push ecx
mov ecx, eax
call fcn.00495db0
jmp 0x434389
xor eax, eax
mov dword [ebp + 0x104], eax
cmp dword [0x67a7f0], 0x18
jl 0x4343bc
mov edx, dword [0x67a8cc]
push edx
push 1
push 4
push edi
call esi
mov eax, dword [0x67a8cc]
push eax
push 1
lea eax, [ebp + 0x274]
push 4
push eax
call esi
add esp, 0x20
mov eax, dword [ebp + 0x224]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xf
shr eax, 0x1c
mov dword [ebp + 0x384], ecx
mov dword [ebp + 0x388], eax
mov edx, dword [0x67a8cc]
mov edi, dword [sym.imp.MSVCRT.dll_ftell]
push edx
call edi
add esp, 4
mov ecx, ebp
push eax
call fcn.0043e9b0
mov eax, dword [0x67a8cc]
push eax
call edi
add esp, 4
mov ecx, ebp
push eax
call fcn.0043ee20
lea edi, [ebp + 0x3c8]
mov ecx, 0xa
xor eax, eax
rep stosd dword es:[edi], eax
cmp dword [0x67a7f0], 0x1a
jl 0x434796
mov edx, dword [0x67a8cc]
mov edi, dword [sym.imp.MSVCRT.dll_ftell]
lea ecx, [ebp + 0x22c]
push 0x10
push ecx
push edx
call edi
add esp, 4
push eax
call fcn.0047a710
mov eax, dword [0x67a8cc]
push eax
call edi
add esp, 0x10
mov ecx, ebp
push eax
call fcn.00433520
mov ecx, dword [0x67a8cc]
lea edx, [ebp + 0x23c]
push ecx
push 1
push 4
push edx
call esi
mov eax, dword [0x67a940]
mov ecx, dword [ebp + 0x224]
add esp, 0x10
test eax, ecx
je 0x434796
mov ecx, dword [0x67a8cc]
lea eax, [ebp + 0x398]
push 0x24
push eax
push ecx
call edi
add esp, 4
push eax
call fcn.0047a710
add esp, 0xc
mov ecx, ebp
call fcn.00433470
test eax, eax
je 0x4344c6
mov edx, dword [0x67a8cc]
lea eax, [ebp + 0x3c8]
push 0x28
push eax
push edx
call edi
add esp, 4
push eax
call fcn.0047a710
jmp 0x4344d6
mov eax, dword [0x67a8cc]
push 1
push 4
push eax
call dword [sym.imp.MSVCRT.dll_fseek]
mov ecx, dword [0x67a8cc]
add esp, 0xc
lea edx, [esp + 0x38]
push ecx
push 1
push 0x10
push edx
call esi
mov eax, dword [ebp + 0x224]
mov ecx, dword [0x67a938]
add esp, 0x10
test eax, ecx
je 0x434534
test dword [0x67a930], eax
je 0x43450e
test dword [0x67a92c], eax
jne 0x434534
push 0x24
call fcn.004784b0
add esp, 4
cmp eax, ebx
je 0x43452c
lea ecx, [esp + 0x38]
push 1
push ecx
mov ecx, eax
call fcn.00495db0
jmp 0x43452e
xor eax, eax
mov dword [ebp + 0x3bc], eax
mov edx, dword [0x67a8cc]
lea eax, [esp + 0x28]
push edx
push 1
push 8
push eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call esi
mov ecx, dword [0x67a8cc]
lea edx, [esp + 0x2c]
push ecx
push 1
push 4
push edx
mov dword [esp + 0x3c], ebx
call esi
mov eax, dword [0x67a8cc]
lea ecx, [esp + 0x38]
push eax
push 1
push 4
push ecx
mov dword [esp + 0x48], ebx
call esi
mov edx, dword [0x67a8cc]
lea eax, [esp + 0x44]
push edx
push 1
push 4
push eax
mov dword [esp + 0x54], ebx
call esi
mov ecx, dword [0x67a914]
mov eax, dword [ebp + 0x224]
add esp, 0x40
test ecx, eax
je 0x4346ce
mov edx, dword [0x67a8cc]
lea edi, [ebp + 0x3f0]
push edx
push 1
push 4
push edi
call esi
mov eax, dword [0x67a8cc]
push eax
push 1
lea eax, [ebp + 0x3f4]
push 2
push eax
call esi
mov ecx, dword [0x67a8cc]
lea edx, [ebp + 0x3f6]
push ecx
push 1
push 2
push edx
call esi
mov eax, dword [0x67a8cc]
lea ecx, [esp + 0x98]
push eax
push 1
push 4
push ecx
mov dword [esp + 0xa8], ebx
call esi
mov edx, dword [0x67a8cc]
add esp, 0x40
lea eax, [esp + 0x48]
push edx
push 1
push 0x10
push eax
call esi
mov ecx, dword [0x67a8cc]
lea edx, [esp + 0x20]
push ecx
push 1
push 4
push edx
mov dword [esp + 0x30], ebx
call esi
mov eax, dword [0x67a8e8]
mov ecx, dword [edi]
add esp, 0x20
test ecx, eax
je 0x43465b
push 0x24
call fcn.004784b0
add esp, 4
cmp eax, ebx
je 0x434653
lea ecx, [esp + 0x48]
push 1
push ecx
mov ecx, eax
call fcn.00495db0
jmp 0x434655
xor eax, eax
mov dword [ebp + 0x3fc], eax
cmp dword [esp + 0x68], ebx
je 0x434692
push 0x10
call sub.MFC42u.DLL_operatornew
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, ebx
mov byte [esp + 0x60], 1
je 0x434686
mov edx, dword [esp + 0x68]
mov ecx, eax
push edx
call fcn.00485e80
jmp 0x434688
xor eax, eax
mov byte [esp + 0x60], bl
mov dword [ebp + 0x3f8], eax
mov eax, dword [0x67a8ec]
mov ecx, dword [edi]
test ecx, eax
je 0x4346ce
cmp dword [esp + 0x10], ebx
je 0x4346ce
push 0x10
call fcn.004784b0
add esp, 4
cmp eax, ebx
je 0x4346ba
mov ecx, eax
call fcn.00482f70
jmp 0x4346bc
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [ebp + 0x400], eax
push ecx
mov ecx, eax
call fcn.00482fb0
mov cl, byte [ebp + 0x224]
mov al, 0x80
test al, cl
jne 0x4346e2
test byte [ebp + 0x228], al
je 0x4346ee
mov edx, dword [esp + 0x14]
mov ecx, ebp
push edx
call fcn.0041c180
mov eax, dword [ebp + 0x224]
mov ecx, dword [0x67a924]
test ecx, eax
jne 0x434706
test dword [ebp + 0x228], ecx
je 0x434710
mov ecx, dword [esp + 0x18]
mov dword [ebp + 0x250], ecx
mov ecx, dword [0x67a928]
test ecx, eax
jne 0x434722
test dword [ebp + 0x228], ecx
je 0x434732
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x434732
push eax
mov ecx, ebp
call fcn.0043e4a0
mov edx, dword [0x67a934]
mov eax, dword [ebp + 0x224]
test edx, eax
je 0x434796
cmp dword [esp + 0x28], ebx
je 0x43476c
push 8
call sub.MFC42u.DLL_operatornew
add esp, 4
cmp eax, ebx
je 0x434764
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, eax
call fcn.00418d80
jmp 0x434766
xor eax, eax
mov dword [ebp + 0x3c0], eax
cmp dword [esp + 0x2c], ebx
je 0x434796
push 8
call sub.MFC42u.DLL_operatornew
add esp, 4
cmp eax, ebx
je 0x43478e
mov edx, dword [esp + 0x2c]
mov ecx, eax
push edx
call fcn.00418d80
jmp 0x434790
xor eax, eax
mov dword [ebp + 0x3c4], eax
lea esi, [ebp + 0x280]
mov ecx, 0x20
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x268]
lea ecx, [ebp + 0x268]
and eax, 0xff000000
mov dword [esp + 0x68], eax
mov al, byte [esp + 0x6b]
cmp al, bl
jne 0x4347fd
test byte [ebp + 0x398], 3
jne 0x4347fd
push 3
lea edx, [esp + 0x6c]
push 0x30
push edx
call fcn.004cdf00
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 + 0x380], eax
jmp 0x43481e
mov al, byte [ebp + 0x257]
xor ecx, ecx
movsx edx, byte [ebp + 0x256]
cmp al, bl
setne cl
movsx eax, al
add ecx, edx
add ecx, eax
mov dword [ebp + 0x380], ecx
movsx eax, byte [ebp + 0x26f]
sub eax, ebx
je 0x434874
dec eax
je 0x43484c
dec eax
jne 0x43488f
mov ecx, dword [ebp + 0x380]
mov eax, 0x30303030
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x43488f
mov ecx, dword [ebp + 0x380]
xor eax, eax
mov edx, ecx
mov edi, esi
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 + 0x380]
mov byte [eax + ebp + 0x27f], 0x30
jmp 0x43488f
mov ecx, dword [ebp + 0x380]
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov byte [esi], 0x30
cmp byte [ebp + 0x254], 4
je 0x4348a3
mov ecx, ebp
call fcn.00433320
test eax, eax
je 0x4348f1
mov ebx, dword [ebp + 0x3cc]
mov byte [esp + 0x68], 0x2a
and ebx, 0xff
push ebx
call dword [sym.imp.MSVCRT.dll_isprint]
add esp, 4
test eax, eax
je 0x4348c6
mov byte [esp + 0x68], bl
mov eax, dword [esp + 0x68]
mov ecx, dword [ebp + 0x380]
and eax, 0xff
mov edx, ecx
mov bl, al
mov edi, esi
mov bh, bl
mov eax, ebx
shl eax, 0x10
mov ax, bx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp + 0x278]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov ecx, ebp
call fcn.0043d3d0
mov ecx, eax
call fcn.004c9d30
push eax
mov ecx, ebp
call fcn.0043d3d0
mov ecx, eax
call fcn.004c9eb0
mov ecx, ebp
call fcn.004335a0
mov ecx, eax
call fcn.004c9d30
push eax
mov ecx, ebp
call fcn.004335a0
mov ecx, eax
call fcn.004c9eb0
lea eax, [ebp + 0x390]
xor edx, edx
push 1
push 0x2418
mov dword [eax], edx
mov dword [eax + 4], edx
call fcn.00493e00
mov ecx, eax
call fcn.00490450
test eax, eax
je 0x43498c
mov ecx, ebp
call fcn.0043d3d0
mov ecx, ebp
mov edi, eax
call fcn.004335a0
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x43498c
mov eax, dword [0x67a8e4]
mov ecx, dword [ebp + 0x38c]
or ecx, eax
mov dword [ebp + 0x38c], ecx
cmp byte [ebp + 0x26f], 3
jne 0x4349a9
mov ecx, dword [0x67a8e8]
mov eax, dword [ebp + 0x38c]
or eax, ecx
mov dword [ebp + 0x38c], eax
lea edi, [ebp + 0x300]
mov ecx, 0x20
lea esi, [ebp + 0x280]
mov eax, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x58]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x54
ret 4