Function at 0x41c5d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
cmp dword [edi + 8], 0x1b
mov esi, ecx
mov dword [esp + 0x44], esi
jne 0x41c616
mov ebx, dword [ebp + 8]
push 0
push 0x6e8574
push 0x6d8b80
push 0
push ebx
call fcn.0060807c
add esp, 0x14
push eax
push esi
call fcn.0041c200
mov edi, esi
call fcn.0041b700
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 8]
cmp eax, 0x13
jne 0x41c88a
mov ebx, dword [ebp + 8]
push 0
push 0x6e8574
push 0x6d8b80
push 0
push ebx
mov byte [esp + 0x53], 0
call fcn.0060807c
add esp, 0x14
test eax, eax
je 0x41c653
push eax
push esi
call fcn.0041c200
test al, al
setne byte [esp + 0x3f]
cmp byte [esi + 0xc], 0
jne 0x41c6b2
lea edx, [esi + 0x40]
mov ecx, edx
call fcn.004b56b0
fldz
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x41c6aa
lea ecx, [esp + 0x58]
call fcn.004b5210
fstp qword [esp + 0x60]
fld1
mov eax, ecx
fstp qword [esp + 0x68]
mov ebx, edx
fld qword [edi + 0x10]
mov dword [esp + 0x58], 0x4153b0
fst qword [esp + 0x70]
fadd qword [0x6c13a8]
fstp qword [esp + 0x78]
call fcn.004b5610
mov ebx, dword [ebp + 8]
jmp 0x41c6ac
fstp st(0)
cmp byte [esi + 0xc], 0
je 0x41c70a
lea edx, [esi + 0x40]
mov ecx, edx
call fcn.004b56b0
fcomp qword [0x6c0a98]
fnstsw ax
test ah, 0x44
jnp 0x41c70a
lea ecx, [esp + 0x58]
call fcn.004b5210
mov ecx, edx
mov dword [esp + 0x58], 0x4a79e0
call fcn.004b56b0
fstp qword [esp + 0x60]
fldz
lea eax, [esp + 0x58]
fstp qword [esp + 0x68]
mov ebx, edx
fld qword [edi + 0x10]
fst qword [esp + 0x70]
fadd qword [0x6c1318]
fstp qword [esp + 0x78]
call fcn.004b5610
mov ebx, dword [ebp + 8]
fld qword [edi + 0x10]
sub esp, 8
lea edi, [esi + 0x40]
fstp qword [esp]
call fcn.004b54f0
fstp dword [esp + 0x44]
cmp byte [esi + 0xc], 0
fld dword [esp + 0x44]
fldz
je 0x41c780
fld st(0)
fucomp st(2)
fnstsw ax
test ah, 0x44
jp 0x41c780
fstp st(1)
mov eax, ebx
fstp st(0)
call fcn.0049b700
mov esi, eax
test esi, esi
je 0x41c778
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
mov ecx, esi
call edx
test eax, eax
je 0x41c778
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
mov ecx, esi
call edx
mov edx, dword [eax]
push 0
mov ecx, eax
mov eax, dword [edx + 0x14]
push 0
call eax
mov eax, 0xf4242
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
fld dword [esi + 0x70]
fld st(2)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41c799
fxch st(1)
fst dword [esi + 0x70]
or dword [ebx + 8], 1
fxch st(1)
cmp dword [ebx + 0x248], 0x100
jae 0x41c7f7
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x41c7b2
fstp st(1)
jmp 0x41c7c5
fstp st(0)
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x41c7c3
fstp st(1)
jmp 0x41c7c5
fstp st(0)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fmul qword [0x6c0b80]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fistp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
cmp dword [ebx + 0x248], eax
je 0x41c7ef
or dword [ebx + 8], 2
mov dword [ebx + 0x248], eax
jmp 0x41c7fb
fstp st(1)
fstp st(0)
mov ecx, dword [ebp + 0xc]
fld qword [ecx + 0x10]
sub esp, 8
lea edi, [esi + 0x10]
fstp qword [esp]
call fcn.004b54f0
fstp dword [esp + 0x44]
mov edx, dword [ebp + 0xc]
fld qword [edx + 0x10]
sub esp, 8
lea edi, [esi + 0x28]
fstp qword [esp]
call fcn.004b54f0
fstp dword [esp + 0x40]
fld dword [esi + 0xa0]
fld dword [esp + 0x44]
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
fld dword [esp + 0x40]
jp 0x41c857
fld dword [esi + 0xa4]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41c86b
fxch st(1)
fstp dword [esi + 0xa0]
fstp dword [esi + 0xa4]
or dword [ebx + 8], 1
jmp 0x41c86f
fstp st(1)
fstp st(0)
cmp dword [ebx + 8], 0
jne 0x41c87c
cmp byte [esp + 0x3f], 0
je 0x41c8ab
mov eax, 0xf4240
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0xe
jne 0x41c968
cmp byte [esi + 0x64], 0
jne 0x41c8b9
mov eax, str.ss_filmstrip
call fcn.0046a2d0
test eax, eax
je 0x41c8ab
mov byte [esi + 0x64], 1
mov eax, 0xf4241
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor bl, bl
call fcn.00495a20
fsub qword [esi + 0x78]
fcomp qword [0x6a5f68]
fnstsw ax
test ah, 0x41
jne 0x41c8d2
mov bl, 1
fld qword [edi + 0x10]
test bl, bl
sete bl
call fcn.0066a3f0
push esi
mov edi, eax
call fcn.0041be70
call fcn.00495a20
fstp qword [esi + 0x78]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x48]
push edx
call eax
mov edx, dword [ebp + 0xc]
fld dword [edx + 0x54]
mov ecx, eax
fild dword [ecx]
fcompp
fnstsw ax
test ah, 0x41
jp 0x41c95a
fld dword [edx + 0x54]
fild dword [ecx + 8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x41c95a
fld dword [edx + 0x58]
fild dword [ecx + 4]
fcompp
fnstsw ax
test ah, 0x41
jp 0x41c95a
fld dword [edx + 0x58]
fild dword [ecx + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x41c95a
mov ecx, dword [edx + 0x54]
mov dword [esi + 0xb0], ecx
mov edx, dword [edx + 0x58]
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb8], 2
mov eax, 0xf4240
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 5
jne 0x41c9f4
cmp byte [edi + 0x6c], 0
jne 0x41c8ab
mov eax, 0xb
mov edi, 0x6a6dd0
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], 0
call fcn.00459750
push esi
xor ecx, ecx
xor eax, eax
lea edx, [esp + 0x44]
lea esi, [esp + 0x5c]
call fcn.00401830
lea edi, [esp + 0x40]
call fcn.00401700
mov edi, dword [ebp + 0xc]
fld dword [edi + 0x5c]
call fcn.0066a3f0
fld dword [edi + 0x60]
mov esi, eax
call fcn.0066a3f0
mov ecx, dword [ebp + 8]
mov dword [esp + 0x74], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x70]
lea edx, [esp + 0x58]
push edx
mov dword [esp + 0x74], esi
call eax
lea edi, [esp + 0x6c]
call fcn.00401700
mov eax, 0xf4240
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0xd
fldz
jne 0x41cbb1
fst dword [esp + 0x48]
lea edx, [esi + 0xa0]
lea ecx, [esp + 0x48]
fstp dword [esp + 0x4c]
call fcn.0041d3d0
test al, al
je 0x41cb2e
lea ecx, [esi + 0x40]
call fcn.004b56b0
fcomp qword [0x6a5f28]
fnstsw ax
test ah, 0x44
jp 0x41cb2e
cmp byte [esi + 0x60], 0
je 0x41ca9a
mov eax, 0x12
mov edi, str.slingshot_maximize
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], 0
call fcn.00459750
mov ecx, dword [ebp + 8]
push ecx
xor ecx, ecx
xor eax, eax
lea edx, [esp + 0x44]
lea esi, [esp + 0x5c]
call fcn.00401830
lea edi, [esp + 0x40]
call fcn.00401700
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x70]
mov eax, esi
push eax
call edx
lea edi, [esp + 0x6c]
call fcn.00401700
mov eax, 0xf4240
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea edx, [esi + 0x90]
lea ecx, [esi + 0x80]
push 1
mov eax, edx
call fcn.0041b650
fstp dword [esp + 0x44]
fild dword [esi + 0xbc]
add esp, 4
push 0
lea eax, [esp + 0x4c]
fstp dword [esp + 0x4c]
fild dword [esi + 0xc0]
fstp dword [esp + 0x50]
fild dword [esi + 0xc4]
fstp dword [esp + 0x54]
fild dword [esi + 0xc8]
fstp dword [esp + 0x58]
call fcn.0041b650
fstp dword [esp + 0x48]
add esp, 4
fld1
fld dword [esp + 0x44]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x41cb0b
fdivr dword [esp + 0x40]
fstp dword [esp + 0x40]
jmp 0x41cb0d
fstp st(0)
fld dword [0x6a5f74]
push ecx
fstp dword [esp]
push 0
mov eax, edx
call fcn.0041b650
fdiv dword [esp + 0x48]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
jmp 0x41cb94
fldz
mov ecx, dword [esi + 0xcc]
lea eax, [esp + 0x48]
fst dword [esp + 0x48]
push eax
fstp dword [esp + 0x50]
mov eax, dword [esi + 0x68]
push ecx
call fcn.00423640
fld dword [0x6a1dfc]
sub esp, 8
fstp dword [esp + 4]
xor eax, eax
fldz
mov edx, esi
fstp dword [esp]
call fcn.0041bd10
fld dword [0x6a1dfc]
sub esp, 8
fstp dword [esp + 4]
fldz
mov eax, 1
mov edx, esi
fstp dword [esp]
call fcn.0041bd10
fld dword [0x6a5f74]
sub esp, 8
fstp dword [esp + 4]
fld1
mov eax, 2
fstp dword [esp]
mov edx, esi
call fcn.0041bd10
mov eax, 0xf4240
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 0x60], 0
je 0x41cbf7
fst dword [esp + 0x48]
lea edx, [esi + 0xa0]
lea ecx, [esp + 0x48]
fstp dword [esp + 0x4c]
call fcn.0041d3a0
test al, al
jne 0x41cbeb
lea ecx, [esi + 0x40]
call fcn.004b56b0
fcomp qword [0x6a5f28]
fnstsw ax
test ah, 0x44
jnp 0x41c8ab
test byte [edi + 0x64], 4
jne 0x41c8ab
jmp 0x41cbf9
fstp st(0)
mov ebx, dword [ebp + 8]
mov edx, dword [ebx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x48]
push eax
mov ecx, ebx
call edx
fld dword [edi + 0x54]
mov ecx, eax
fild dword [ecx]
fcompp
fnstsw ax
test ah, 0x41
jp 0x41ccb1
fld dword [edi + 0x54]
fild dword [ecx + 8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x41ccb1
fld dword [edi + 0x58]
fild dword [ecx + 4]
fcompp
fnstsw ax
test ah, 0x41
jp 0x41ccb1
fld dword [edi + 0x58]
fild dword [ecx + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x41ccb1
cmp dword [edi + 8], 2
jne 0x41cc61
mov eax, ebx
call fcn.0049b700
call fcn.004b1c00
cmp dword [edi + 8], 3
jne 0x41cc73
mov eax, ebx
call fcn.0049b700
call fcn.004b1b40
cmp dword [edi + 8], 1
jne 0x41ccb1
mov eax, ebx
call fcn.0049b700
call fcn.004b1b40
mov eax, dword [edi + 0x5c]
mov edx, dword [ebp + 0x10]
mov dword [esi + 0xa8], eax
mov ecx, dword [edi + 0x60]
mov dword [esi + 0xac], ecx
push 0
mov dword [edx], ebx
call fcn.0041ced0
mov eax, 0xf4240
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 8]
cmp eax, 3
jne 0x41cdf3
mov eax, ebx
call fcn.0040fa40
mov edx, dword [eax]
mov edx, dword [edx + 0x28]
lea ecx, [esp + 0x48]
push ecx
mov ecx, eax
call edx
fld dword [edi + 0x5c]
mov ecx, eax
fild dword [ecx]
fcompp
fnstsw ax
test ah, 0x41
jp 0x41cde5
fld dword [edi + 0x5c]
fild dword [ecx + 8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x41cde5
fld dword [edi + 0x60]
fild dword [ecx + 4]
fcompp
fnstsw ax
test ah, 0x41
jp 0x41cde5
fld dword [edi + 0x60]
fild dword [ecx + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x41cde5
mov eax, dword [edi + 0x5c]
mov ecx, dword [edi + 0x60]
mov dword [esp + 0x48], eax
fld dword [esp + 0x48]
fsub dword [esi + 0xa8]
mov dword [esp + 0x4c], ecx
mov edx, eax
add esi, 0x10
fstp dword [esp + 0x48]
mov ecx, esi
fld dword [esp + 0x4c]
fsub dword [esi + 0x9c]
mov dword [esi + 0x98], edx
mov eax, dword [edi + 0x60]
mov dword [esi + 0x9c], eax
fstp dword [esp + 0x4c]
call fcn.004b56b0
fadd dword [esp + 0x48]
fstp dword [esp + 0x40]
call fcn.00415350
fldz
mov edi, dword [esp + 0x44]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x48]
xor eax, eax
mov edx, edi
fstp dword [esp]
call fcn.0041bd10
lea esi, [edi + 0x28]
mov ecx, esi
call fcn.004b56b0
fadd dword [esp + 0x4c]
fstp dword [esp + 0x44]
call fcn.00415350
fldz
sub esp, 8
fstp dword [esp + 4]
mov eax, 1
fld dword [esp + 0x4c]
mov edx, edi
fstp dword [esp]
call fcn.0041bd10
fld dword [esp + 0x40]
mov edx, dword [edi + 0xcc]
fstp dword [esp + 0x48]
fld dword [esp + 0x44]
mov eax, dword [edi + 0x68]
lea ecx, [esp + 0x48]
fstp dword [esp + 0x4c]
push ecx
push edx
call fcn.00423640
mov eax, 0xf4240
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 4
jne 0x41c8ab
fldz
push 1
fst dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
fstp dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], ecx
call fcn.0041ced0
pop edi
pop esi
mov eax, 0xf4240
pop ebx
mov esp, ebp
pop ebp
ret 0xc