Function at 0x402ce9
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0x4c4cc0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push edi
mov dword [ebp - 0x220], eax
mov eax, dword [eax + 0x20]
xor edi, edi
cmp eax, edi
jne 0x402d16
xor eax, eax
jmp 0x402fa7
push ebx
push esi
lea ecx, [ebp - 0x224]
push ecx
push eax
mov dword [ebp - 0x210], edi
mov dword [ebp - 0x21c], edi
mov dword [ebp - 0x224], edi
call dword [0x4a62b8]
mov ebx, eax
mov esi, dword [ebx]
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x218], edi
cmp esi, edi
je 0x402de0
xor eax, eax
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push edi
push eax
call fcn.0047a8e0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x20c]
push eax
push edi
call dword [0x4a61e4]
mov edi, dword [0x4a62cc]
lea eax, [ebp - 0x20c]
push eax
call edi
push esi
mov dword [ebp - 0x214], eax
call edi
mov edi, eax
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.004799eb
pop ecx
pop ecx
test eax, eax
je 0x402dd6
push esi
push dword [ebp - 0x214]
call fcn.004799eb
pop ecx
pop ecx
test eax, eax
je 0x402dd6
test edi, edi
je 0x402de0
push edi
push dword [ebp - 0x214]
call fcn.004799eb
pop ecx
pop ecx
test eax, eax
jne 0x402de0
mov dword [ebp - 0x218], 1
mov eax, dword [ebp - 0x218]
cmp eax, dword [ebp - 0x224]
jge 0x402f8c
lea ecx, [eax + 1]
mov dword [ebp - 0x214], ecx
mov eax, dword [ebx + eax*4]
movzx ecx, word [eax]
push 0x2f
pop edx
cmp dx, cx
je 0x402ea0
push 0x2d
pop edx
cmp dx, cx
je 0x402ea0
push eax
lea esi, [ebp - 0x21c]
call fcn.00407496
push dword [ebp - 0x21c]
call dword [0x4a6290]
test eax, eax
je 0x402f6d
mov ebx, dword [ebp - 0x220]
mov eax, dword [ebx + 0x14]
mov ecx, esi
cmp ecx, eax
jae 0x402e72
mov ecx, dword [ebx + 0x10]
mov edx, esi
cmp ecx, edx
ja 0x402e72
sub esi, ecx
sar esi, 2
cmp eax, dword [ebx + 0x18]
jne 0x402e63
lea ecx, [ebx + 0x10]
call fcn.0040480b
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x402e91
mov eax, dword [ebx + 0x10]
lea esi, [eax + esi*4]
jmp 0x402e8c
cmp eax, dword [ebx + 0x18]
jne 0x402e7f
lea ecx, [ebx + 0x10]
call fcn.0040480b
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x402e91
lea esi, [ebp - 0x21c]
call fcn.004073f1
add dword [ebx + 0x14], 4
mov ebx, dword [ebp - 0x228]
jmp 0x402f6d
add eax, 2
push eax
lea esi, [ebp - 0x210]
call fcn.00407496
push dword [ebp - 0x210]
mov esi, dword [0x4a6290]
call esi
test eax, eax
je 0x402ed6
push dword [ebp - 0x210]
call esi
push eax
push dword [ebp - 0x210]
call dword [0x4a631c]
mov eax, dword [0x4d25f8]
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x210]
push eax
lea edi, [ebp - 0x230]
mov esi, 0x4d25f4
call fcn.0040455b
mov ecx, dword [ebp - 0x22c]
cmp dword [eax], ecx
jne 0x402f55
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp - 0x224]
jge 0x402f55
mov eax, dword [ebp - 0x218]
mov eax, dword [ebx + eax*4 + 4]
movzx ecx, word [eax]
push 0x2d
pop edx
cmp dx, cx
je 0x402f55
push 0x2f
pop edx
cmp dx, cx
je 0x402f55
push eax
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x220]
call fcn.004044c1
mov esi, eax
call fcn.00407496
inc dword [ebp - 0x218]
inc dword [ebp - 0x214]
jmp 0x402f6d
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x220]
call fcn.004044c1
push eax
call fcn.0040741f
mov eax, dword [ebp - 0x218]
inc eax
inc dword [ebp - 0x214]
mov dword [ebp - 0x218], eax
cmp eax, dword [ebp - 0x224]
jl 0x402dfb
push dword [ebp - 0x21c]
mov esi, dword [0x4a6298]
call esi
push dword [ebp - 0x210]
call esi
xor eax, eax
pop esi
inc eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.00478b4c
leave
ret 4