Function at 0x443a1c
Capabilities:
Accept command line arguments
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x254
mov eax, dword [0x47d084]
xor eax, esp
mov dword [esp + 0x250], eax
push ebx
mov dword [esp + 0x10], 0x53
push esi
mov dword [esp + 0x20], 0x20
mov dword [esp + 0x18], 0x2b
push edi
push 0x21
pop eax
mov dword [esp + 0x20], eax
mov esi, ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
sub edx, ecx
mov dword [esp + 0x18], edx
add dword [esp + 0x18], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
imul ecx, ecx, 0x12
cdq
push 0x13
pop edi
idiv edi
add esi, 0x70
mov dword [esp + 0x38], esi
sub eax, ecx
add eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
and dword [esi + 0x10], 0
sub eax, 9
cmp dword [esi + 0x14], 8
mov dword [esp + 0x24], eax
jb 0x443aa7
mov eax, dword [esi]
jmp 0x443aa9
mov eax, esi
xor ecx, ecx
mov word [eax], cx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
and dword [esp + 0x34], 0
mov edi, eax
call fcn.0043f1f9
lea ecx, [esp + 0x34]
push ecx
push edi
call dword [eax + 0x1b0]
mov ebx, eax
test ebx, ebx
je 0x44437b
xor edi, edi
inc edi
cmp dword [esp + 0x34], edi
jle 0x44435e
push dword [0x47e8ac]
push dword [ebx + edi*4]
call fcn.004132fc
pop ecx
pop ecx
test eax, eax
je 0x443b75
mov dword [esp + 0x20], 0x4c
mov dword [esp + 0x1c], 0x1f
mov dword [esp + 0x24], 0x22
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
imul eax, ecx
mov ecx, dword [esp + 0x1c]
imul ecx, ecx, 0x30
sub eax, ecx
mov ecx, dword [esp + 0x20]
sub eax, ecx
mov ecx, dword [esp + 0x24]
sub eax, ecx
mov ecx, dword [esp + 0x1c]
lea eax, [eax + ecx + 0x4b]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jne 0x443b65
mov eax, dword [esp + 0x24]
imul eax, eax, 0x57
add eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
imul eax, ecx
mov dword [esp + 0x1c], eax
inc edi
cmp edi, dword [esp + 0x34]
jl 0x443ae3
jmp 0x44435e
fld qword [0x4779f8]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fld qword [0x4779f0]
fmul st(1), st(0)
fld qword [esp + 0x10]
fmulp st(2)
fld qword [esp + 0x10]
fdiv qword [0x4779e8]
faddp st(2)
fld qword [esp + 0x10]
fsubp st(2)
fld qword [esp + 0x10]
fmul qword [0x4779e0]
fmul qword [0x4779d8]
fmul qword [esp + 0x10]
fsubp st(2)
fld qword [esp + 0x10]
faddp st(2)
fld qword [esp + 0x10]
faddp st(2)
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
fmul qword [esp + 0x10]
faddp st(2)
fxch st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x10]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fdiv qword [0x4779d0]
fsubp st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x4779c8]
fld qword [esp + 0x10]
fsub qword [0x4779c0]
faddp st(1)
fsub qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [0x4779b8]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x4779b0]
fadd qword [esp + 0x10]
fadd qword [0x4779a8]
fld qword [esp + 0x10]
fmul qword [0x4779a0]
faddp st(1)
fsub qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [0x477998]
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
fdiv qword [0x477990]
fsubp st(1)
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x10]
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fdiv qword [0x477988]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fadd qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x477980]
fdiv qword [0x477978]
fsubp st(1)
fld qword [esp + 0x10]
fmulp st(2)
fsubrp st(1)
fsub qword [esp + 0x10]
fsub qword [esp + 0x10]
lea eax, [edi + 1]
fadd qword [esp + 0x10]
fsub qword [esp + 0x10]
fadd qword [esp + 0x10]
fsub qword [0x477970]
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
faddp st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [0x477968]
fstp qword [esp + 0x10]
cmp eax, dword [esp + 0x34]
jge 0x443d0e
mov eax, dword [ebx + edi*4 + 4]
push eax
mov dword [esp + 0x2c], eax
call fcn.0041286e
pop ecx
mov ecx, dword [esp + 0x28]
call fcn.0040547f
fld qword [0x477a58]
lea eax, [edi + 4]
fstp qword [esp + 0x10]
fld qword [0x477a50]
fstp qword [esp + 0x28]
fld qword [esp + 0x10]
fadd qword [0x477a48]
fld qword [esp + 0x10]
fmul qword [0x477a40]
fmul qword [esp + 0x28]
fsubp st(1)
fld qword [esp + 0x10]
fmul qword [0x477a38]
fsubp st(1)
fadd qword [0x477a30]
fadd qword [esp + 0x28]
fsub qword [esp + 0x28]
fsub qword [0x477aa0]
fstp qword [esp + 0x28]
fld qword [esp + 0x28]
fsub qword [0x477a28]
fadd qword [esp + 0x10]
fadd qword [0x477a20]
fstp qword [esp + 0x28]
fld qword [esp + 0x28]
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x477a98]
fmul qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x477a18]
fdiv qword [0x4779d0]
faddp st(1)
fsub qword [esp + 0x10]
fadd qword [esp + 0x28]
mov dword [esp + 0x28], eax
fstp qword [esp + 0x10]
cmp eax, dword [esp + 0x34]
jge 0x44435e
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x44]
push eax
push dword [0x47e8b0]
push dword [ebx + edi*4 + 8]
call fcn.00413450
mov dword [esp + 0x24], 0x53
mov dword [esp + 0x30], 0x20
mov dword [esp + 0x28], 0x2b
push 0x21
pop eax
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
sub edx, ecx
mov dword [esp + 0x24], edx
add dword [esp + 0x24], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
imul ecx, ecx, 0x12
cdq
push 0x13
pop esi
idiv esi
sub eax, ecx
add eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
sub eax, 9
mov dword [esp + 0x30], eax
lea eax, [esp + 0x4c]
push eax
push dword [0x47e8b4]
push dword [ebx + edi*4 + 0xc]
call fcn.00413450
lea eax, [esp + 0x54]
push eax
push dword [0x47e8b4]
mov eax, dword [esp + 0x48]
push dword [ebx + eax*4]
call fcn.00413450
fld qword [0x477aa0]
fstp qword [esp + 0x34]
add esp, 0x24
fld qword [esp + 0x10]
fmul qword [0x477a90]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fld qword [0x477a88]
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
fmul qword [0x477a80]
fmul qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
fsubp st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fadd qword [0x477a78]
fsub qword [esp + 0x10]
fsub qword [0x477a70]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x10]
fadd qword [0x477a68]
fld qword [esp + 0x10]
fmulp st(2)
fld qword [esp + 0x10]
fmulp st(2)
fsubrp st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fadd qword [0x477a98]
fsub qword [esp + 0x10]
fsub qword [esp + 0x10]
fadd qword [esp + 0x10]
xor edi, edi
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x477a60]
fsubp st(1)
fstp qword [esp + 0x10]
cmp dword [esp + 0x44], edi
je 0x44435e
cmp dword [esp + 0x40], edi
je 0x44435e
cmp dword [esp + 0x3c], edi
je 0x44435e
push dword [esp + 0x44]
call fcn.00440c29
mov esi, eax
cmp esi, edi
je 0x4442f6
push 0x47ffcc
call fcn.004407a8
push eax
push dword [esp + 0x48]
push esi
call fcn.00440c08
push 0x47ffd0
call fcn.004407a8
push eax
push dword [esp + 0x44]
push esi
call fcn.00440c08
mov eax, dword [esp + 0x38]
cmp dword [eax + 0x14], 8
jb 0x443f7d
mov eax, dword [eax]
push eax
call fcn.0043f8ea
test eax, eax
jne 0x4442d7
mov dword [esp + 0x18], 0x60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov dword [esp + 0x18], eax
xor eax, eax
push 0x206
mov word [esp + 0x54], ax
lea eax, [esp + 0x56]
push edi
push eax
call fcn.004130a0
mov dword [esp + 0x24], 0x21
mov dword [esp + 0x1c], 0x29
mov dword [esp + 0x28], 0x39
mov dword [esp + 0x34], 0x13
mov dword [esp + 0x30], 0x1f
mov dword [esp + 0x2c], 0x2f
mov dword [esp + 0x44], 0x24
mov dword [esp + 0x54], 0x52
mov dword [esp + 0x58], 0xd
mov eax, dword [esp + 0x30]
sub eax, 0x53
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
sub ecx, eax
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x2c]
add esp, 0xc
sub eax, 0x60
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
push 0xffffffffffffffbd
pop ecx
sub ecx, eax
add ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jle 0x444076
mov eax, dword [esp + 0x4c]
add eax, dword [esp + 0x48]
add eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
lea eax, [eax + ecx + 0xd]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x38]
sub eax, ecx
mov dword [esp + 0x28], eax
lea eax, [esp + 0x50]
push eax
push esi
call fcn.0043f214
cmp word [esp + 0x50], di
je 0x44415f
lea eax, [esp + 0x50]
push eax
call fcn.0043f7b1
fld qword [0x477aa0]
fstp qword [esp + 0x10]
lea eax, [esp + 0x50]
fld qword [esp + 0x10]
push eax
fmul qword [0x477a90]
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fld qword [0x477a88]
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fmul qword [esp + 0x14]
fmul qword [0x477a80]
fmul qword [esp + 0x14]
fld qword [esp + 0x14]
fmul qword [esp + 0x14]
fsubp st(1)
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fadd qword [0x477a78]
fsub qword [esp + 0x14]
fsub qword [0x477a70]
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fsub qword [esp + 0x14]
fadd qword [0x477a68]
fld qword [esp + 0x14]
fmulp st(2)
fld qword [esp + 0x14]
fmulp st(2)
fsubrp st(1)
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fadd qword [0x477a98]
fsub qword [esp + 0x14]
fsub qword [esp + 0x14]
fadd qword [esp + 0x14]
fsub qword [esp + 0x14]
fld qword [esp + 0x14]
fmul qword [0x477a60]
fsubp st(1)
fstp qword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [esp + 0x18], 7
add dword [esp + 0x18], 0xffffffb6
add dword [esp + 0x18], 0x3f
fld qword [0x4779f8]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fld qword [0x4779f0]
fmul st(1), st(0)
fld qword [esp + 0x10]
fmulp st(2)
fld qword [esp + 0x10]
fdiv qword [0x4779e8]
faddp st(2)
fld qword [esp + 0x10]
fsubp st(2)
fld qword [esp + 0x10]
fmul qword [0x4779e0]
fmul qword [0x4779d8]
fmul qword [esp + 0x10]
fsubp st(2)
fld qword [esp + 0x10]
faddp st(2)
fld qword [esp + 0x10]
faddp st(2)
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
fmul qword [esp + 0x10]
faddp st(2)
fxch st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x10]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fdiv qword [0x4779d0]
fsubp st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x4779c8]
fld qword [esp + 0x10]
fsub qword [0x4779c0]
faddp st(1)
fsub qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [0x4779b8]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x4779b0]
fadd qword [esp + 0x10]
fadd qword [0x4779a8]
fld qword [esp + 0x10]
fmul qword [0x4779a0]
faddp st(1)
fsub qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [0x477998]
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
fdiv qword [0x477990]
fsubp st(1)
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [esp + 0x10]
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fdiv qword [0x477988]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fadd qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x477980]
fdiv qword [0x477978]
fsubp st(1)
fld qword [esp + 0x10]
fmulp st(2)
fsubrp st(1)
fsub qword [esp + 0x10]
fsub qword [esp + 0x10]
fadd qword [esp + 0x10]
fsub qword [esp + 0x10]
fadd qword [esp + 0x10]
fsub qword [0x477970]
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
faddp st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fsub qword [0x477968]
fstp qword [esp + 0x10]
mov dword [esp + 0x18], 0x60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov dword [esp + 0x18], eax
call fcn.0043f1f9
push esi
call dword [eax + 0x44]
fld qword [0x4779a0]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x477a10]
fsubp st(1)
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
fmul qword [esp + 0x10]
fsubp st(1)
fadd qword [0x477970]
fadd qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x477a08]
fmul qword [esp + 0x10]
fsubp st(1)
fsub qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x477a00]
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
mov dword [esp + 0x18], 0x60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
sub eax, ecx
push ebx
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
fld qword [0x4779a0]
pop edi
fstp qword [esp + 0xc]
pop esi
fld qword [esp + 8]
pop ebx
fld qword [esp + 4]
fmul qword [0x477a10]
fsubp st(1)
fld qword [esp + 4]
fmul qword [esp + 4]
fmul qword [esp + 4]
fsubp st(1)
fadd qword [0x477970]
fadd qword [esp + 4]
fld qword [esp + 4]
fmul qword [0x477a08]
fmul qword [esp + 4]
fsubp st(1)
fsub qword [esp + 4]
fstp qword [esp + 4]
fld qword [esp + 4]
fadd qword [esp + 4]
fstp qword [esp + 4]
fld qword [esp + 4]
fmul qword [0x477a00]
fadd qword [esp + 4]
fstp qword [esp + 4]
mov ecx, dword [esp + 0x250]
xor ecx, esp
call fcn.00410fce
mov esp, ebp
pop ebp
ret