Function at 0x403e00
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x1a4
mov eax, dword [esp + 0x1ac]
push ebx
push ebp
mov ebp, ecx
mov ecx, dword [esp + 0x1b0]
push esi
push edi
mov dword [ebp + 0x1a0], ecx
mov ecx, ebp
mov dword [ebp + 0x70], eax
call fcn.004269d0
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
call fcn.00440b20
mov al, byte [ebp + 0x129]
add esp, 4
test al, 1
je 0x403f57
mov ebx, dword [ebp + 0x119]
lea esi, [ebp + 0xb4]
lea ecx, [esi + 4]
cmp ecx, esi
jbe 0x403e67
sub ecx, esi
mov edi, esi
dec ecx
shr ecx, 2
inc ecx
xor eax, eax
rep stosd dword es:[edi], eax
push 1
mov ecx, esi
call fcn.00423a20
call dword [sym.imp.WINMM.dll_joyGetNumDevs]
cmp ebx, eax
jae 0x403f3b
lea edx, [esp + 0x10]
push edx
push ebx
call dword [sym.imp.WINMM.dll_joyGetPos]
test eax, eax
jne 0x403f3b
lea eax, [esp + 0x20]
push 0x194
push eax
push ebx
call dword [sym.imp.WINMM.dll_joyGetDevCapsA]
test eax, eax
jne 0x403f3b
xor edi, edi
mov ecx, esi
push edi
call fcn.004073b0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
sub eax, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov edx, eax
fild qword [esp + 0x10]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], edi
shr edx, 1
fdivr dword [0x53791c]
add edx, ecx
mov ecx, dword [esp + 0x4c]
sub eax, ecx
mov dword [esi + 0xc], edx
mov dword [esp + 0x10], eax
mov edx, eax
mov eax, dword [esp + 0x58]
mov dword [esi + 8], ebx
shr edx, 1
add edx, ecx
mov ecx, dword [esp + 0x54]
sub eax, ecx
mov dword [esi + 0x14], edx
mov edx, eax
mov dword [esi + 0x24], edi
shr edx, 1
add edx, ecx
mov dword [esi + 0x28], edi
mov dword [esi + 0x1c], edx
mov dword [esi + 0x2c], edi
fstp dword [esi + 0x10]
fild qword [esp + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
fdivr dword [0x53791c]
fstp dword [esi + 0x18]
fild qword [esp + 0x10]
fdivr dword [0x53791c]
fstp dword [esi + 0x20]
jmp 0x403f3d
xor edi, edi
lea edx, [ebp + 0xb0]
lea ecx, [edx + 4]
cmp ecx, edx
jbe 0x403f59
sub ecx, edx
mov edi, edx
dec ecx
shr ecx, 2
inc ecx
xor eax, eax
rep stosd dword es:[edi], eax
xor edi, edi
push 0x3f4
push edi
push edi
push 0x5570f0
push 0x537918
call fcn.0043f950
mov ebx, eax
add esp, 0x14
cmp ebx, edi
je 0x403f7a
inc dword [ebx]
mov eax, dword [ebp + 0x7c]
lea esi, [ebp + 0x7c]
cmp eax, edi
je 0x403f9b
mov edx, dword [eax]
dec edx
mov dword [eax], edx
mov eax, dword [esi]
cmp dword [eax], edi
jne 0x403f99
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
add esp, 4
mov dword [esi], edi
mov edx, ebx
mov dword [esi], ebx
cmp edx, edi
setne al
test al, al
je 0x40402e
lea edx, [ebp + 0x8c]
mov ecx, 0x5808a4
push edx
call fcn.0040eb20
lea eax, [ebp + 0x80]
push eax
call fcn.0040b650
add esp, 4
lea ecx, [ebp + 0x84]
push ecx
mov ecx, 0x5809cc
call fcn.004263b0
lea edx, [ebp + 0x90]
push edx
call fcn.0041dfa0
lea eax, [ebp + 0x78]
push eax
call fcn.00412360
lea ecx, [ebp + 0x74]
push ecx
call fcn.00410ff0
lea edx, [ebp + 0x88]
push edx
call fcn.00410f00
add esp, 0x10
test al, al
je 0x40403b
add ebp, 0x94
push ebp
call fcn.00410610
add esp, 4
test al, al
je 0x40403b
push esi
mov bl, 1
call fcn.0040f780
add esp, 4
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a4
ret 8
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x1a4
ret 8