Function at 0x4506cd
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov di, word [esi]
mov dword [ebp - 0x10], ecx
mov byte [ebp - 2], 0
mov byte [ebp - 1], 0
mov eax, edi
call fcn.0040ac1b
test al, al
mov ebx, 0x4b0
jne 0x450876
push 4
push esi
push str._UNI
call fcn.00429920
add esp, 0xc
test al, al
jne 0x450729
push 8
push esi
push str._UNICODE
call fcn.00429920
add esp, 0xc
test al, al
je 0x45082d
mov dword [ebp - 8], ebx
lea eax, [ebp + 8]
push eax
call fcn.00404037
push 4
lea eax, [ebp + 8]
push eax
push str.fix
call fcn.0042fc5f
mov bl, al
add esp, 0x10
neg bl
sbb bl, bl
push 0x484964
lea ecx, [ebp - 0x1c]
and ebx, 2
mov byte [ebp - 0x34], bl
call fcn.0043a4ba
push str.READLINE
lea ecx, [ebp - 0xc]
call fcn.0043a4ba
xor eax, eax
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], eax
push 0x2c
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 8]
xor esi, esi
push eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x18], esi
call fcn.0043060a
mov eax, dword [ebp - 0x1c]
push eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], esi
call fcn.0040dca1
add esp, 0x10
push eax
lea ecx, [ebp - 0x1c]
call fcn.0043a522
lea ecx, [ebp - 0x2c]
call fcn.00428a48
mov edi, dword [ebp - 0x1c]
push edi
push 0x48be94
call fcn.0042999a
test al, al
pop ecx
pop ecx
je 0x450934
mov dword [ebp - 0x18], 1
mov byte [ebp - 2], 1
mov esi, dword [ebp + 8]
and dword [ebp - 0x2c], 0
cmp word [esi], 0x2c
jne 0x4509fb
lea ecx, [ebp - 0x28]
call fcn.0042e1c4
push 0x2c
lea eax, [ebp - 0x28]
push eax
inc esi
lea eax, [ebp + 8]
inc esi
push eax
mov dword [ebp + 8], esi
call fcn.0043060a
mov esi, dword [ebp - 0x28]
push esi
push 0x48be90
mov dword [ebp - 0x20], esi
call fcn.0042999a
add esp, 0x14
test al, al
je 0x450970
mov byte [ebp - 1], 2
mov dword [ebp - 0x2c], 0x48be8c
jmp 0x4509d0
push 5
pop ebx
push ebx
push esi
push str._UNIB
call fcn.00429920
add esp, 0xc
test al, al
jne 0x450857
push 9
push esi
push str._UNICODEB
call fcn.00429920
add esp, 0xc
test al, al
je 0x450863
mov dword [ebp - 8], 0x4b1
jmp 0x45072c
push ebx
push esi
push 0x48be70
call fcn.00429920
add esp, 0xc
test al, al
je 0x45087f
and dword [ebp - 8], 0
jmp 0x45072c
push 4
push esi
push str._GBK
call fcn.00429920
add esp, 0xc
test al, al
je 0x45089f
mov dword [ebp - 8], 0x3a8
jmp 0x45072c
push ebx
push esi
push str._BIG5
call fcn.00429920
add esp, 0xc
test al, al
je 0x4508be
mov dword [ebp - 8], 0x3b6
jmp 0x45072c
push ebx
push esi
push str._UTF8
call fcn.00429920
add esp, 0xc
test al, al
je 0x4508dd
mov dword [ebp - 8], 0xfde9
jmp 0x45072c
push ebx
push esi
push str._UTF7
call fcn.00429920
add esp, 0xc
test al, al
je 0x4508fc
mov dword [ebp - 8], 0xfde8
jmp 0x45072c
cmp di, 0x2d
jne 0x45092c
xor eax, eax
add esi, 2
mov ax, word [esi]
push eax
call fcn.0040fd8a
add esp, 4
test al, al
je 0x45092c
push esi
mov dword [ebp + 8], esi
call fcn.0042eb72
test eax, eax
pop ecx
mov dword [ebp - 8], eax
jge 0x45072c
xor eax, eax
inc eax
jmp 0x45125e
cmp word [edi], si
je 0x4507d0
push edi
push 0x485580
call fcn.0042999a
test al, al
pop ecx
pop ecx
jne 0x4507d0
push edi
push 0x484fbc
call fcn.0042999a
test al, al
pop ecx
pop ecx
je 0x4507d4
mov byte [ebp - 2], 2
jmp 0x4507d4
push esi
push 0x48be4c
call fcn.0042999a
test al, al
pop ecx
pop ecx
je 0x450987
mov byte [ebp - 1], 3
jmp 0x4509d0
push esi
push 0x48b018
call fcn.0042999a
test al, al
pop ecx
pop ecx
je 0x4509a5
mov byte [ebp - 1], 1
mov dword [ebp - 0x2c], 0x48be48
jmp 0x4509d0
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00430ad7
mov eax, dword [ebp - 0x20]
cmp word [eax], 0x2b
pop ecx
pop ecx
jne 0x4509d0
add dword [ebp - 0x20], 2
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00430ad7
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00428a48
mov esi, dword [ebp + 8]
cmp word [esi], 0x2c
jne 0x4509fb
push 0x2c
lea eax, [ebp - 0xc]
push eax
inc esi
lea eax, [ebp + 8]
inc esi
push eax
mov dword [ebp + 8], esi
call fcn.0043060a
mov esi, dword [ebp + 8]
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push 0
lea eax, [ebp - 0xc]
push eax
call fcn.00402bdd
lea ecx, [ebp - 0x58]
call fcn.0042e04e
and dword [ebp - 0x54], 0
and dword [ebp - 0x50], 0
cmp word [edi], 0x75
jne 0x450b91
cmp word [edi + 2], 0x64
jne 0x450b91
cmp word [edi + 4], 0x3a
jne 0x450b91
and word [esi], 0
lea eax, [edi + 6]
push 0x22
pop edi
cmp word [eax], di
mov dword [ebp - 0x28], eax
jne 0x450a50
inc eax
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], eax
push 0x3a
lea eax, [ebp - 0x28]
call fcn.0040404e
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x2c]
pop ecx
je 0x450a74
cmp word [eax - 2], di
jne 0x450a74
xor ebx, ebx
mov word [eax - 2], bx
jmp 0x450a76
xor ebx, ebx
cmp word [eax], 0x3a
jne 0x450a81
mov word [eax], bx
inc eax
inc eax
cmp word [eax], di
mov ecx, eax
jne 0x450a9a
lea ecx, [eax + 2]
inc eax
inc eax
cmp word [eax], di
jne 0x450a95
mov word [eax], bx
cmp word [eax], bx
jne 0x450a8b
push ebx
push ebx
push 0x10000
push ecx
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x2c]
call fcn.00442e0f
mov edi, dword [ebp - 0x54]
add esp, 0x18
cmp edi, ebx
jle 0x450ac4
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
lea esi, [eax + ecx]
mov dword [ebp + 8], esi
movsx eax, byte [esi]
cmp eax, 0xff
mov ecx, 0xfe
jne 0x450ae4
movsx edx, byte [esi + 1]
cmp edx, ecx
jne 0x450ae4
mov dword [ebp - 8], 0x4b0
jmp 0x450afb
cmp eax, ecx
jne 0x450aff
movsx ecx, byte [esi + 1]
cmp ecx, 0xff
jne 0x450aff
mov dword [ebp - 8], 0x4b1
push 2
jmp 0x450b25
cmp eax, 0xef
jne 0x450b26
movsx eax, byte [esi + 1]
cmp eax, 0xbb
jne 0x450b26
movsx eax, byte [esi + 2]
cmp eax, 0xbf
jne 0x450b26
mov dword [ebp - 8], 0xfde9
push 3
pop ebx
sub edi, ebx
add ebx, esi
cmp dword [ebp - 8], 0x4b1
jne 0x450b54
and edi, 0xfffffffe
add edi, ebx
cmp ebx, edi
mov eax, ebx
ja 0x450bc6
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov byte [eax], dl
mov byte [eax + 1], cl
inc eax
inc eax
cmp eax, edi
jbe 0x450b42
jmp 0x450bc6
cmp dword [ebp - 8], 0x4b0
je 0x450bc6
mov eax, dword [ebp - 0x58]
and dword [ebp - 0x58], 0
mov dword [ebp - 0x34], eax
lea eax, [edi + edi + 0x20]
push eax
lea ecx, [ebp - 0x58]
call fcn.0042e092
push dword [ebp - 8]
lea ecx, [ebp - 0x58]
push edi
push ebx
call fcn.0042e281
mov esi, dword [ebp - 0x58]
lea ecx, [ebp - 0x34]
mov dword [ebp + 8], esi
call fcn.00428a48
jmp 0x450bc6
mov eax, dword [ebp - 0xc]
cmp word [eax], 0
jne 0x450ba1
xor esi, esi
jmp 0x450fc0
cmp byte [ebp - 2], 1
jne 0x450bb7
cmp word [esi], 0x2c
je 0x450bb7
mov esi, 0x80070057
jmp 0x450fc0
inc esi
inc esi
test byte [ebp - 2], 1
mov dword [ebp + 8], esi
je 0x450e08
xor ebx, ebx
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ebx
je 0x450c19
lea eax, [ebp + 8]
push eax
call fcn.00428a5b
mov edi, dword [ebp + 8]
lea eax, [ebp + 8]
push eax
call fcn.00403ff2
mov esi, dword [ebp + 8]
cmp word [esi], bx
pop ecx
pop ecx
je 0x450bf2
mov word [esi], bx
cmp word [edi], bx
je 0x450c19
mov ecx, dword [ebp - 0x10]
push 0xffffffffffffffff
push ebx
push edi
call fcn.004100d3
cmp eax, ebx
je 0x450c19
push 0xffffffffffffffff
push dword [eax]
lea ecx, [ebp - 0x24]
call fcn.0042e2ea
mov esi, dword [ebp - 0x24]
mov dword [ebp + 8], esi
cmp byte [ebp - 1], 3
mov ebx, esi
jne 0x450c27
push esi
jmp 0x450d4a
cmp byte [ebp - 1], 0
je 0x450cc5
cmp byte [ebp - 1], 1
mov dword [ebp - 0x28], 0x485fc4
je 0x450c45
mov dword [ebp - 0x28], 0x487330
lea ecx, [ebp + 8]
call fcn.0042e1c4
mov edi, esi
xor ebx, ebx
jmp 0x450c95
cmp ax, 0xd
jne 0x450c69
lea eax, [esi + 2]
cmp word [eax], 0xa
jne 0x450c6f
mov word [esi], bx
mov esi, eax
jmp 0x450c72
cmp ax, 0xa
jne 0x450c93
mov word [esi], bx
cmp byte [ebp - 1], 0
jne 0x450c83
push dword [ebp - 0x28]
lea ecx, [ebp + 8]
call fcn.0042e232
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 1], 0
call fcn.0042e232
lea edi, [esi + 2]
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
jne 0x450c53
cmp word [edi], bx
je 0x450de5
cmp byte [ebp - 1], 0
jne 0x450cb7
push dword [ebp - 0x28]
lea ecx, [ebp + 8]
call fcn.0042e232
push edi
lea ecx, [ebp + 8]
call fcn.0042e232
jmp 0x450de5
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jge 0x450d14
mov ax, word [esi]
xor edi, edi
test ax, ax
je 0x450cf3
cmp ax, 0xa
jne 0x450cdd
inc edi
inc esi
inc esi
mov ax, word [esi]
test ax, ax
jne 0x450cd6
cmp esi, ebx
jbe 0x450cf3
cmp word [esi - 2], 0xa
je 0x450cf3
inc edi
push 0x20
lea ecx, [ebp + 8]
call fcn.0042e1e2
push edi
push 0x4870bc
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x450de5
jne 0x450d8c
mov cx, word [esi]
test cx, cx
push 0xa
mov eax, esi
mov edx, esi
pop edi
je 0x450d69
cmp cx, di
jne 0x450d2e
mov edx, eax
mov eax, esi
inc esi
inc esi
mov cx, word [esi]
test cx, cx
jne 0x450d25
cmp esi, ebx
jbe 0x450d5a
cmp word [esi - 2], di
je 0x450d5a
cmp word [eax], di
jne 0x450d49
inc eax
inc eax
push eax
push dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
call fcn.0042cbf7
jmp 0x450dfb
cmp eax, ebx
jbe 0x450d69
lea ecx, [eax - 2]
cmp word [ecx], 0xd
jne 0x450d69
mov eax, ecx
cmp word [edx], di
jne 0x450d70
inc edx
inc edx
sub eax, edx
sar eax, 1
push eax
push edx
jmp 0x450ddd
mov ax, word [esi]
test ax, ax
je 0x450d91
cmp ax, 0xa
jne 0x450d87
dec ecx
inc esi
inc esi
mov dword [ebp + 8], esi
cmp ecx, 1
jg 0x450d78
mov edi, dword [ebp - 0x14]
mov ebx, esi
jmp 0x450dcc
test edi, edi
je 0x450da1
dec dword [ebp - 0x14]
js 0x450dd7
lea eax, [ebp + 8]
call fcn.00404016
test edi, edi
je 0x450db3
cmp dword [ebp - 0x14], 0
je 0x450dd4
mov esi, dword [ebp + 8]
cmp word [esi], 0xd
jne 0x450dc1
inc esi
inc esi
mov dword [ebp + 8], esi
cmp word [esi], 0xa
jne 0x450dcc
inc esi
inc esi
mov dword [ebp + 8], esi
cmp word [esi], 0
jne 0x450d98
jmp 0x450dd7
mov esi, dword [ebp + 8]
sub esi, ebx
sar esi, 1
push esi
push ebx
lea ecx, [ebp + 8]
call fcn.0043a4d7
push dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
push dword [ebp - 0xc]
call fcn.0042cbf7
lea ecx, [ebp + 8]
call fcn.00428a48
lea ecx, [ebp - 0x24]
call fcn.00428a48
jmp 0x450b9a
push 8
lea ecx, [ebp + 8]
call fcn.0042e06b
push 8
lea ecx, [ebp - 0x24]
call fcn.0042e06b
mov eax, dword [ebp + 8]
and word [eax], 0
and dword [ebp - 0x20], 0
xor eax, eax
cmp byte [ebp - 2], 2
lea edi, [ebp - 0x48]
stosd dword es:[edi], eax
mov eax, dword [0x4992b0]
mov dword [ebp - 0x4c], eax
jne 0x450e46
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x18], eax
jmp 0x450f02
xor esi, esi
push esi
push esi
push 3
push esi
push 7
lea eax, [ebp - 0x20]
push 0x80000000
push dword [ebp - 0x1c]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00404073
cmp dword [ebp - 0x20], esi
jne 0x450e76
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x450fa8
xor eax, eax
and dword [ebp - 0x3c], eax
push eax
mov byte [ebp - 0x44], 0
mov byte [ebp - 0x43], 0
mov byte [ebp - 0x42], 0
lea edi, [ebp - 0x41]
stosw word es:[edi], ax
lea eax, [ebp - 0x3c]
push eax
push 3
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp byte [ebp - 0x44], 0xff
jne 0x450eb5
cmp byte [ebp - 0x43], 0xfe
jne 0x450ee8
mov dword [ebp - 8], 0x4b0
jmp 0x450ec8
cmp byte [ebp - 0x44], 0xfe
jne 0x450ecc
cmp byte [ebp - 0x43], 0xff
jne 0x450ee8
mov dword [ebp - 8], 0x4b1
push 2
jmp 0x450ee7
cmp byte [ebp - 0x44], 0xef
jne 0x450ee8
cmp byte [ebp - 0x43], 0xbb
jne 0x450ee8
cmp byte [ebp - 0x42], 0xbf
jne 0x450ee8
mov dword [ebp - 8], 0xfde9
push 3
pop esi
mov eax, esi
cdq
push 0
push edx
push eax
push dword [ebp - 0x20]
call fcn.004298d4
add esp, 0x10
test eax, eax
jl 0x450e69
push 0
mov dword [ebp - 0x28], 0x186a0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [ebp - 1], 3
jne 0x450fe7
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x34], eax
mov esi, 0x100000
lea eax, [edi + 0x100001]
push eax
lea ecx, [ebp - 0x14]
call fcn.0042e092
mov ebx, dword [ebp - 0x14]
and dword [ebp - 0x18], 0
push 0
lea eax, [ebp - 0x18]
push eax
push esi
lea eax, [edi + ebx]
push eax
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0x18], esi
jbe 0x450f5f
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], 0
jne 0x450f7f
test eax, eax
jne 0x450f88
cmp byte [ebp - 2], 2
jne 0x450f7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x450f88
dec dword [ebp - 0x28]
js 0x450f88
add edi, dword [ebp - 0x18]
mov byte [edi + ebx], 0
jmp 0x450f2d
mov eax, dword [ebp - 8]
lea esi, [ebp - 0x14]
call fcn.004356e4
mov ecx, dword [ebp - 0x10]
push eax
push dword [ebp - 0xc]
call fcn.0042cbf7
mov ecx, esi
call fcn.00428a48
xor esi, esi
lea ecx, [ebp - 0x20]
call fcn.00402abc
lea ecx, [ebp - 0x24]
call fcn.00428a48
lea ecx, [ebp + 8]
call fcn.00428a48
lea ecx, [ebp - 0x58]
call fcn.00428a48
lea ecx, [ebp - 0x38]
call fcn.00402abc
lea ecx, [ebp - 0xc]
call fcn.00428a48
lea ecx, [ebp - 0x1c]
call fcn.00428a48
mov eax, esi
jmp 0x45125e
cmp byte [ebp - 1], 0
je 0x45107f
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x450ffd
mov eax, 0x4855be
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x30]
call fcn.0043a4f0
or ebx, 1
lea ecx, [ebp - 0x14]
call fcn.0042e1c4
cmp byte [ebp - 1], 0
jne 0x451024
push dword [ebp - 0x30]
lea ecx, [ebp + 8]
call fcn.0042e232
push ebx
push dword [ebp - 8]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x18]
mov byte [ebp - 1], 0
call fcn.0043541d
add esp, 0x10
cmp byte [ebp - 2], 2
mov edi, eax
jne 0x45104e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x45106f
mov eax, dword [ebp - 8]
lea esi, [ebp - 0x14]
call fcn.004356e4
push eax
lea ecx, [ebp + 8]
call fcn.0042e232
mov ecx, esi
call fcn.00428a48
test edi, edi
je 0x451077
jmp 0x45100b
lea ecx, [ebp - 0x14]
call fcn.00428a48
lea ecx, [ebp - 0x30]
jmp 0x451202
mov edi, dword [ebp - 0x30]
test edi, edi
jge 0x4510df
xor edi, edi
push dword [ebp - 0x34]
lea eax, [ebp + 8]
push dword [ebp - 8]
push eax
push dword [ebp - 0x18]
call fcn.0043541d
add esp, 0x10
cmp byte [ebp - 2], 2
mov esi, eax
jne 0x4510b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x4510b7
test esi, esi
je 0x4510b7
inc edi
jmp 0x451088
push 0x20
lea ecx, [ebp + 8]
mov dword [ebp - 8], 0x4b0
call fcn.0042e092
push edi
push 0x4870bc
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x45120e
jne 0x451123
or ebx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
push ebx
push dword [ebp - 8]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x18]
mov dword [ebp + 8], ecx
call fcn.0043541d
add esp, 0x10
cmp byte [ebp - 2], 2
mov esi, eax
jne 0x45111a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x45120e
test esi, esi
jne 0x4510e4
jmp 0x45120e
xor eax, eax
inc eax
cmp edi, eax
mov dword [ebp - 0x30], eax
jle 0x451161
push dword [ebp - 0x34]
lea eax, [ebp + 8]
push dword [ebp - 8]
push eax
push dword [ebp - 0x18]
call fcn.0043541d
add esp, 0x10
cmp byte [ebp - 2], 2
mov esi, eax
jne 0x451155
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x451161
test esi, esi
je 0x451161
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x45112d
mov edi, dword [ebp - 0x14]
cmp edi, 1
mov eax, dword [ebp + 8]
mov byte [eax], 0
jne 0x451189
or ebx, edi
push ebx
push dword [ebp - 8]
lea eax, [ebp + 8]
push eax
push dword [ebp - 0x18]
call fcn.0043541d
add esp, 0x10
jmp 0x45120e
lea ecx, [ebp - 0x28]
call fcn.0042e1c4
test edi, edi
je 0x45119a
dec dword [ebp - 0x14]
js 0x4511ff
mov eax, dword [ebp - 0x28]
and word [eax], 0
xor eax, eax
mov al, bl
or eax, 1
push eax
push dword [ebp - 8]
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x18]
call fcn.0043541d
add esp, 0x10
cmp byte [ebp - 2], 2
mov esi, eax
jne 0x4511ce
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x4511ff
test esi, esi
je 0x4511ff
mov eax, dword [ebp - 8]
lea esi, [ebp - 0x28]
call fcn.004356e4
push eax
lea ecx, [ebp + 8]
call fcn.0042e232
test edi, edi
je 0x4511f0
cmp dword [ebp - 0x14], 0
jle 0x4511ff
push 0x487330
lea ecx, [ebp + 8]
call fcn.0042e232
jmp 0x451191
lea ecx, [ebp - 0x28]
mov dword [ebp - 8], 0x4b0
call fcn.00428a48
mov eax, dword [ebp - 8]
lea esi, [ebp + 8]
call fcn.004356e4
mov ecx, dword [ebp - 0x10]
push eax
push dword [ebp - 0xc]
call fcn.0042cbf7
lea ecx, [ebp - 0x20]
call fcn.00402abc
lea ecx, [ebp - 0x24]
call fcn.00428a48
mov ecx, esi
call fcn.00428a48
lea ecx, [ebp - 0x58]
call fcn.00428a48
lea ecx, [ebp - 0x38]
call fcn.00402abc
lea ecx, [ebp - 0xc]
call fcn.00428a48
lea ecx, [ebp - 0x1c]
call fcn.00428a48
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8