Function at 0x40b660
Capabilities:
Terminate process

Disassembly:
sub esp, 0x70
mov eax, dword [0x433818]
xor eax, esp
mov dword [esp + 0x6c], eax
push esi
push 0x4b
call fcn.00407900
mov eax, dword [0x436f28]
add esp, 4
cmp eax, 4
jne 0x40b68a
mov esi, 0x4254e8
jmp 0x40b699
cmp eax, 5
mov esi, 0x4254c4
je 0x40b699
mov esi, 0x4254a0
push 0x424584
lea eax, [esp + 8]
push 0x436f98
push eax
call fcn.0040ed1d
add esp, 0xc
test eax, eax
je 0x40b6cf
push 0x40
push 0x425488
push 0x425464
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
call fcn.0040e61c
mov edx, dword [esp + 4]
push 0x64
lea ecx, [esp + 0x10]
push ecx
push 0x424c34
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x14]
push 0x437174
push 0x437200
push 0x4374d4
push str._ld__ld__ld
push eax
call fcn.0040ec3c
mov eax, dword [0x4374d4]
add esp, 0x24
cmp eax, 0x3c
jne 0x40b71a
mov eax, 6
mov dword [0x4374d4], eax
cmp eax, dword [0x436f28]
je 0x40b739
push 0x40
push 0x425488
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
call fcn.0040e61c
mov edx, dword [esp + 4]
push edi
push 0x64
lea ecx, [esp + 0x14]
push ecx
push 0x424c34
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x18]
push 0x4375d0
push 0x4373e8
push 0x437188
push str._lf__lf__lf
push eax
call fcn.0040ec3c
mov ecx, dword [esp + 0x2c]
push 0x4373f8
push 0x4374b8
push 0x4374c0
push str._lf__lf__lf
push ecx
call fcn.0040ec3c
mov eax, dword [esp + 0x40]
push 0x64
lea edx, [esp + 0x4c]
push edx
push 0x424c34
push eax
call fcn.0040ec3c
mov ecx, dword [esp + 0x50]
add esp, 0x48
push 0x437400
push 0x437170
push str._ld__ld
push ecx
call fcn.0040ec3c
mov edx, dword [esp + 0x18]
push 0x4373f0
push 0x4371b0
push str._lf__lf
push edx
call fcn.0040ec3c
fld qword [0x4373f0]
fld st(0)
add esp, 0x20
fld1
mov edi, 1
fadd st(1), st(0)
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x40b83e
fstp st(0)
mov esi, 0x437210
jmp 0x40b802
fstp st(1)
mov eax, dword [esp + 8]
fstp st(0)
push esi
push 0x424550
push eax
call fcn.0040ec3c
add edi, 1
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
add esp, 0xc
fld qword [0x4373f0]
add esi, 8
fld st(0)
fld1
fadd st(1), st(0)
fxch st(3)
fcompp
fnstsw ax
test ah, 5
jnp 0x40b800
fxch st(1)
fadd st(1), st(0)
mov edi, 1
fcompp
fnstsw ax
test ah, 5
jp 0x40b889
mov esi, 0x4372c0
mov ecx, dword [esp + 8]
push esi
push 0x424550
push ecx
call fcn.0040ec3c
add edi, 1
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
add esp, 0xc
fld qword [0x4373f0]
add esi, 8
fadd qword [0x424300]
fcompp
fnstsw ax
test ah, 0x41
je 0x40b853
mov edx, dword [esp + 8]
push 0x4371e4
push 0x4372b0
push 0x4371a4
push str._ld__ld__ld
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x1c]
push 0x437368
push 0x437508
push 0x4371f8
push 0x4373e0
push 0x4373d8
push str._lf__lf__lf__lf__lf
push eax
call fcn.0040ec3c
mov ecx, dword [esp + 0x38]
push 0x4372a8
push 0x437388
push 0x4374b0
push str._lf__lf__lf
push ecx
call fcn.0040ec3c
mov edx, dword [esp + 0x4c]
add esp, 0x44
push 0x4374e8
push 0x437168
push 0x4371e8
push str._lf__lf__lf
push edx
call fcn.0040ec3c
mov ecx, dword [esp + 0x1c]
push 0x64
lea eax, [esp + 0x28]
push eax
push 0x424c34
push ecx
call fcn.0040ec3c
mov edx, dword [esp + 0x2c]
push 0x437510
push 0x43739c
push 0x4371e0
push str._ld__ld__ld
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x40]
push 0x437204
push 0x424938
push eax
call fcn.0040ec3c
mov ecx, dword [esp + 0x4c]
add esp, 0x44
push 0x4375d8
push 0x424550
push ecx
call fcn.0040ec3c
mov edx, dword [esp + 0x14]
push 0x4373d0
push 0x4373a0
push str._lf__lf
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x24]
push 0x437370
push 0x4374f8
push str._lf__lf
push eax
call fcn.0040ec3c
mov edx, dword [esp + 0x34]
push 0x64
lea ecx, [esp + 0x40]
push ecx
push 0x424c34
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x44]
push 0x4374e0
push 0x4373c0
push 0x437390
push str._lf__lf__lf
push eax
call fcn.0040ec3c
mov ecx, dword [esp + 0x58]
add esp, 0x50
push 0x4371a8
push 0x4371d8
push str._lf__lf
push ecx
call fcn.0040ec3c
mov edx, dword [esp + 0x18]
push 0x437178
push 0x424550
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x24]
push 0x437500
push 0x437358
push str._lf__lf
push eax
call fcn.0040ec3c
mov eax, dword [0x4374d4]
add esp, 0x2c
cmp eax, 4
je 0x40ba2e
cmp eax, 5
jne 0x40ba79
mov edx, dword [esp + 8]
push 0x64
lea ecx, [esp + 0x14]
push ecx
push 0x424c34
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x18]
push 0x437398
push 0x424938
push eax
call fcn.0040ec3c
mov ecx, dword [esp + 0x24]
push 0x4373b0
push 0x437378
push str._lf__lf
push ecx
call fcn.0040ec3c
mov eax, dword [0x4374d4]
add esp, 0x2c
cmp eax, 6
jne 0x40bbc7
mov eax, dword [esp + 8]
push 0x64
lea edx, [esp + 0x14]
push edx
push 0x424c34
push eax
call fcn.0040ec3c
mov ecx, dword [esp + 0x18]
push 0x4371f0
push 0x437180
push 0x4374d0
push 0x4372b4
push 0x425440
push ecx
call fcn.0040ec3c
mov edx, dword [esp + 0x30]
push 0x4371c0
push 0x4375c8
push 0x437518
push 0x437160
push 0x424678
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x48]
add esp, 0x40
push 0x4373a8
push 0x4371b8
push 0x437380
push 0x437360
push 0x424678
push eax
call fcn.0040ec3c
mov ecx, dword [esp + 0x20]
push 0x437690
push 0x437688
push str._lf__lf
push ecx
call fcn.0040ec3c
mov edx, dword [esp + 0x30]
push 0x4375c0
push 0x437198
push 0x4374d8
push 0x4373c8
push 0x4374a8
push str._lf__lf__lf__lf__lf
push edx
call fcn.0040ec3c
fld qword [0x425438]
fcom qword [0x437688]
add esp, 0x44
fnstsw ax
test ah, 0x41
je 0x40bb6a
fcomp qword [0x437690]
fnstsw ax
test ah, 0x41
jne 0x40bba6
jmp 0x40bb6c
fstp st(0)
fld qword [0x4373c8]
fsub qword [0x4374d8]
fld qword [0x425070]
fmul st(1), st(0)
fld qword [0x4374a8]
fdiv st(2), st(0)
fxch st(2)
fstp qword [0x437688]
fld qword [0x437198]
fsub qword [0x4375c0]
fmulp st(1)
fdivrp st(1)
fstp qword [0x437690]
mov eax, dword [esp + 8]
push 0x4374c8
push 0x4371c8
push 0x437190
push str._lf__lf__lf
push eax
call fcn.0040ec3c
add esp, 0x14
mov edx, dword [esp + 8]
push 0x64
lea ecx, [esp + 0x14]
push ecx
push 0x424c34
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x18]
push 0x4374f0
push 0x437680
push str._lf__lf
push eax
call fcn.0040ec3c
fld qword [0x4374f0]
fld st(0)
add esp, 0x20
fld1
mov edi, 1
fadd st(1), st(0)
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x40bc5e
fstp st(0)
mov esi, 0x437528
jmp 0x40bc22
fstp st(1)
mov ecx, dword [esp + 8]
fstp st(0)
push esi
push 0x424550
push ecx
call fcn.0040ec3c
add edi, 1
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
add esp, 0xc
fld qword [0x4374f0]
add esi, 8
fld st(0)
fld1
fadd st(1), st(0)
fxch st(3)
fcompp
fnstsw ax
test ah, 5
jnp 0x40bc20
fxch st(1)
fld st(1)
mov edi, 1
fadd st(1)
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x40bcbe
fstp st(0)
mov esi, 0x437410
jmp 0x40bc82
fstp st(1)
mov edx, dword [esp + 8]
fstp st(0)
push esi
push 0x424550
push edx
call fcn.0040ec3c
add edi, 1
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
add esp, 0xc
fld qword [0x4374f0]
add esi, 8
fld st(0)
fld1
fadd st(1), st(0)
fxch st(3)
fcompp
fnstsw ax
test ah, 5
jnp 0x40bc80
fxch st(1)
fadd st(1), st(0)
mov edi, 1
fcompp
fnstsw ax
test ah, 5
jp 0x40bd09
mov esi, 0x4375e8
mov eax, dword [esp + 8]
push esi
push 0x424550
push eax
call fcn.0040ec3c
add edi, 1
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
add esp, 0xc
fld qword [0x4374f0]
add esi, 8
fadd qword [0x424300]
fcompp
fnstsw ax
test ah, 0x41
je 0x40bcd3
mov edx, dword [esp + 8]
push 0x64
lea ecx, [esp + 0x14]
push ecx
push 0x424c34
push edx
call fcn.0040ec3c
mov eax, dword [esp + 0x18]
push eax
call fcn.0040ea83
fld qword [0x437188]
fabs
add esp, 0x14
cmp dword [0x4374d4], 4
fstp qword [0x437188]
fld qword [0x4373e8]
pop edi
fabs
fstp qword [0x4373e8]
fld qword [0x4375d0]
fabs
fstp qword [0x4375d0]
fld qword [0x4374c0]
fabs
fstp qword [0x4374c0]
fld qword [0x4374b8]
fabs
fstp qword [0x4374b8]
fld qword [0x4373f8]
fabs
fstp qword [0x4373f8]
fld qword [0x4374f8]
fld qword [0x424370]
fdiv st(1), st(0)
fxch st(1)
fstp qword [0x4374f8]
fld qword [0x437370]
fdiv st(1)
fstp qword [0x437370]
fld qword [0x437390]
fdiv st(1)
fst qword [0x437390]
fld qword [0x4373c0]
fdiv st(2)
fst qword [0x4373c0]
fld qword [0x4374e0]
fdiv st(3)
fstp qword [0x4374e0]
fld qword [0x4371d8]
fdiv st(3)
fstp qword [0x4371d8]
fld qword [0x4371a8]
fdiv st(3)
fstp qword [0x4371a8]
fld qword [0x437358]
fdiv st(3)
fstp qword [0x437358]
fld qword [0x437500]
fdiv st(3)
fstp qword [0x437500]
fld qword [0x437178]
fdiv st(3)
fstp qword [0x437178]
fld qword [0x437508]
fdivrp st(3)
fxch st(2)
fstp qword [0x437508]
jne 0x40be3c
fstp qword [0x4371d8]
fstp qword [0x4371a8]
jmp 0x40be40
fstp st(0)
fstp st(0)
push 0x52
call fcn.00407900
push 0x43
call fcn.00407900
mov ecx, dword [esp + 0x78]
add esp, 8
pop esi
xor ecx, esp
call fcn.0040e6a8
add esp, 0x70
ret