Function at 0x4071ac
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
push edi
push esi
push ebx
add esp, 0xfffffff4
push 0x1004
call sub.msvcrt.dll_malloc
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x407835
mov dword [ebp - 0x50], 0
lea eax, [ebx + 0x1000]
mov dword [ebp - 0x64], eax
mov byte [ebx + 0x1001], 0
mov byte [ebx + 0x1002], 0
mov byte [ebx + 0x1003], 0
add esp, 0xfffffffc
push 2
push 0xfffff000
mov edx, dword [ebp + 8]
push edx
call sub.msvcrt.dll_fseek
add esp, 0x10
test eax, eax
jne 0x407314
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
push ecx
call sub.msvcrt.dll_ftell
add eax, 0x1000
mov dword [0x42dc50], eax
add esp, 0x10
cmp eax, 0xfff
jbe 0x40731e
mov esi, esi
add dword [0x42dc50], 0xfffff000
mov esi, dword [ebp - 0x64]
mov al, byte [esi + 1]
mov byte [ebx + 0x1000], al
mov al, byte [esi + 2]
mov byte [ebx + 0x1001], al
mov al, byte [esi + 3]
mov byte [ebx + 0x1002], al
mov eax, dword [ebp + 8]
push eax
push 0x1000
push 1
push ebx
call sub.msvcrt.dll_fread
add esp, 0xfffffffc
push 1
push 0xffffe000
mov edx, dword [ebp + 8]
push edx
call sub.msvcrt.dll_fseek
lea ecx, [ebx + 0xfff]
mov dword [ebp - 0x64], ecx
add esp, 0x20
jmp 0x407297
dec dword [ebp - 0x64]
cmp dword [ebp - 0x64], ebx
jb 0x4072f7
mov esi, dword [ebp - 0x64]
movzx cx, byte [esi]
movzx ax, byte [esi + 1]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [esi + 2]
movzx ax, byte [esi + 3]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
cmp ecx, 0x6054b50
jne 0x407294
mov dword [ebp - 0x50], 1
mov eax, esi
sub eax, ebx
add eax, dword [0x42dc50]
mov dword [0x42dc50], eax
add esp, 0xfffffffc
push 0
add eax, 4
push eax
mov eax, dword [ebp + 8]
push eax
call sub.msvcrt.dll_fseek
add esp, 0x10
cmp dword [ebp - 0x50], 0
jne 0x4073ee
cmp dword [0x42dc50], 0xfff
ja 0x407238
jmp 0x40731e
mov dword [0x42dc50], 0x1000
cmp dword [ebp - 0x50], 0
jne 0x4073ee
cmp dword [0x42dc50], 0
je 0x4073ee
add esp, 0xfffffffc
push 0
push 0
mov edx, dword [ebp + 8]
push edx
call sub.msvcrt.dll_fseek
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
push ecx
call sub.msvcrt.dll_clearerr
add esp, 0x20
mov esi, dword [ebp + 8]
push esi
push dword [0x42dc50]
push 1
push ebx
call sub.msvcrt.dll_fread
mov edx, eax
mov ecx, dword [ebp - 0x64]
mov al, byte [ecx + 1]
mov byte [edx + ebx], al
mov al, byte [ecx + 2]
mov byte [ebx + edx + 1], al
mov al, byte [ecx + 3]
mov byte [ebx + edx + 2], al
add esp, 0x10
lea esi, [ebx + edx - 1]
mov dword [ebp - 0x64], esi
lea edi, [edx + 3]
jmp 0x407394
dec edi
dec dword [ebp - 0x64]
cmp dword [ebp - 0x64], ebx
jb 0x4073ee
mov eax, dword [ebp - 0x64]
movzx cx, byte [eax]
mov edx, eax
movzx ax, byte [edx + 1]
shl eax, 8
or ecx, eax
movzx ecx, cx
mov esi, edx
movzx dx, byte [esi + 2]
movzx ax, byte [esi + 3]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
cmp ecx, 0x6054b50
jne 0x407390
mov dword [ebp - 0x50], 1
sub esi, ebx
mov dword [0x42dc50], esi
add esp, 0xfffffffc
push 0
push edi
mov eax, dword [ebp + 8]
push eax
call sub.msvcrt.dll_fseek
add esp, 0x10
add esp, 0xfffffff4
push ebx
call sub.msvcrt.dll_free
add esp, 0x10
cmp dword [ebp - 0x50], 0
jne 0x407424
add esp, 0xfffffff8
push 0x406314
push 0x406f8c
call fcn.00402624
add esp, 0xfffffff8
push 0x406314
push 0x406fcc
jmp 0x407d93
mov edx, dword [ebp + 8]
push edx
push 1
push 0x12
lea ebx, [ebp - 0x30]
push ebx
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
je 0x40744c
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
push ecx
jmp 0x407b79
movzx dx, byte [ebp - 0x30]
movzx ax, byte [ebp - 0x2f]
shl eax, 8
or edx, eax
test dx, dx
jne 0x407497
movzx dx, byte [ebp - 0x2e]
movzx ax, byte [ebp - 0x2d]
shl eax, 8
or edx, eax
test dx, dx
jne 0x407497
movzx cx, byte [ebp - 0x2c]
movzx ax, byte [ebp - 0x2b]
shl eax, 8
or ecx, eax
movzx dx, byte [ebp - 0x2a]
movzx ax, byte [ebp - 0x29]
shl eax, 8
or edx, eax
cmp cx, dx
je 0x4074ac
add esp, 0xfffffff8
push 0x406314
push 0x40700c
call fcn.00402624
add esp, 0x10
movzx dx, byte [ebp - 0x20]
movzx ax, byte [ebp - 0x1f]
shl eax, 8
or edx, eax
movzx eax, dx
mov dword [0x42dc20], eax
test eax, eax
je 0x407520
add esp, 0xfffffff4
push eax
call sub.msvcrt.dll_malloc
mov dword [0x411210], eax
add esp, 0x10
test eax, eax
je 0x407835
mov esi, dword [ebp + 8]
push esi
push 1
push dword [0x42dc20]
push eax
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
je 0x407520
add esp, 0xfffffff4
push dword [0x411210]
call sub.msvcrt.dll_free
mov dword [0x411210], 0
add esp, 0x10
add esp, 0xfffffff4
push esi
jmp 0x407b79
movzx cx, byte [ebp - 0x28]
movzx ax, byte [ebp - 0x27]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [ebp - 0x26]
movzx ax, byte [ebp - 0x25]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
mov esi, dword [0x42dc50]
sub esi, ecx
mov dword [0x42d780], esi
cmp dword [0x4111d4], 0
je 0x40758c
movzx cx, byte [ebp - 0x24]
movzx ax, byte [ebp - 0x23]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [ebp - 0x22]
movzx ax, byte [ebp - 0x21]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
sub esi, ecx
mov dword [ebp - 0x54], esi
jmp 0x407593
mov dword [ebp - 0x54], 0
add esp, 0xfffffffc
push 0
push dword [0x42d780]
mov eax, dword [ebp + 8]
push eax
call sub.msvcrt.dll_fseek
add esp, 0x10
test eax, eax
je 0x4075c8
add esp, 0xfffffff4
push 0x40702e
call sub.msvcrt.dll_perror
mov eax, 3
jmp 0x407e02
mov dword [ebp - 0x4c], 0x41120c
mov edx, dword [ebp + 8]
push edx
push 1
push 4
lea ecx, [ebp - 0x30]
push ecx
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
je 0x4078ec
add esp, 0xfffffff4
mov esi, dword [ebp + 8]
push esi
jmp 0x407b79
add esp, 0xfffffffc
mov eax, dword [0x42dc40]
inc eax
push eax
push 0x4065d9
push 0x42d790
call sub.msvcrt.dll_sprintf
add esp, 0xfffffff8
push 0x42d790
push 0x4065dd
call fcn.00402624
add esp, 0x20
add esp, 0xfffffff4
push ebx
call sub.msvcrt.dll_free
jmp 0x4075bb
add esp, 0xfffffff8
push dword [ebx + 0x48]
push 0x40704c
jmp 0x407d93
add esp, 0xfffffff4
mov eax, dword [ebp - 0x64]
push eax
call sub.msvcrt.dll_free
add esp, 0xfffffff8
push dword [ebx + 0x48]
push 0x40708c
jmp 0x407d93
add esp, 0xfffffff8
push dword [ebx + 0x48]
push 0x40662c
jmp 0x407d93
mov edx, dword [ebp + 8]
push edx
push 1
push 0x2a
lea ecx, [ebp - 0x30]
push ecx
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
je 0x407698
add esp, 0xfffffff4
mov esi, dword [ebp + 8]
push esi
jmp 0x407b79
add esp, 0xfffffff4
push 0x60
call sub.msvcrt.dll_malloc
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x407835
movzx dx, byte [ebp - 0x30]
movzx ax, byte [ebp - 0x2f]
shl eax, 8
or edx, eax
mov word [ebx], dx
lea esi, [ebx + 2]
xor edi, edi
lea eax, [ebx + 0x5c]
mov dword [ebp - 0x58], eax
lea edx, [ebp - 0x30]
nop
mov al, byte [edx + edi + 2]
mov byte [edi + esi], al
inc edi
cmp edi, 0x15
jbe 0x4076d0
movzx dx, byte [ebp - 0x18]
movzx ax, byte [ebp - 0x17]
shl eax, 8
or edx, eax
movzx edx, dx
mov dword [ebx + 0x18], edx
movzx dx, byte [ebp - 0x16]
movzx ax, byte [ebp - 0x15]
shl eax, 8
or edx, eax
movzx edx, dx
mov dword [ebx + 0x20], edx
movzx dx, byte [ebp - 0x14]
movzx ax, byte [ebp - 0x13]
shl eax, 8
or edx, eax
movzx edx, dx
mov dword [ebx + 0x24], edx
movzx dx, byte [ebp - 0x12]
movzx ax, byte [ebp - 0x11]
shl eax, 8
or edx, eax
mov word [ebx + 0x28], dx
movzx dx, byte [ebp - 0x10]
movzx ax, byte [ebp - 0xf]
shl eax, 8
or edx, eax
mov word [ebx + 0x2a], dx
movzx cx, byte [ebp - 0xe]
movzx ax, byte [ebp - 0xd]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [ebp - 0xc]
movzx ax, byte [ebp - 0xb]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
mov dword [ebx + 0x30], ecx
movzx cx, byte [ebp - 0xa]
movzx ax, byte [ebp - 9]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [ebp - 8]
movzx ax, byte [ebp - 7]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
add ecx, dword [ebp - 0x54]
mov dword [ebx + 0x34], ecx
test byte [ebx + 1], 0xff
sete al
mov edx, eax
and edx, 1
mov dword [ebx + 0x58], edx
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x4c], 0
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], ebx
mov dword [ebx + 0x5c], 0
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x4c], esi
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x4075f8
add esp, 0xfffffff4
inc eax
push eax
call sub.msvcrt.dll_malloc
mov dword [ebx + 0x48], eax
add esp, 0x10
test eax, eax
je 0x407835
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x40781b
add esp, 0xfffffff4
push eax
call sub.msvcrt.dll_malloc
mov dword [ebx + 0x40], eax
add esp, 0x10
test eax, eax
je 0x407835
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x407840
add esp, 0xfffffff4
push eax
call sub.msvcrt.dll_malloc
mov dword [ebx + 0x44], eax
add esp, 0x10
test eax, eax
jne 0x407840
mov eax, 4
jmp 0x407e02
mov eax, dword [ebp + 8]
push eax
push 1
push dword [ebx + 0x18]
push dword [ebx + 0x48]
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
jne 0x407895
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x407877
mov edx, dword [ebp + 8]
push edx
push 1
push eax
push dword [ebx + 0x40]
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
jne 0x407895
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x4078a4
mov ecx, dword [ebp + 8]
push ecx
push 1
push eax
push dword [ebx + 0x44]
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
je 0x4078a4
add esp, 0xfffffff4
mov esi, dword [ebp + 8]
push esi
jmp 0x407b79
mov edx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x18]
mov byte [eax + edx], 0
mov eax, dword [ebx + 0x34]
cmp eax, dword [0x42dc50]
jae 0x4078be
mov dword [0x42dc50], eax
inc dword [0x42dc40]
mov eax, dword [ebp + 8]
push eax
push 1
push 4
lea edx, [ebp - 0x30]
push edx
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
je 0x4078ec
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
push ecx
jmp 0x407b79
movzx cx, byte [ebp - 0x30]
movzx ax, byte [ebp - 0x2f]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [ebp - 0x2e]
movzx ax, byte [ebp - 0x2d]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
cmp ecx, 0x2014b50
je 0x407670
mov ebx, dword [0x41120c]
test ebx, ebx
je 0x407dc0
add esp, 0xfffffffc
push 0
push dword [ebx + 0x34]
mov esi, dword [ebp + 8]
push esi
call sub.msvcrt.dll_fseek
add esp, 0x10
test eax, eax
jne 0x40795a
push esi
push 1
push 4
lea eax, [ebp - 0x30]
push eax
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
je 0x407968
add esp, 0xfffffff4
mov edx, dword [ebp + 8]
push edx
jmp 0x407b79
movzx cx, byte [ebp - 0x30]
movzx ax, byte [ebp - 0x2f]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [ebp - 0x2e]
movzx ax, byte [ebp - 0x2d]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
cmp ecx, 0x4034b50
jne 0x407d88
mov ecx, dword [ebp + 8]
push ecx
push 1
push 0x1a
lea esi, [ebp - 0x30]
push esi
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
jne 0x407b72
movzx dx, byte [ebp - 0x2e]
movzx ax, byte [ebp - 0x2d]
shl eax, 8
or edx, eax
mov word [ebx + 0x2c], dx
movzx dx, byte [ebp - 0x1a]
movzx ax, byte [ebp - 0x19]
shl eax, 8
or edx, eax
movzx edi, dx
movzx dx, byte [ebp - 0x18]
movzx ax, byte [ebp - 0x17]
shl eax, 8
or edx, eax
movzx edx, dx
mov dword [ebx + 0x1c], edx
cmp edi, dword [ebx + 0x18]
jne 0x407634
add esp, 0xfffffff4
push edi
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x64], eax
add esp, 0x10
test eax, eax
je 0x407835
mov edx, dword [ebp + 8]
push edx
push 1
push dword [ebx + 0x18]
mov ecx, eax
push ecx
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
je 0x407a40
add esp, 0xfffffff4
mov esi, dword [ebp - 0x64]
push esi
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x407b72
mov eax, dword [ebp - 0x64]
mov edi, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x18]
mov esi, eax
cld
test al, 0
repe cmpsb byte [esi], byte es:[edi]
jne 0x407644
add esp, 0xfffffff4
push eax
call sub.msvcrt.dll_free
add esp, 0x10
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x407add
add esp, 0xfffffff4
push eax
call sub.msvcrt.dll_malloc
mov dword [ebx + 0x3c], eax
add esp, 0x10
test eax, eax
je 0x407835
mov eax, dword [ebp + 8]
push eax
push 1
push dword [ebx + 0x1c]
push dword [ebx + 0x3c]
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
je 0x407ab4
add esp, 0xfffffff4
push dword [ebx + 0x3c]
call sub.msvcrt.dll_free
add esp, 0x10
add esp, 0xfffffff4
mov edx, dword [ebp + 8]
push edx
jmp 0x407b79
mov ecx, dword [ebx + 0x1c]
cmp ecx, dword [ebx + 0x20]
jne 0x407add
mov eax, dword [ebx + 0x3c]
mov esi, eax
mov edi, dword [ebx + 0x40]
cld
test al, 0
repe cmpsb byte [esi], byte es:[edi]
jne 0x407add
add esp, 0xfffffff4
push eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x40]
mov dword [ebx + 0x3c], eax
add esp, 0x10
test byte [ebx + 0x2c], 8
je 0x407bde
movzx dx, byte [ebp - 0x22]
movzx ax, byte [ebp - 0x21]
shl eax, 8
or edx, eax
movzx ecx, dx
movzx dx, byte [ebp - 0x20]
movzx ax, byte [ebp - 0x1f]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
jne 0x407b35
movzx dx, byte [ebx + 0x10]
movzx ax, byte [ebx + 0x11]
shl eax, 8
or edx, eax
movzx ecx, dx
movzx dx, byte [ebx + 0x12]
movzx ax, byte [ebx + 0x13]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
add esp, 0xfffffffc
push 0
mov eax, dword [ebx + 0x18]
add eax, 0x1e
add eax, dword [ebx + 0x34]
add eax, dword [ebx + 0x1c]
add eax, ecx
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.msvcrt.dll_fseek
add esp, 0x10
test eax, eax
jne 0x407b72
mov esi, dword [ebp + 8]
push esi
push 1
push 0x10
lea esi, [ebp - 0x40]
push esi
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 1
je 0x407b94
add esp, 0xfffffff4
mov eax, dword [ebp + 8]
push eax
call sub.msvcrt.dll_ferror
mov edx, 2
test eax, eax
je 0x407b8c
mov edx, 0xb
mov eax, edx
jmp 0x407e02
movzx cx, byte [ebp - 0x40]
movzx ax, byte [ebp - 0x3f]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [ebp - 0x3e]
movzx ax, byte [ebp - 0x3d]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
cmp ecx, 0x8074b50
jne 0x407660
xor edi, edi
lea edx, [ebp - 0x30]
mov ecx, esi
lea esi, [esi]
mov al, byte [ecx + edi + 4]
mov byte [edx + edi + 0xa], al
inc edi
cmp edi, 0xb
jbe 0x407bd0
lea esi, [ebx + 2]
movzx dx, byte [esi + 2]
movzx ax, byte [esi + 3]
shl eax, 8
or edx, eax
mov word [ebp - 0x42], dx
and byte [esi + 3], 0x1f
and byte [ebp - 0x2d], 0x1f
mov dword [ebp - 0x48], 0
xor edi, edi
lea esi, [esi]
mov al, byte [edi + esi]
cmp byte [edi + ebp - 0x30], al
je 0x407c70
cmp dword [ebp - 0x48], 0
jne 0x407c31
add esp, 0xfffffff8
push dword [ebx + 0x4c]
push 0x4070cc
call fcn.00402624
mov dword [ebp - 0x48], 1
add esp, 0x10
cmp dword [0x4111f4], 0
je 0x407c70
add esp, 0xfffffff4
movzx eax, byte [edi + esi]
push eax
movzx eax, byte [edi + ebp - 0x30]
push eax
push edi
push 0x40710c
push 0x42d790
call sub.msvcrt.dll_sprintf
add esp, 0x20
add esp, 0xfffffff8
push 0x406314
push 0x42d790
call fcn.00402624
add esp, 0x10
inc edi
cmp edi, 0x15
jbe 0x407c08
cmp dword [ebp - 0x48], 0
je 0x407c89
cmp dword [0x4111d4], 0
je 0x4075bb
movzx cx, byte [esi + 0x12]
movzx ax, byte [esi + 0x13]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [esi + 0x14]
movzx ax, byte [esi + 0x15]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
mov dword [ebx + 0x14], ecx
movzx cx, byte [esi + 0xe]
movzx ax, byte [esi + 0xf]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [esi + 0x10]
movzx ax, byte [esi + 0x11]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
mov dword [ebx + 0x10], ecx
movzx cx, byte [esi + 0xa]
movzx ax, byte [esi + 0xb]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [esi + 0xc]
movzx ax, byte [esi + 0xd]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
mov dword [ebx + 0xc], ecx
movzx cx, byte [esi + 6]
movzx ax, byte [esi + 7]
shl eax, 8
or ecx, eax
movzx ecx, cx
movzx dx, byte [esi + 8]
movzx ax, byte [esi + 9]
shl eax, 8
or edx, eax
shl edx, 0x10
or ecx, edx
mov dword [ebx + 8], ecx
movzx dx, byte [esi + 4]
movzx ax, byte [esi + 5]
shl eax, 8
or edx, eax
mov word [ebx + 6], dx
movzx ecx, word [ebp - 0x42]
mov word [ebx + 4], cx
movzx dx, byte [esi]
movzx ax, byte [esi + 1]
shl eax, 8
or edx, eax
mov word [ebx + 2], dx
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
add esp, 0xfffffff4
push dword [ebx + 0x48]
call fcn.0040edb8
mov dword [ebx + 0x4c], eax
add esp, 0x10
test eax, eax
je 0x407835
mov dword [ebx + 0x38], eax
jmp 0x407da0
add esp, 0xfffffff8
push dword [ebx + 0x48]
push 0x407135
call fcn.00402624
jmp 0x4075bb
cmp dword [0x4111cc], 0
je 0x407db5
add esp, 0xfffffff4
push ebx
call fcn.00406358
add esp, 0x10
mov ebx, dword [ebx + 0x5c]
test ebx, ebx
jne 0x40792c
mov eax, dword [0x42dc50]
test eax, eax
je 0x407e00
cmp dword [0x4111f4], 0
je 0x407e00
add esp, 0xfffffff4
push eax
mov eax, 0x407167
cmp dword [0x4111d4], 0
je 0x407de9
mov eax, 0x407151
push eax
push dword [0x42dc30]
push 0x40718c
push dword [0x42dc10]
call sub.msvcrt.dll_fprintf
xor eax, eax
lea esp, [ebp - 0x88]
pop ebx
pop esi
pop edi
leave
ret