Function at 0x44f369
Capabilities:
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0xfc
mov eax, dword [ebp + 0x78]
push ebx
push esi
push edi
xor ebx, ebx
cmp word [eax], 0x23
mov edi, ecx
push 2
mov dword [ebp + 0x24], edi
mov byte [ebp + 0x6f], bl
pop esi
jne 0x44f394
add dword [ebp + 0x78], esi
mov byte [ebp + 0x6f], 1
lea eax, [ebp + 0x78]
push eax
call fcn.00403977
pop ecx
push 1
lea ecx, [ebp - 0x28]
call fcn.0042465d
lea ecx, [ebp + 0x40]
call fcn.0042460b
push 1
lea ecx, [ebp - 4]
call fcn.0042465d
push 1
lea ecx, [ebp + 0x28]
call fcn.0042465d
lea ecx, [ebp + 0x20]
call fcn.0042460b
push 5
lea eax, [ebp + 0x78]
push eax
push str._find
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x64], ebx
call fcn.0042c9b5
add esp, 0xc
lea ecx, [ebp + 0x14]
mov byte [ebp + 0x3f], al
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x10], ebx
mov byte [ebp + 0x6e], bl
call fcn.0042460b
lea ecx, [ebp]
call fcn.0042460b
push 3
push dword [ebp + 0x78]
push 0x47c6a8
call fcn.004257a3
add esp, 0xc
test al, al
je 0x44f4ba
add dword [ebp + 0x78], 6
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042e410
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x40
pop ecx
pop ecx
jne 0x44f4b2
add eax, esi
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x48], eax
lea eax, [ebp + 0x78]
push eax
call fcn.00403953
mov eax, dword [ebp + 0x78]
mov dx, word [eax]
pop ecx
lea ecx, [ebp + 0x78]
call fcn.00429ef2
cmp dx, bx
je 0x44f474
sub dword [ebp + 0x78], esi
mov eax, dword [ebp + 0x78]
mov word [eax], bx
add dword [ebp + 0x78], esi
cmp byte [edi + 0x4d], bl
jne 0x44f492
test byte [edi + 9], 0xf
jne 0x44f492
push 1
push ebx
lea eax, [ebp + 0x14]
push eax
push dword [ebp + 0x48]
mov ecx, edi
call fcn.0043dc02
jmp 0x44f4a3
push 1
push ebx
lea eax, [ebp + 0x14]
push eax
push dword [ebp + 0x48]
mov ecx, edi
call fcn.0043cace
push dword [ebp + 0x14]
call fcn.0046176a
add eax, 8
pop ecx
mov dword [ebp + 0x10], eax
lea ecx, [ebp + 0x78]
call fcn.00429ef2
cmp byte [edi + 0x4d], bl
jne 0x44f4d8
test byte [edi + 9], 0xf
jne 0x44f4d8
push 1
push ebx
lea eax, [ebp]
push eax
push dword [ebp + 0x78]
mov ecx, edi
call fcn.0043dc02
jmp 0x44f4e9
push 1
push ebx
lea eax, [ebp]
push eax
push dword [ebp + 0x78]
mov ecx, edi
call fcn.0043cace
mov eax, dword [ebp]
mov dword [ebp + 0x78], eax
push 4
lea eax, [ebp + 0x78]
push eax
push str._bin
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x44f50a
mov byte [ebp + 0x6e], 1
push ebx
push 0x2c
pop esi
push esi
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x78]
push eax
mov ecx, edi
call fcn.00421926
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
jne 0x44f52e
xor ebx, ebx
inc ebx
jmp 0x44fdf2
push ebx
push esi
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00421973
mov eax, dword [ebp - 4]
add esp, 0x10
cmp word [eax], bx
je 0x44f526
push ebx
push esi
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x78]
push eax
mov ecx, edi
call fcn.00421926
mov eax, dword [ebp + 0x28]
cmp word [eax], bx
je 0x44f526
push ebx
push esi
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x78]
push eax
mov ecx, edi
call fcn.00421926
cmp byte [ebp + 0x3f], bl
je 0x44f57f
mov eax, dword [ebp + 0x20]
cmp word [eax], bx
je 0x44f526
lea ecx, [ebp - 0x1c]
call fcn.00424559
mov edi, dword [ebp + 0x40]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
cmp word [edi], 0x23
jne 0x44f613
cmp byte [ebp + 0x6e], bl
jne 0x44f613
lea eax, [edi + 2]
cmp word [eax], 0x2e
mov dword [ebp + 0x58], eax
mov byte [ebp + 0x48], bl
mov dword [ebp + 0x44], ebx
jne 0x44f5b6
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov byte [ebp + 0x48], 0x40
movzx eax, word [eax]
push eax
call fcn.0040e5a7
add esp, 4
test al, al
je 0x44f613
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x58]
push eax
mov esi, str.EXEDATA
call fcn.0042e410
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x7c
pop ecx
pop ecx
jne 0x44f5ed
add eax, 2
cmp word [eax], bx
je 0x44f5ed
mov esi, eax
cmp word [ebp + 0x44], bx
jle 0x44f613
push dword [ebp + 0x48]
lea eax, [ebp - 0x1c]
push eax
push esi
push dword [ebp + 0x44]
push dword [0x48add0]
call fcn.0040e9a5
mov edi, dword [ebp + 0x40]
add esp, 0x14
mov byte [ebp + 0x6e], 2
push edi
mov dword [ebp + 0x1c], edi
mov dword [ebp + 0x40], ebx
call fcn.00412d51
pop ecx
push eax
lea ecx, [ebp + 0x40]
call fcn.0042a1b7
lea ecx, [ebp + 0x1c]
call fcn.00424686
mov eax, dword [ebp + 0x20]
push eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], ebx
call fcn.00412d51
pop ecx
push eax
lea ecx, [ebp + 0x20]
call fcn.0042a1b7
lea ecx, [ebp + 0x1c]
call fcn.00424686
mov eax, dword [ebp - 4]
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x68], ebx
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 8], ebx
call fcn.0042f308
mov eax, dword [ebp + 0x78]
pop ecx
pop ecx
push 0x23
pop esi
or edi, 0xffffffff
cmp word [eax], si
jne 0x44f749
add dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2a
jne 0x44f6a2
add dword [ebp + 0x78], 2
mov dword [ebp + 0x50], edi
mov dword [ebp + 0x54], 0x7fffffff
jmp 0x44f6b1
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042f308
pop ecx
pop ecx
mov eax, dword [ebp + 0x78]
cmp word [eax], si
jne 0x44f749
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042f308
test eax, eax
pop ecx
pop ecx
jle 0x44f6da
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x68], eax
mov eax, dword [ebp + 0x78]
cmp word [eax], si
jne 0x44f749
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042f308
test eax, eax
pop ecx
pop ecx
jle 0x44f6ff
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x44], eax
mov eax, dword [ebp + 0x78]
cmp word [eax], si
jne 0x44f749
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042f308
test eax, eax
pop ecx
pop ecx
jle 0x44f724
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 0x78]
cmp word [eax], si
jne 0x44f749
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042f308
test eax, eax
pop ecx
pop ecx
jle 0x44f749
mov eax, dword [ebp + 0x60]
mov dword [ebp + 8], eax
lea ecx, [ebp + 0x78]
call fcn.00429ef2
cmp byte [ebp + 0x6e], bl
je 0x44f8b5
mov esi, 0x48b5d4
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
lea ecx, [ebp + 0x4c]
call fcn.0042460b
xor ecx, ecx
xor eax, eax
cmp byte [ebp + 0x6e], 1
jne 0x44f7a0
mov ecx, dword [ebp + 0x24]
push ebx
lea eax, [ebp + 0x40]
push eax
call fcn.00402996
mov ecx, dword [ebp + 0x24]
push edi
push ebx
push dword [ebp + 0x40]
call fcn.0040a6dc
cmp eax, ebx
je 0x44f8a2
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
cmp byte [ebp + 0x6e], 2
jne 0x44f7ac
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x34]
cmp edx, eax
jle 0x44f7b5
mov edx, eax
mov edi, dword [ebp + 0x50]
sub eax, edx
add ecx, edx
mov dword [ebp + 0x1c], eax
cdq
cmp dword [ebp + 0x54], edx
mov dword [ebp + 0x58], ecx
jl 0x44f7d1
jg 0x44f7ce
cmp edi, eax
jbe 0x44f7d1
mov edi, dword [ebp + 0x1c]
cmp byte [ebp + 0x6f], bl
je 0x44f7fc
push ebx
push ebx
push edi
push ecx
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0042e908
add esp, 0x18
lea ecx, [ebp + 0x4c]
call fcn.00424686
push esi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x44fdea
cmp dword [ebp + 0x5c], ebx
lea ecx, [edi + edi*4 + 0xa]
jle 0x44f817
mov eax, edi
cdq
idiv dword [ebp + 0x5c]
mov edx, dword [ebp + 0x10]
add edx, 2
inc eax
imul eax, edx
add ecx, eax
add ecx, 6
push ecx
lea ecx, [ebp + 0x4c]
call fcn.00424699
dec edi
mov esi, dword [ebp + 0x4c]
mov eax, esi
mov dword [ebp + 0x68], ebx
js 0x44f89a
inc edi
mov dword [ebp + 0x48], edi
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
cmp dword [ebp + 0x5c], ebx
jle 0x44f877
mov eax, dword [ebp + 0x68]
cdq
idiv dword [ebp + 0x5c]
test edx, edx
jne 0x44f877
cmp dword [ebp + 0x68], ebx
jle 0x44f85b
mov word [esi], 0xd
inc esi
inc esi
mov word [esi], 0xa
inc esi
inc esi
cmp dword [ebp + 0x10], ebx
je 0x44f877
push dword [ebp + 0x14]
push dword [ebp + 0x68]
push str._8X_s
push esi
call edi
mov eax, dword [ebp + 0x10]
add esp, 0x10
lea esi, [esi + eax*2]
mov eax, dword [ebp + 0x58]
movzx eax, byte [eax]
push eax
push 0x478744
push esi
call edi
add esp, 0xc
inc dword [ebp + 0x58]
add esi, 0xa
inc dword [ebp + 0x68]
dec dword [ebp + 0x48]
lea eax, [esi - 2]
jne 0x44f838
mov word [eax], bx
mov esi, 0x48b5d4
push dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x24]
push dword [ebp + 0x28]
call fcn.00428e1b
jmp 0x44f7e8
push 0x3c
lea ecx, [ebp + 0x2c]
call fcn.0042465d
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 0xc], ebx
call fcn.00431533
cmp al, bl
pop ecx
pop ecx
mov byte [ebp + 0x4c], al
jge 0x44f8e2
mov ebx, 0x80070057
jmp 0x44fde2
push ebx
push ebx
push 3
push ebx
push 3
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x64], edi
mov dword [ebp - 8], edi
mov edi, 0x80000000
push edi
push dword [ebp + 0x40]
lea ecx, [ebp + 0x30]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp + 0x48], ebx
mov dword [ebp + 4], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x30], ebx
call fcn.00403993
cmp byte [ebp + 0x4c], 0x11
jne 0x44f948
lea eax, [ebp + 0x60]
push eax
push dword [ebp + 0xc]
push dword [ebp + 0x30]
call fcn.004282e8
add esp, 0xc
cmp edx, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jg 0x44f976
jl 0x44f940
cmp eax, ebx
jae 0x44f976
xor ebx, ebx
inc ebx
jmp 0x44fdc2
cmp dword [ebp + 0x30], ebx
je 0x44f976
cmp byte [ebp + 0x4c], bl
jne 0x44f963
push 2
push ebx
push ebx
push dword [ebp + 0x30]
call fcn.0042572e
add esp, 0x10
jmp 0x44f970
push dword [ebp + 0x4c]
push dword [ebp + 0x30]
call fcn.00428276
pop ecx
pop ecx
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], edx
cmp byte [ebp + 0x3f], bl
je 0x44fa90
mov eax, dword [ebp + 0x20]
or dword [ebp + 0x18], 0xffffffff
or dword [ebp + 0x1c], 0xffffffff
xor esi, esi
cmp word [eax], 0x2a
mov dword [ebp + 0x5c], ebx
push ebx
jne 0x44f9b9
lea ecx, [ebp + 0x48]
push ecx
mov ecx, dword [ebp + 0x24]
add eax, 2
push eax
call fcn.0043d213
mov eax, dword [ebp + 0x48]
push eax
mov dword [ebp + 0x5c], eax
call fcn.0046176a
mov esi, eax
pop ecx
shl esi, 1
jmp 0x44fa08
push ebx
push 3
push ebx
push 3
push edi
push eax
lea ecx, [ebp + 4]
call fcn.00403993
cmp dword [ebp + 4], ebx
je 0x44fa08
push 2
push ebx
push ebx
push dword [ebp + 4]
call fcn.0042572e
add esp, 0x10
cmp edx, ebx
jl 0x44f9f1
mov ecx, 0x20000000
jg 0x44f9ec
cmp eax, ecx
jbe 0x44f9f1
mov eax, ecx
mov dword [ebp - 0xc], ebx
push ebx
push ebx
mov esi, eax
push 2
cdq
push edx
push eax
push dword [ebp + 4]
lea ecx, [ebp - 0x24]
call fcn.0042a0c1
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 0x44]
cmp eax, ebx
jle 0x44fa14
add dword [ebp + 0x5c], eax
sub esi, eax
cmp dword [ebp + 0x68], ebx
jle 0x44fa21
cmp esi, dword [ebp + 0x68]
jle 0x44fa21
mov esi, dword [ebp + 0x68]
cmp dword [ebp + 0x30], ebx
je 0x44fa64
cmp dword [ebp + 0x5c], ebx
je 0x44fa64
cmp esi, ebx
jle 0x44fa64
cmp dword [ebp + 0x58], ebx
jl 0x44fa64
push dword [ebp + 8]
push dword [ebp + 0x58]
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x4c]
push esi
push dword [ebp + 0x5c]
push dword [ebp + 0x64]
push dword [ebp + 0x60]
push dword [ebp + 0x30]
call fcn.0043170f
add esp, 0x30
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], edx
push dword [ebp + 0x1c]
lea eax, [ebp - 0x8c]
push dword [ebp + 0x18]
push eax
call fcn.00434163
mov ecx, dword [ebp + 0x24]
add esp, 0xc
lea eax, [ebp - 0x8c]
push eax
push dword [ebp + 0x28]
call fcn.00428e1b
jmp 0x44fdc2
cmp dword [ebp + 0x30], ebx
mov dword [ebp + 0x1c], ebx
je 0x44fd5d
cmp dword [ebp + 0x38], ebx
jl 0x44fd5d
mov esi, dword [ebp + 0x34]
jg 0x44fab2
cmp esi, ebx
jb 0x44fd5d
mov eax, dword [ebp + 0x64]
cmp dword [ebp + 0x38], eax
jg 0x44fd5d
jl 0x44fac9
cmp esi, dword [ebp + 0x60]
ja 0x44fd5d
cmp byte [ebp + 0x4c], bl
mov ecx, dword [ebp + 0x64]
jne 0x44fae6
cmp ecx, ebx
jl 0x44fd95
jg 0x44fafa
cmp dword [ebp + 0x60], ebx
jbe 0x44fd95
jmp 0x44fafa
cmp ecx, ebx
jg 0x44fb05
jl 0x44faf1
cmp dword [ebp + 0x60], ebx
jae 0x44fafa
or dword [ebp + 0x60], 0xffffffff
mov ecx, 0x7fffffff
cmp ecx, ebx
jl 0x44fb25
jg 0x44fb05
cmp dword [ebp + 0x60], ebx
jbe 0x44fb25
mov eax, dword [ebp + 0x60]
sub eax, esi
sbb ecx, dword [ebp + 0x38]
cmp ecx, dword [ebp + 0x54]
jg 0x44fb25
jl 0x44fb19
cmp eax, dword [ebp + 0x50]
jae 0x44fb25
mov eax, dword [ebp + 0x60]
sub eax, esi
cdq
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], edx
cmp dword [ebp + 0x5c], ebx
mov ecx, dword [ebp + 0x50]
lea edi, [ecx + ecx*4 + 0xa]
jle 0x44fb43
mov eax, ecx
cdq
idiv dword [ebp + 0x5c]
mov edx, dword [ebp + 0x10]
add edx, 2
inc eax
imul eax, edx
add edi, eax
cmp byte [ebp + 0x6f], bl
je 0x44fb52
lea eax, [ecx + 1]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
lea eax, [edi + 4]
push eax
lea ecx, [ebp + 0x2c]
call fcn.00424699
mov eax, dword [ebp + 0x2c]
cmp eax, ebx
je 0x44f940
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x78], eax
mov word [eax], bx
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x68], eax
je 0x44fb87
mov ecx, dword [ebp + 0x50]
mov byte [ecx + eax], bl
mov eax, dword [ebp + 0x78]
mov word [eax + edi*2], bx
add esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
adc dword [ebp + 0x38], eax
cmp byte [ebp + 0x4c], bl
mov edi, dword [ebp + 0x38]
mov dword [ebp + 0x44], ebx
je 0x44fbab
push ebx
push 0x200
push edi
push esi
call fcn.00463ab0
mov dword [ebp + 0x44], eax
movzx eax, word [ebp + 0x44]
cdq
sub esi, eax
push ebx
sbb edi, edx
push edi
push esi
push dword [ebp + 0x30]
call fcn.0042572e
add esp, 0x10
push 0x100800
lea ecx, [ebp + 0x58]
call fcn.00424576
cmp dword [ebp + 0x54], ebx
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0xc], ebx
jl 0x44fd1a
jle 0x44fd11
movzx edi, word [ebp + 0x44]
mov esi, 0x100000
sub esi, edi
mov eax, esi
cdq
cmp edx, dword [ebp + 0x54]
jl 0x44fc07
jg 0x44fc04
cmp eax, dword [ebp + 0x50]
jbe 0x44fc07
mov esi, dword [ebp + 0x50]
cmp byte [ebp + 0x4c], bl
lea eax, [esi + edi]
je 0x44fc1f
add eax, 0x1ff
cdq
mov ecx, 0x200
idiv ecx
shl eax, 9
push ebx
lea ecx, [ebp + 0x64]
push ecx
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
cmp byte [ebp + 0x6f], bl
je 0x44fc59
mov eax, dword [ebp + 0x58]
push esi
add eax, edi
push eax
push dword [ebp + 0x68]
call fcn.00461a50
add dword [ebp + 0x68], esi
mov eax, esi
cdq
add esp, 0xc
sub dword [ebp + 0x50], eax
sbb dword [ebp + 0x54], edx
jmp 0x44fd03
dec esi
js 0x44fd03
mov eax, dword [ebp + 0x58]
add edi, eax
inc esi
mov dword [ebp + 8], esi
cmp dword [ebp + 0x5c], ebx
jle 0x44fcce
mov eax, dword [ebp + 0x5c]
cdq
push edx
push eax
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.00463ab0
or eax, edx
jne 0x44fcce
cmp dword [ebp + 0x38], ebx
jl 0x44fca7
jg 0x44fc8f
cmp dword [ebp + 0x34], ebx
jbe 0x44fca7
mov eax, dword [ebp + 0x78]
mov word [eax], 0xd
add dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x78]
mov word [eax], 0xa
add dword [ebp + 0x78], 2
mov esi, dword [ebp + 0x10]
cmp esi, ebx
je 0x44fcce
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push str._8X_s
push dword [ebp + 0x78]
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp + 0x78]
lea eax, [eax + esi*2]
add esp, 0x10
mov dword [ebp + 0x78], eax
movzx eax, byte [edi]
push eax
push 0x478744
push dword [ebp + 0x78]
call dword [sym.imp.USER32.dll_wsprintfW]
add dword [ebp + 0x78], 0xa
add esp, 0xc
inc dword [ebp + 0xc]
add dword [ebp + 0x34], 1
adc dword [ebp + 0x38], ebx
add dword [ebp + 0x50], 0xffffffff
adc dword [ebp + 0x54], 0xffffffff
inc edi
dec dword [ebp + 8]
jne 0x44fc69
cmp dword [ebp + 0x54], ebx
mov dword [ebp + 0x44], ebx
jg 0x44fbea
jl 0x44fd1a
cmp dword [ebp + 0x50], ebx
ja 0x44fbea
mov ecx, dword [ebp + 0x2c]
cmp dword [ebp + 0x78], ecx
je 0x44fd38
cmp byte [ebp + 0x6f], bl
je 0x44fd2e
mov eax, dword [ebp + 0x68]
mov byte [eax], bl
jmp 0x44fd38
sub dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x78]
mov word [eax], bx
cmp byte [ebp + 0x6f], bl
je 0x44fd53
mov eax, dword [ebp + 0x68]
push 4
push ebx
push dword [ebp + 0x68]
sub eax, ecx
mov dword [ebp - 8], eax
call fcn.00461780
add esp, 0xc
lea ecx, [ebp + 0x58]
call fcn.00424686
jmp 0x44fd90
cmp dword [ebp + 0x64], ebx
jg 0x44fd78
jl 0x44fd69
cmp dword [ebp + 0x60], ebx
jae 0x44fd78
push str.0xFFFFFFFF
lea ecx, [ebp + 0x2c]
call fcn.0042a1b7
jmp 0x44fd89
push dword [ebp + 0x64]
push dword [ebp + 0x60]
push dword [ebp + 0x2c]
call fcn.00434163
add esp, 0xc
mov dword [ebp + 0x1c], 1
cmp dword [ebp - 8], ebx
jge 0x44fda5
push dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x24]
push dword [ebp + 0x28]
call fcn.00428e1b
jmp 0x44fdbf
push 1
lea eax, [ebp + 0x2c]
push eax
push dword [ebp - 8]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0042e908
add esp, 0x18
mov ebx, dword [ebp + 0x1c]
lea ecx, [ebp + 0x30]
call fcn.00402905
lea ecx, [ebp + 4]
call fcn.00402905
lea ecx, [ebp + 0x48]
call fcn.00424686
lea ecx, [ebp - 0x24]
call fcn.00424456
lea ecx, [ebp + 0x2c]
call fcn.00424686
lea ecx, [ebp - 0x1c]
call fcn.00424686
lea ecx, [ebp]
call fcn.00424686
lea ecx, [ebp + 0x14]
call fcn.00424686
lea ecx, [ebp + 0x20]
call fcn.00424686
lea ecx, [ebp + 0x28]
call fcn.00424686
lea ecx, [ebp - 4]
call fcn.00424686
lea ecx, [ebp + 0x40]
call fcn.00424686
lea ecx, [ebp - 0x28]
call fcn.00424686
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x70
leave
ret 8