Function at 0x40a470
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov ecx, dword [0x4a1bc4]
push ebx
push esi
push edi
lea eax, [ebp - 0x48]
push eax
xor ebx, ebx
push ecx
mov dword [0x4c8c70], ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ax, word [ebp - 0x44]
mov dx, word [ebp - 0x48]
mov ecx, dword [ebp - 0x40]
dec ecx
mov word [ebp - 0x18], dx
mov edx, dword [ebp - 0x3c]
mov word [ebp - 0x16], ax
lea eax, [ebp - 0x18]
mov word [ebp - 0x14], cx
mov ecx, dword [0x4a1bc4]
push eax
dec edx
push ecx
mov word [ebp - 0x12], dx
call fcn.0040e8b0
add esp, 8
test eax, eax
jne 0x40a4fb
call fcn.0044edd0
push 0xffffffffffffffff
call fcn.0044dd60
mov eax, dword [0x49eb34]
push eax
mov dword [0x4a576c], 1
mov esi, eax
call fcn.00449050
add esp, 8
mov dword [0x49eb34], esi
mov dword [0x4a576c], ebx
call fcn.00412560
mov ecx, dword [0x4a1bc4]
cmp ecx, eax
mov edi, dword [sym.imp.USER32.dll_IsIconic]
jne 0x40a5d9
push ecx
call edi
test eax, eax
jne 0x40a5d9
mov edx, dword [0x4a1bc4]
push 0x49eae4
push edx
call fcn.0040e8b0
add esp, 8
test eax, eax
je 0x40a581
mov ecx, dword [0x4a1bc4]
lea eax, [ebp - 0x18]
push eax
push ecx
call fcn.0040e8b0
add esp, 8
test eax, eax
je 0x40a581
call fcn.0040d5b0
test eax, eax
je 0x40a566
push 1
call fcn.00402da0
add esp, 4
jmp 0x40a606
call fcn.00411040
test eax, eax
jne 0x40a606
push ebx
call fcn.00402da0
add esp, 4
jmp 0x40a606
mov eax, dword [0x49eb34]
push eax
mov dword [0x4a576c], 1
mov esi, eax
call fcn.00449050
mov eax, dword [0x4a1bc4]
lea edx, [ebp - 0x18]
push edx
push eax
mov dword [0x49eb34], esi
mov dword [0x4a576c], ebx
call fcn.0040e8b0
add esp, 0xc
test eax, eax
je 0x40a5cd
push 0x7f00
push ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 1
call fcn.00402da0
add esp, 4
jmp 0x40a606
mov eax, dword [0x49eb34]
push eax
mov dword [0x4a576c], 1
mov esi, eax
call fcn.00449050
push 1
mov dword [0x49eb34], esi
mov dword [0x4a576c], ebx
call fcn.00402da0
add esp, 8
call fcn.0040a3b0
mov esi, 3
cmp eax, esi
jne 0x40a622
call fcn.0040efb0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x40a659
lea ecx, [ebp - 0x68]
push ecx
push 0x38
call fcn.0040c470
lea edx, [ebp - 0x68]
push edx
push 0x47a0c8
push 0x49eca1
mov byte [0x49eca0], 3
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push 0x49eb08
call fcn.0044e430
add esp, 4
test eax, eax
je 0x40a686
cmp dword [0x49eb08], 0x1b
jne 0x40b586
pop edi
mov dword [0x49eb08], esi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4a1bc4]
push eax
call edi
test eax, eax
jne 0x40b586
cmp dword [0x49ea88], ebx
jne 0x40a6b7
mov ecx, dword [0x49ea5c]
push 0x49eb0c
push 0x49eb08
push ecx
call fcn.0040c6f0
add esp, 0xc
cmp dword [0x49ea84], ebx
je 0x40a6df
cmp eax, ebx
mov ecx, dword [0x49eb0c]
jne 0x40a6cd
cmp ecx, ebx
je 0x40a6e5
push ecx
push eax
call fcn.0044ef10
add esp, 8
test eax, eax
jne 0x40b586
mov ecx, dword [0x49eb0c]
cmp dword [0x49eb08], 0x1b
jne 0x40a6f4
mov dword [0x49eb08], esi
cmp ecx, ebx
jne 0x40b586
mov edx, dword [0x479564]
push 0x4c8c70
push 0x49ea70
push edx
call fcn.0040c5d0
add esp, 0xc
test eax, eax
je 0x40b586
call fcn.0044db80
test eax, eax
jne 0x40b586
call fcn.0044c3b0
cmp dword [0x49eb48], 1
jne 0x40a778
fld dword [0x479580]
sub esp, 8
fstp qword [esp]
push 0x49ea94
call fcn.0044ee20
fld dword [0x479580]
add esp, 4
fstp qword [esp]
push 0x49ea98
call fcn.0044ee20
push 1
push 0x49ea94
push 0x49ea70
call fcn.0044c410
add esp, 0x18
cmp dword [0x49eb4c], ebx
je 0x40a804
mov eax, dword [0x49eb34]
cmp eax, ebx
je 0x40a804
cmp dword [0x49eb54], ebx
jne 0x40a804
cmp eax, 0x82
je 0x40a804
cmp eax, 0x8d
je 0x40a804
cmp eax, 0x8f
je 0x40a804
cmp eax, 0x90
je 0x40a804
fld dword [0x49ea94]
sub esp, 8
fsub dword [0x49eb38]
fstp qword [esp]
call sub.MSVCRT.dll_fabs
fstp qword [ebp - 8]
fld dword [0x49ea98]
fsub dword [0x49eb3c]
fstp qword [esp]
call sub.MSVCRT.dll_fabs
fcomp qword [ebp - 8]
add esp, 8
fnstsw ax
test ah, 1
je 0x40a7f8
mov eax, dword [0x49eb3c]
mov dword [0x49ea98], eax
jmp 0x40a804
mov ecx, dword [0x49eb38]
mov dword [0x49ea94], ecx
cmp dword [0x49ea84], ebx
je case.default.0x40b052
mov eax, dword [0x4c8c70]
cmp eax, 2
jne 0x40a85f
cmp dword [0x49ea88], ebx
je 0x40a846
mov dword [0x4c8c70], ebx
call fcn.0040c9f0
mov edx, dword [0x49eb34]
push edx
call fcn.00449050
add esp, 4
call fcn.0044edd0
jmp case.default.0x40b052
mov eax, dword [0x4a1bc4]
push eax
call fcn.0040dd90
add esp, 4
mov dword [0x4c8c70], ebx
jmp 0x40b27d
cmp eax, ebx
jne 0x40aeb0
cmp dword [0x49ea88], ebx
je 0x40b27d
xor esi, esi
call fcn.0040c9f0
mov ecx, dword [0x49eb34]
push ecx
call fcn.00449050
call fcn.0044edd0
push 4
push 0x49ea70
push 0x49ea74
call sub.MSVCRT.dll_memcmp
add esp, 0x10
test eax, eax
jne 0x40a96d
cmp dword [0x49ea90], ebx
jl 0x40a92a
cmp dword [0x49ea8c], ebx
jl 0x40a8c5
call fcn.00446a10
test eax, eax
je 0x40a8c5
mov esi, 1
push 2
call fcn.0044a7f0
push 3
call fcn.0044a7f0
lea edx, [ebp - 4]
push 2
push edx
call fcn.00447730
add esp, 0x10
test eax, eax
jle 0x40a92a
push 1
push 1
push ebx
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
call fcn.00448060
mov ecx, dword [0x49ec74]
mov edx, dword [ecx + 5]
lea eax, [ebp - 0x28]
push eax
push edx
push ebx
call fcn.00430a30
mov eax, dword [0x49ec74]
mov ecx, dword [eax + 5]
push 1
push ecx
push ebx
call fcn.0044a270
add esp, 0x24
mov esi, 1
cmp dword [0x49ea88], ebx
jg 0x40a936
cmp esi, ebx
je case.0x40a97b.0
push ebx
call fcn.004732c0
add esp, 4
cmp dword [0x4c6c34], ebx
mov dword [0x49ea88], ebx
mov dword [0x49ea8c], ebx
mov dword [0x49ea90], ebx
je case.default.0x40b052
mov dword [0x4c6c34], ebx
call fcn.0045e590
jmp case.default.0x40b052
mov ecx, dword [0x49ea88]
lea eax, [ecx + 1]
cmp eax, 0xd
ja case.0x40a97b.0
jmp dword [eax*4 + 0x40b590]
cmp dword [0x49ea8c], ebx
jl 0x40a998
call fcn.00446a10
test eax, eax
je 0x40a998
mov esi, 1
mov eax, dword [0x49eb3c]
mov edx, dword [0x49eb38]
mov ecx, dword [0x49ea94]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], edx
mov edx, dword [0x49ea98]
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
call fcn.0044d450
push 2
call fcn.0044a7f0
push 3
call fcn.0044a7f0
lea ecx, [ebp - 0x28]
push ecx
push 2
call fcn.00447f60
add esp, 0x14
test eax, eax
jle 0x40a932
push 1
push 1
push ebx
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
call fcn.00448060
mov eax, dword [0x49ec74]
mov ecx, dword [eax + 5]
lea edx, [ebp - 0x28]
push edx
push ecx
push ebx
call fcn.00430a30
mov edx, dword [0x49ec74]
mov eax, dword [edx + 5]
push 1
push eax
push ebx
call fcn.0044a270
add esp, 0x24
jmp 0x40a936
cmp ecx, 1
fld dword [0x49ea94]
fsub dword [0x49eb38]
fstp dword [ebp - 0x28]
fld dword [0x49ea98]
fsub dword [0x49eb3c]
fstp dword [ebp - 0x24]
jne 0x40aa53
push ecx
jmp 0x40aa60
cmp dword [0x49ea8c], ebx
jge 0x40aa5e
push ebx
jmp 0x40aa60
push 0xffffffffffffffff
push 1
push ebx
call fcn.00448060
mov edx, dword [0x49ec74]
mov eax, dword [edx + 5]
add esp, 0xc
lea ecx, [ebp - 0x28]
push ecx
push eax
push ebx
call fcn.00430a30
mov ecx, dword [0x49ec74]
mov edx, dword [ecx + 5]
push edx
push ebx
call fcn.0044a1d0
add esp, 0x14
jmp 0x40a936
mov ecx, dword [0x49eb3c]
mov edx, dword [0x49ea94]
mov eax, dword [0x49eb38]
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], eax
mov eax, dword [0x49ea98]
push ecx
lea edx, [ebp - 0x28]
push edx
mov dword [ebp - 0x1c], eax
call fcn.0044ca70
fdiv dword [0x479be8]
push 1
push 1
push ebx
fstp dword [ebp - 0x20]
call fcn.00448060
fld dword [ebp - 0x20]
mov ecx, dword [0x49ec74]
fstp qword [esp + 0xc]
mov edx, dword [ecx + 5]
add esp, 0xc
lea eax, [ebp - 0x28]
push eax
push edx
push ebx
call fcn.004338d0
mov eax, dword [0x49ec74]
mov ecx, dword [eax + 5]
push ecx
push ebx
call fcn.0044a1d0
add esp, 0x1c
jmp 0x40a936
mov ecx, dword [0x49ea94]
mov edx, dword [0x49eb38]
mov eax, dword [0x49eb3c]
mov dword [ebp - 0x20], ecx
fld dword [ebp - 0x20]
mov dword [ebp - 0x28], edx
fsub dword [ebp - 0x28]
mov edx, dword [0x49ea98]
sub esp, 8
fstp qword [esp]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], edx
call sub.MSVCRT.dll_fabs
fdiv dword [0x479be8]
push 1
push 1
push ebx
fstp dword [ebp - 0x20]
call fcn.00448060
add esp, 0x14
push ebx
jmp 0x40aba7
mov edx, dword [0x49eb38]
mov eax, dword [0x49eb3c]
mov ecx, dword [0x49ea94]
mov dword [ebp - 0x28], edx
mov edx, dword [0x49ea98]
mov dword [ebp - 0x1c], edx
fld dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
fsub dword [ebp - 0x24]
sub esp, 8
mov dword [ebp - 0x20], ecx
fstp qword [esp]
call sub.MSVCRT.dll_fabs
fdiv dword [0x479be8]
push 1
push 1
push ebx
fstp dword [ebp - 0x20]
call fcn.00448060
add esp, 0x14
push 1
fld dword [ebp - 0x20]
mov ecx, dword [0x49ec74]
mov edx, dword [ecx + 5]
sub esp, 8
fstp qword [esp]
lea eax, [ebp - 0x28]
push eax
push edx
push ebx
call fcn.00433f00
mov eax, dword [0x49ec74]
mov ecx, dword [eax + 5]
push ecx
push ebx
call fcn.0044a1d0
add esp, 0x20
jmp 0x40a936
mov eax, dword [0x49eb3c]
mov ecx, dword [0x49ea94]
mov edx, dword [0x49eb38]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x28], edx
mov edx, dword [0x49ea98]
push eax
lea ecx, [ebp - 0x28]
push ecx
mov dword [ebp - 0x1c], edx
call fcn.0044cab0
fld dword [0x479be8]
fmul qword [0x4795c8]
push 1
push 1
push ebx
fmul qword [0x475730]
fsubp st(1)
fstp dword [ebp - 0x20]
call fcn.00448060
fld dword [ebp - 0x20]
mov eax, dword [0x49ec74]
mov ecx, dword [eax + 5]
fstp qword [esp + 0xc]
add esp, 0xc
lea edx, [ebp - 0x28]
push edx
push ecx
push ebx
call fcn.00431670
mov edx, dword [0x49ec74]
mov eax, dword [edx + 5]
push eax
push ebx
call fcn.0044a1d0
add esp, 0x1c
jmp 0x40a936
mov edx, dword [0x49eb3c]
mov eax, dword [0x49ea94]
mov ecx, dword [0x49eb38]
mov dword [ebp - 0x24], edx
lea edx, [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], ecx
mov ecx, dword [0x49ea98]
push edx
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x1c], ecx
call fcn.0044cab0
fmul qword [0x4756b8]
add esp, 8
fdiv qword [0x4795c8]
fsub dword [0x479be8]
fst dword [ebp - 0x20]
fcomp qword [0x475688]
fnstsw ax
test ah, 1
je 0x40acc2
fld dword [ebp - 0x20]
fadd qword [0x4756b0]
fstp dword [ebp - 0x20]
fld dword [0x479be8]
fcomp qword [0x475688]
fnstsw ax
test ah, 1
jne 0x40ace8
fld dword [0x479be8]
fcomp qword [0x475728]
fnstsw ax
test ah, 1
jne 0x40ad12
fld dword [0x479be8]
fcomp qword [0x4756b8]
fnstsw ax
test ah, 1
jne 0x40ad87
fld dword [0x479be8]
fcomp qword [0x475720]
fnstsw ax
test ah, 1
je 0x40ad87
fld dword [ebp - 0x20]
fcomp qword [0x475718]
fnstsw ax
test ah, 1
jne 0x40ad36
fld dword [ebp - 0x20]
fcomp qword [0x475710]
fnstsw ax
test ah, 1
jne 0x40adf7
fld dword [ebp - 0x20]
fcomp qword [0x475710]
fnstsw ax
test ah, 1
jne 0x40ad5a
fld dword [ebp - 0x20]
fcomp qword [0x475708]
fnstsw ax
test ah, 1
jne 0x40ae65
fld dword [ebp - 0x20]
fcomp qword [0x475708]
fnstsw ax
test ah, 1
jne 0x40a936
fld dword [ebp - 0x20]
fcomp qword [0x475700]
fnstsw ax
test ah, 1
jne 0x40ae2e
jmp 0x40a936
fld dword [ebp - 0x20]
fcomp qword [0x475718]
fnstsw ax
test ah, 1
jne 0x40adab
fld dword [ebp - 0x20]
fcomp qword [0x475710]
fnstsw ax
test ah, 1
jne 0x40ae2e
fld dword [ebp - 0x20]
fcomp qword [0x475710]
fnstsw ax
test ah, 1
jne 0x40adcf
fld dword [ebp - 0x20]
fcomp qword [0x475708]
fnstsw ax
test ah, 1
jne 0x40ae65
fld dword [ebp - 0x20]
fcomp qword [0x475708]
fnstsw ax
test ah, 1
jne 0x40a936
fld dword [ebp - 0x20]
fcomp qword [0x475700]
fnstsw ax
test ah, 1
je 0x40a936
push 1
push 1
push ebx
call fcn.00448060
mov edx, dword [0x49ec74]
mov eax, dword [edx + 5]
push ebx
lea ecx, [ebp - 0x28]
push ecx
push eax
push ebx
call fcn.004324e0
mov ecx, dword [0x49ec74]
mov edx, dword [ecx + 5]
push edx
push ebx
call fcn.0044a1d0
add esp, 0x24
jmp 0x40a936
push 1
push 1
push ebx
call fcn.00448060
mov ecx, dword [0x49ec74]
mov edx, dword [ecx + 5]
push 1
lea eax, [ebp - 0x28]
push eax
push edx
push ebx
call fcn.004324e0
mov eax, dword [0x49ec74]
mov ecx, dword [eax + 5]
push ecx
push ebx
call fcn.0044a1d0
add esp, 0x24
jmp 0x40a936
push 1
push 1
push ebx
call fcn.00448060
mov eax, dword [0x49ec74]
mov ecx, dword [eax + 5]
push ebx
lea edx, [ebp - 0x28]
push edx
push ecx
push ebx
call fcn.004324e0
mov eax, dword [0x49ec74]
mov ecx, dword [eax + 5]
push 1
lea edx, [ebp - 0x28]
push edx
push ecx
push ebx
call fcn.004324e0
mov edx, dword [0x49ec74]
mov eax, dword [edx + 5]
push eax
push ebx
call fcn.0044a1d0
add esp, 0x34
jmp 0x40a936
cmp eax, 1
jne case.default.0x40b052
cmp dword [0x49ea88], ebx
je 0x40aecc
mov dword [0x4c8c70], ebx
jmp 0x40b27d
push 0x49ea70
call fcn.004470d0
add esp, 4
cmp eax, 0x14
mov dword [0x49ea88], eax
jne 0x40af1b
call fcn.00447530
test eax, eax
je 0x40af15
lea ecx, [ebp - 0x68]
push ecx
push 0x1b
call fcn.0040c470
lea edx, [ebp - 0x68]
push edx
push 0x47a0cc
push 0x49eca1
mov byte [0x49eca0], 3
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
mov dword [0x49ea88], ebx
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x11
call esi
movsx eax, ax
push 0x10
mov dword [0x49ea8c], eax
call esi
movsx eax, ax
mov dword [0x49ea90], eax
cmp eax, ebx
mov eax, dword [0x49ea88]
jge 0x40af7f
cmp eax, 1
jne 0x40af53
mov dword [0x49ea88], 0xa
jmp 0x40af99
cmp eax, 2
jl 0x40af69
cmp eax, 5
jg 0x40af69
mov dword [0x49ea88], 0xb
jmp 0x40afa9
cmp eax, 6
jl 0x40af94
cmp eax, 9
jg 0x40af7f
mov dword [0x49ea88], 0xc
jmp 0x40afb8
cmp eax, 6
jl 0x40af94
cmp eax, 9
jg 0x40af94
call fcn.004474f0
test eax, eax
jne 0x40afb8
jmp 0x40afb2
cmp eax, 0xa
jne 0x40afa4
call fcn.00447500
test eax, eax
jne 0x40afb8
jmp 0x40afb2
cmp eax, 0xb
jne 0x40afb8
call fcn.00447510
test eax, eax
jne 0x40afb8
mov dword [0x49ea88], ebx
push 4
push 0x49ea70
push 0x49ea74
mov dword [0x4c8c70], ebx
call sub.MSVCRT.dll_memcpy
mov eax, dword [0x49ea88]
add esp, 0xc
cmp eax, ebx
jne 0x40afec
mov dword [0x49ea8c], ebx
mov dword [0x49ea90], ebx
jmp case.default.0x40b052
jge 0x40b016
push 1
push 0x49eae4
call fcn.0040c990
push 0x49ea94
mov dword [0x49eb34], 0x82
call fcn.00449010
add esp, 0xc
jmp case.default.0x40b052
push ebx
call fcn.00447d50
add esp, 4
test eax, eax
jle 0x40b53a
push 4
push 0x49ea74
push 0x49ea70
call sub.MSVCRT.dll_memcpy
add esp, 0xc
call fcn.0044c3b0
mov ecx, dword [0x49ea88]
lea eax, [ecx - 1]
cmp eax, 0xb
ja case.default.0x40b052
jmp dword [eax*4 + 0x40b5c8]
push 1
push 0x49eae4
call fcn.0040c990
push ebx
call fcn.00448a10
mov dword [0x49eb34], 0x8c
push 0x49ea94
jmp 0x40b268
push 2
lea edx, [ebp - 0x28]
push 0x49ea7c
push edx
call fcn.0044c4e0
mov eax, dword [0x49ea88]
add esp, 0xc
cmp eax, 2
jne 0x40b0d4
mov ax, word [0x49eae4]
mov cx, word [0x49ea7e]
mov dx, word [0x49ea80]
mov word [ebp - 0x10], ax
mov ax, word [0x49eaea]
mov word [ebp - 0xe], cx
mov ecx, dword [ebp - 0x20]
mov word [ebp - 0xc], dx
mov edx, dword [ebp - 0x24]
mov word [ebp - 0xa], ax
mov dword [ebp - 0x38], ecx
jmp 0x40b175
cmp eax, 3
jne 0x40b10e
mov ax, word [0x49ea7c]
mov cx, word [0x49ea7e]
mov dx, word [0x49eae8]
mov word [ebp - 0x10], ax
mov ax, word [0x49eaea]
mov word [ebp - 0xe], cx
mov ecx, dword [ebp - 0x28]
mov word [ebp - 0xc], dx
mov edx, dword [ebp - 0x24]
mov word [ebp - 0xa], ax
mov dword [ebp - 0x38], ecx
jmp 0x40b175
cmp eax, 4
jne 0x40b142
mov ax, word [0x49ea7c]
mov cx, word [0x49eae6]
mov dx, word [0x49eae8]
mov word [ebp - 0x10], ax
mov ax, word [0x49ea82]
mov word [ebp - 0xe], cx
mov ecx, dword [ebp - 0x28]
mov word [ebp - 0xc], dx
mov word [ebp - 0xa], ax
jmp 0x40b16f
mov ax, word [0x49eae4]
mov cx, word [0x49eae6]
mov dx, word [0x49ea80]
mov word [ebp - 0x10], ax
mov ax, word [0x49ea82]
mov word [ebp - 0xe], cx
mov ecx, dword [ebp - 0x20]
mov word [ebp - 0xc], dx
mov word [ebp - 0xa], ax
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], ecx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x28]
push ecx
mov dword [ebp - 0x34], edx
call fcn.0044ca70
fstp dword [0x479be8]
lea edx, [ebp - 0x10]
push 1
push edx
call fcn.0040c990
push 1
call fcn.00448a10
lea eax, [ebp - 0x38]
push eax
mov dword [0x49eb34], 0x8d
call fcn.00449010
add esp, 0x18
jmp case.default.0x40b052
push 2
lea ecx, [ebp - 0x28]
push 0x49ea7c
push ecx
call fcn.0044c4e0
mov eax, dword [0x49ea88]
add esp, 0xc
cmp eax, 6
jne 0x40b205
mov dx, word [0x49eae4]
mov ax, word [0x49eae6]
mov cx, word [0x49ea80]
mov word [ebp - 0x10], dx
mov dx, word [0x49eaea]
mov word [ebp - 0xe], ax
mov eax, dword [ebp - 0x20]
mov word [ebp - 0xc], cx
mov word [ebp - 0xa], dx
jmp 0x40b233
mov dx, word [0x49ea7c]
mov ax, word [0x49eae6]
mov cx, word [0x49eae8]
mov word [ebp - 0x10], dx
mov dx, word [0x49eaea]
mov word [ebp - 0xe], ax
mov eax, dword [ebp - 0x28]
mov word [ebp - 0xc], cx
mov word [ebp - 0xa], dx
fld dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
fsub dword [ebp - 0x28]
lea edx, [ebp - 0x10]
push 1
push edx
fstp dword [0x479be8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
call fcn.0040c990
push 1
call fcn.00448a10
mov dword [0x49eb34], 0x8f
lea eax, [ebp - 0x38]
push eax
call fcn.00449010
add esp, 0x10
mov eax, dword [0x4c8c70]
cmp eax, ebx
jne 0x40b564
fld dword [0x479be8]
sub esp, 8
fstp qword [esp]
call fcn.0040b600
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push 2
lea ecx, [ebp - 0x28]
push 0x49ea7c
push ecx
call fcn.0044c4e0
mov eax, dword [0x49ea88]
mov dx, word [0x49eae4]
add esp, 0xc
cmp eax, 8
mov word [ebp - 0x10], dx
jne 0x40b2ed
mov ax, word [0x49eae6]
mov cx, word [0x49eae8]
mov dx, word [0x49ea82]
mov word [ebp - 0xe], ax
mov eax, dword [ebp - 0x28]
mov word [ebp - 0xc], cx
mov ecx, dword [ebp - 0x1c]
mov word [ebp - 0xa], dx
mov dword [ebp - 0x38], eax
jmp 0x40b316
mov ax, word [0x49ea7e]
mov cx, word [0x49eae8]
mov dx, word [0x49eaea]
mov word [ebp - 0xe], ax
mov eax, dword [ebp - 0x28]
mov word [ebp - 0xc], cx
mov ecx, dword [ebp - 0x24]
mov word [ebp - 0xa], dx
mov dword [ebp - 0x38], eax
fld dword [ebp - 0x1c]
lea edx, [ebp - 0x10]
fsub dword [ebp - 0x24]
push 1
push edx
mov dword [ebp - 0x34], ecx
fstp dword [0x479be8]
call fcn.0040c990
push 1
call fcn.00448a10
mov dword [0x49eb34], 0x90
jmp 0x40b264
push 2
lea ecx, [ebp - 0x28]
push 0x49ea7c
push ecx
call fcn.0044c4e0
fld dword [ebp - 0x20]
fadd dword [ebp - 0x28]
mov ax, word [0x49eae6]
mov dx, word [0x49eae4]
mov cx, word [0x49eae8]
fmul qword [0x475670]
mov word [ebp - 0xe], ax
mov eax, dword [0x49eb4c]
fstp dword [ebp - 0x38]
mov word [ebp - 0x10], dx
fld dword [ebp - 0x1c]
mov dx, word [0x49eaea]
fadd dword [ebp - 0x24]
add esp, 0xc
cmp eax, ebx
mov word [ebp - 0xc], cx
fmul qword [0x475670]
mov word [ebp - 0xa], dx
fstp dword [ebp - 0x34]
je 0x40b3f3
fld dword [0x49ea94]
sub esp, 8
fsub dword [ebp - 0x38]
fstp qword [esp]
call sub.MSVCRT.dll_fabs
fstp qword [ebp - 8]
fld dword [0x49ea98]
fsub dword [ebp - 0x34]
fstp qword [esp]
call sub.MSVCRT.dll_fabs
fcomp qword [ebp - 8]
add esp, 8
fnstsw ax
test ah, 1
je 0x40b3ea
mov eax, dword [ebp - 0x34]
mov dword [0x49ea98], eax
jmp 0x40b3f3
mov ecx, dword [ebp - 0x38]
mov dword [0x49ea94], ecx
lea edx, [ebp - 0x38]
push 0x49ea94
push edx
call fcn.0044cab0
fmul qword [0x4756b8]
lea eax, [ebp - 0x10]
push 1
fdiv qword [0x4795c8]
push eax
fstp dword [0x479be8]
call fcn.0040c990
push 1
call fcn.00448a10
lea ecx, [ebp - 0x38]
push ecx
mov dword [0x49eb34], 0x8e
call fcn.00449010
add esp, 0x18
jmp case.default.0x40b052
push 2
lea edx, [ebp - 0x28]
push 0x49ea7c
push edx
call fcn.0044c4e0
fld dword [ebp - 0x20]
fadd dword [ebp - 0x28]
mov ax, word [0x49eae4]
mov cx, word [0x49eae6]
mov dx, word [0x49eae8]
fmul qword [0x475670]
mov word [ebp - 0x10], ax
mov ax, word [0x49eaea]
fstp dword [ebp - 0x38]
mov word [ebp - 0xa], ax
fld dword [ebp - 0x1c]
mov eax, dword [0x49eb4c]
fadd dword [ebp - 0x24]
add esp, 0xc
cmp eax, ebx
mov word [ebp - 0xe], cx
fmul qword [0x475670]
mov word [ebp - 0xc], dx
fstp dword [ebp - 0x34]
je 0x40b4ed
fld dword [0x49ea94]
sub esp, 8
fsub dword [ebp - 0x38]
fstp qword [esp]
call sub.MSVCRT.dll_fabs
fstp qword [ebp - 8]
fld dword [0x49ea98]
fsub dword [ebp - 0x34]
fstp qword [esp]
call sub.MSVCRT.dll_fabs
fcomp qword [ebp - 8]
add esp, 8
fnstsw ax
test ah, 1
je 0x40b4e4
mov ecx, dword [ebp - 0x34]
mov dword [0x49ea98], ecx
jmp 0x40b4ed
mov edx, dword [ebp - 0x38]
mov dword [0x49ea94], edx
lea eax, [ebp - 0x38]
push 0x49ea94
push eax
call fcn.0044cab0
fmul qword [0x4756b8]
lea ecx, [ebp - 0x10]
push 1
fdiv qword [0x4795c8]
push ecx
fstp dword [0x479be8]
call fcn.0040c990
push 1
call fcn.00448a10
lea edx, [ebp - 0x38]
push edx
mov dword [0x49eb34], 0x93
call fcn.00449010
add esp, 0x18
jmp case.default.0x40b052
mov dword [0x4c8c70], 1
mov dword [0x49ea88], ebx
mov dword [0x49ea8c], ebx
mov dword [0x49ea90], ebx
call fcn.0044edd0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x40b577
call fcn.0044edd0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x40b586
mov dword [0x49eb08], 0xd
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret