Function at 0x40215a
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
sub esp, 0x60
xor esi, esi
xor edi, edi
mov ecx, 0x4b
push esi
dec ecx
jne 0x40216c
sub esp, 4
mov edx, 0x406514
call fcn.004055ae
mov ebx, esp
call fcn.0040518b
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 4
call fcn.004052e6
mov dword [0x406344], eax
sub esp, 4
mov edx, 0x406522
call fcn.004055ae
mov ebx, esp
call fcn.0040518b
push dword [0x406344]
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 4
call fcn.004052e6
mov dword [0x406340], eax
sub esp, 4
mov edx, 0x40652f
call fcn.004055ae
mov ebx, esp
call fcn.0040518b
push dword [0x406344]
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 4
call fcn.004052e6
mov dword [0x406348], eax
mov ebx, 0x4064a0
mov eax, 2
call fcn.0040315d
push 0
push 0
push 4
push 0x1040000
push 0
mov ebx, 0x4064a0
call fcn.00402ead
fild qword [0x406620]
call fcn.00404991
xor ecx, ecx
add ecx, dword [0x4064a0]
mov dword [ecx], eax
push 0x104
mov ebx, 0x40637c
push ebx
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameA]
call fcn.004052e6
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetCommandLineA]
call fcn.004052e6
push eax
lea ebx, [ebp - 0x190]
push ebx
call fcn.0040161f
mov dword [0x406378], 0x408000
mov dword [0x406370], 0x33c6c
mov dword [0x406350], 8
mov dword [0x40634c], 0x43
mov edx, 0x40653f
call fcn.004055ae
lea ebx, [ebp - 0x8c]
call fcn.004050d9
fild word [0x406680]
mov eax, dword [0x406350]
call fcn.0040496d
fcompp
fnstsw ax
sahf
jbe 0x4023bc
sub esp, 4
mov edx, 0x406574
call fcn.004055ae
mov ebx, esp
call fcn.0040518b
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 4
call fcn.004052e6
mov dword [0x40635c], eax
fldz
mov eax, dword [0x40635c]
call fcn.0040496d
fcompp
fnstsw ax
sahf
jne 0x4023bc
sub esp, 4
mov edx, dword [ebp - 0x8c]
call fcn.0040559a
mov edx, 0x406574
call fcn.004055ae
call fcn.004051d3
mov ebx, esp
call fcn.0040518b
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 4
call fcn.004052e6
mov dword [0x40635c], eax
fldz
mov eax, dword [0x40635c]
call fcn.0040496d
fcompp
fnstsw ax
sahf
jne 0x4023bc
mov edx, 0x406581
call fcn.004055ae
mov edx, 0x406574
call fcn.004055ae
call fcn.004051d3
mov eax, 0x30
mov edx, 0x40659d
call fcn.004055ae
call fcn.004032b9
jmp 0x40271f
mov edx, 0x4065a7
call fcn.004055ae
mov eax, dword [0x406350]
call fcn.0040496d
call fcn.00405007
call fcn.00404e88
call fcn.00404ed9
call fcn.004051d3
mov edx, 0x4065ac
call fcn.004055ae
call fcn.004051d3
lea ebx, [ebp - 0x88]
call fcn.004050d9
sub esp, 4
mov edx, dword [ebp - 0x88]
call fcn.0040559a
mov ebx, esp
call fcn.0040518b
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 4
call fcn.004052e6
mov dword [0x40635c], eax
fldz
mov eax, dword [0x40635c]
call fcn.0040496d
fcompp
fnstsw ax
sahf
jne 0x402491
sub esp, 4
mov edx, dword [ebp - 0x8c]
call fcn.0040559a
mov edx, dword [ebp - 0x88]
call fcn.0040559a
call fcn.004051d3
mov ebx, esp
call fcn.0040518b
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 4
call fcn.004052e6
mov dword [0x40635c], eax
fldz
mov eax, dword [0x40635c]
call fcn.0040496d
fcompp
fnstsw ax
sahf
jne 0x4024dc
mov edx, 0x406581
call fcn.004055ae
mov edx, dword [ebp - 0x88]
call fcn.0040559a
call fcn.004051d3
mov eax, 0x30
mov edx, 0x40659d
call fcn.004055ae
call fcn.004032b9
jmp 0x40271f
sub esp, 8
mov eax, 0x401e88
mov ebx, esp
add ebx, 4
push ebx
mov dword [ebx], eax
mov edx, 0x4065b3
call fcn.004055ae
mov ebx, esp
add ebx, 4
push ebx
call fcn.0040514c
mov ebx, 0x40635c
push ebx
call fcn.0040109b
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 8
mov dword [0x406480], eax
sub esp, 8
mov eax, 0x401cb6
mov ebx, esp
add ebx, 4
push ebx
mov dword [ebx], eax
mov edx, 0x4065c3
call fcn.004055ae
mov ebx, esp
add ebx, 4
push ebx
call fcn.0040514c
mov ebx, 0x40635c
push ebx
call fcn.0040109b
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 8
mov dword [0x406484], eax
sub esp, 8
mov eax, 0x401ad7
mov ebx, esp
add ebx, 4
push ebx
mov dword [ebx], eax
mov edx, 0x4065cd
call fcn.004055ae
mov ebx, esp
add ebx, 4
push ebx
call fcn.0040514c
mov ebx, 0x40635c
push ebx
call fcn.0040109b
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 8
mov dword [0x406488], eax
sub esp, 8
mov eax, 0x401c07
mov ebx, esp
add ebx, 4
push ebx
mov dword [ebx], eax
mov edx, 0x4065da
call fcn.004055ae
mov ebx, esp
add ebx, 4
push ebx
call fcn.0040514c
mov ebx, 0x40635c
push ebx
call fcn.0040109b
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 8
mov dword [0x40648c], eax
mov eax, dword [0x406370]
push 0
xor ecx, ecx
xchg ecx, eax
call fcn.00402e53
call fcn.00402dec
mov eax, ecx
call fcn.00404a77
mov ebx, 0x406490
call fcn.004050d9
mov eax, 0xf
mov dword [ebp - 0x2c], eax
mov eax, 0x4016d1
mov ecx, dword [ebp - 0x2c]
add eax, ecx
mov dword [ebp - 0x194], eax
mov ebx, 0x406490
call fcn.00405646
push eax
push dword [0x406378]
call dword [ebp - 0x194]
mov ebx, 0x406490
call fcn.00405646
mov dword [0x406378], eax
mov dword [0x406360], 0x240000
sub esp, 4
xor eax, eax
mov ebx, esp
push ebx
mov dword [ebx], eax
push 2
push dword [0x406360]
mov eax, 0x1000
mov ecx, dword [0x40635c]
add eax, ecx
push eax
call dword [0x406348]
add esp, 4
push dword [0x406360]
mov eax, 0x1000
mov ecx, dword [0x40635c]
add eax, ecx
push eax
call fcn.00401662
mov dword [0x406364], eax
mov ecx, 0x4020be
mov eax, 1
lea ebx, [ebp - 0x198]
xor edx, edx
call fcn.00403337
sub esp, 4
mov edx, 0x4065e7
call fcn.004055ae
mov ebx, esp
call fcn.0040518b
push dword [0x40635c]
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00404e80
pop eax
add esp, 4
call fcn.004052e6
mov esi, eax
sub esp, 4
mov eax, 0xa
mov ebx, esp
push ebx
mov word [ebx], ax
lea ebx, [ebp - 0x190]
push ebx
call esi
add esp, 4
push dword [0x40635c]
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
call fcn.004052e6
mov ebx, fcn.0040215a
call fcn.00405519
mov eax, dword [ebp - 0x7c]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10