Function at 0x100c90c0
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1013069c
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
push ebx
push esi
push edi
mov eax, dword [0x1014a018]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 2
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100ca960
push 0x41
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100ca960
push 0x39
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100ca960
push 0x48
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100ca960
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100c9196
push 0x4d
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100c9196
push 0xe
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100ca960
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100c91dc
push 8
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100c91dc
push 0x4e
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100ca960
xor ebx, ebx
cmp byte [0x118c80d1], bl
jne 0x100c9285
cmp byte [0x10a76d9b], bl
je 0x100c9235
push 0x2703
mov eax, 0x57d9a0
mov dword [0x10a76f1c], ebx
mov byte [0x10a76d73], bl
mov dword [0x10a76f18], ebx
mov dword [0x10a76f20], ebx
mov dword [0x10a76f24], ebx
call eax
add esp, 4
cmp eax, 0x190
je 0x100c922b
call fcn.10014320
mov dword [0x10150ec4], 0xffffffff
cmp dword [0x10150eb0], 1
jne 0x100ca967
lea ecx, [ebp - 0x14]
push ecx
mov ecx, 8
mov dword [0x118d9bac], ebx
mov byte [0x118d9bb4], bl
mov dword [0x10150eb0], 0xffffffff
mov dword [ebp - 0x14], 0x12d308c1
mov dword [ebp - 0x10], ebx
call fcn.10100800
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xd
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100c92ad
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec50
mov ecx, eax
call edx
push 0x10
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
cmp al, 1
jne 0x100c92d5
push 0x10
mov eax, 0x861110
call eax
mov edx, 0x85f9a0
mov ecx, eax
call edx
fild dword [0xe61e5c]
fdiv dword [0xe7c3d8]
fld qword [0x1013f510]
fmul st(1), st(0)
fxch st(1)
fsub qword [0x1013fa68]
fsub qword [0x1013f948]
fstp dword [ebp - 0x38]
fldz
fstp dword [ebp - 0x3c]
cmp dword [0x10234f4c], ebx
jne 0x100c9310
cmp dword [0x10234a28], 3
jb 0x100c9329
fild dword [0xe61e58]
fdiv dword [0xe7c3d4]
fmulp st(1)
fsub qword [0x101406e8]
fstp dword [ebp - 0x3c]
jmp 0x100c932b
fstp st(0)
fld dword [0x10150fa4]
push 0x109daa60
sub esp, 0x10
fstp dword [esp + 0xc]
mov eax, 0x96
fld dword [0x10141400]
fstp dword [esp + 8]
fld dword [ebp - 0x38]
fstp dword [esp + 4]
fld dword [ebp - 0x3c]
fstp dword [esp]
push 0x116dc850
call fcn.10065870
fld dword [ebp - 0x3c]
fadd qword [0x1013fa68]
mov eax, dword [0x108c77f8]
push ecx
fst qword [ebp - 0x50]
fld dword [0x10140638]
fstp dword [esp]
push 0x109dee60
fld dword [0x1013f54c]
push eax
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ebp - 0x38]
fadd qword [0x1013f750]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fstp dword [esp + 4]
fadd qword [0x10140200]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fstp dword [esp]
push 0x116dc850
call fcn.10066220
test al, al
je 0x100c93c8
xor byte [0x118c8125], 1
mov ecx, dword [0x118d9b9c]
fld qword [ebp - 0x50]
sub ecx, dword [0x118d9b98]
fstp dword [ebp - 0x24]
fld dword [ebp - 0x38]
mov eax, 0x63e7063f
fld qword [0x1013f598]
imul ecx
fadd st(1)
fadd qword [0x1013fa48]
fstp dword [ebp - 0x84]
mov ecx, dword [0x10a76f18]
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x40], ebx
cmp ecx, ebx
jne 0x100c949e
push 0x50
fstp st(0)
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
cmp eax, ebx
je 0x100c9430
call fcn.1000f9d0
mov esi, eax
jmp 0x100c9432
xor esi, esi
fld dword [ebp - 0x84]
mov dword [0x10a76f18], esi
call fcn.1012e5b0
fld dword [ebp - 0x3c]
fld st(0)
mov dword [ebp - 0x18], eax
call fcn.1012e5b0
mov edx, dword [ebp - 0x18]
push eax
mov eax, 0xfa
mov ecx, esi
call fcn.1000fa50
cmp edi, 3
jle 0x100c9478
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jge 0x100c947d
mov eax, 1
fadd qword [0x1013fce0]
mov dword [esi + 0x48], eax
call fcn.1012e5b0
mov edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, esi
call fcn.1000faa0
xor ebx, ebx
jmp 0x100c951e
cmp byte [0x10a76d91], bl
je 0x100c94cc
cmp edi, 3
jle 0x100c94be
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jge 0x100c94c3
mov eax, 1
mov dword [ecx + 0x48], eax
mov byte [0x10a76d91], bl
fadd qword [0x1013f9a0]
push 0xfa
push 0xc3
call fcn.1012e5b0
fld dword [ebp - 0x24]
fsub qword [0x1013f6c0]
push eax
call fcn.1012e5b0
push eax
mov ecx, 0x790b10
call ecx
mov esi, dword [0x10a76f18]
add esp, 0x10
mov byte [esi + 0x4c], al
call fcn.1000fc70
mov eax, dword [0x10a76f18]
call fcn.1000fae0
mov esi, dword [0x10a76f18]
call fcn.1000fbf0
mov eax, dword [esi + 0x44]
mov ecx, dword [0x118d9b9c]
lea esi, [eax + eax*2]
mov dword [0x10a76f14], eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [0x118d9b98]
sub ecx, ebx
mov eax, 0x63e7063f
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [0x10150eb8], 0xffffffff
mov dword [ebp - 0x18], esi
cmp esi, eax
jae 0x100c9c04
imul esi, esi, 0xa4
mov dword [ebp - 0x1c], esi
fild dword [ebp - 0x34]
lea ecx, [esi + ebx + 0xf]
push ecx
mov edx, 0x861110
fmul qword [0x10140f18]
fadd dword [ebp - 0x24]
fstp dword [ebp - 0x44]
fild dword [ebp - 0x40]
fmul qword [0x101414b0]
fadd dword [ebp - 0x84]
fstp dword [ebp - 0x20]
call edx
mov ecx, dword [eax + 0x24]
mov edx, 0x7e1b10
call edx
fld dword [ebp - 0x20]
mov edx, dword [0x118d9b98]
mov edi, eax
movzx eax, word [edi]
mov dword [ebp - 0x30], eax
mov al, byte [esi + edx + 0x10]
mov cl, al
shr cl, 7
mov byte [ebp - 0x47], cl
mov cl, al
shr cl, 2
and cl, 1
mov byte [ebp - 0x46], cl
mov cl, byte [esi + edx + 0x16]
shr cl, 4
and cl, 4
and al, 3
add cl, al
mov dword [ebp - 0x10], edi
mov byte [ebp - 0x45], cl
call fcn.1012e5b0
push 0x41
fld dword [ebp - 0x44]
push 0x41
push eax
mov dword [ebp - 0x54], eax
call fcn.1012e5b0
push eax
mov ecx, 0x790b10
call ecx
add esp, 0x10
test al, al
je 0x100c9652
cmp byte [0x10a76d73], 0
jne 0x100c9652
cmp byte [0x118c8125], 0
jne 0x100c9652
mov edx, dword [ebp - 0x18]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x10150eb8], edx
mov dword [ebp - 0x28], 0x66646496
call ebx
sub eax, dword [0x118c8078]
cmp eax, 0x1f4
jbe 0x100c9659
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x100c9659
call ebx
mov dword [0x118c8078], eax
jmp 0x100c9659
mov dword [ebp - 0x28], 0x96
lea ebx, [ebp - 0x30]
lea eax, [ebp - 0x88]
mov ecx, 0x118d9b88
call fcn.100cf0e0
mov edx, dword [ebp - 0x88]
cmp edx, dword [0x118d9b8c]
jne 0x100c9687
cmp dword [0x10150ebc], 0xffffffff
jne 0x100c9bcd
mov eax, dword [0x10150ec0]
mov ebx, dword [0x118d9b98]
cmp eax, 0x3f
je 0x100c96f1
test al, 1
jne 0x100c96a6
cmp dword [esi + ebx + 0x20], 1
je 0x100c9bd3
test al, 2
jne 0x100c96b5
cmp dword [esi + ebx + 0x20], 2
je 0x100c9bd3
test al, 4
jne 0x100c96c4
cmp dword [esi + ebx + 0x20], 3
je 0x100c9bd3
test al, 8
jne 0x100c96d3
cmp dword [esi + ebx + 0x20], 4
je 0x100c9bd3
test al, 0x10
jne 0x100c96e2
cmp dword [esi + ebx + 0x20], 5
je 0x100c9bd3
test al, 0x20
jne 0x100c96f1
cmp dword [esi + ebx + 0x20], 6
je 0x100c9bd3
cmp byte [0x10a76d92], 0
je 0x100c9704
cmp byte [ebp - 0x47], 0
je 0x100c9bd3
cmp byte [0x10a76d93], 0
je 0x100c9717
cmp byte [ebp - 0x46], 0
je 0x100c9bd3
cmp byte [0x10a76d99], 0
je 0x100c972a
cmp byte [ebp - 0x45], 5
jb 0x100c9bd3
cmp byte [0x10a76d9a], 0
je 0x100c973d
cmp byte [edi + 0x17], 0
je 0x100c9bd3
fld dword [ebp - 0x44]
sub esp, 0x20
fadd qword [0x101405e8]
fadd qword [0x1013f580]
fst qword [ebp - 0x60]
fstp dword [ebp - 0x64]
fld dword [0x1013f5bc]
fstp dword [esp + 0x1c]
fldz
fst dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x10140b88]
fstp dword [esp + 0xc]
fld dword [0x10140638]
fstp dword [esp + 8]
fld dword [ebp - 0x20]
fstp dword [esp + 4]
fld dword [ebp - 0x64]
fstp dword [esp]
call fcn.100bcd90
fldz
mov eax, dword [ebp - 0x28]
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [0x101407e4]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [ebp - 0x20]
fstp dword [esp + 4]
fld dword [ebp - 0x44]
fstp dword [esp]
call fcn.10065df0
fld dword [0x10140b00]
movzx eax, byte [edi + 0x18]
mov edx, dword [edi + 2]
push ecx
movzx ecx, byte [edi + 0x17]
fstp dword [esp]
fld dword [0x101407e4]
push eax
mov eax, dword [ebp - 0x30]
push ecx
push edx
sub esp, 0x10
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [ebp - 0x20]
fld qword [0x1013f6c0]
fsub st(1), st(0)
fxch st(1)
fstp dword [ebp - 0x28]
fld dword [ebp - 0x28]
fstp dword [esp + 4]
fadd dword [ebp - 0x44]
fstp dword [ebp - 0x28]
fld dword [ebp - 0x28]
fstp dword [esp]
call fcn.100c7b80
fld qword [ebp - 0x60]
call fcn.1012e5b0
mov ecx, dword [edi + 2]
mov ebx, eax
mov eax, dword [ebp - 0x30]
push eax
call fcn.10066b90
mov ecx, dword [ebp - 0x54]
mov edx, dword [0xe8c58c]
add esp, 4
push eax
push 0
push 0x72
push 0x3091ff96
push 0xffffffffffffffff
push ecx
push ebx
push edx
mov cl, 3
call fcn.10025780
mov eax, dword [0x118d9b98]
add esp, 0x20
fld dword [ebp - 0x20]
lea ecx, [esi + eax + 4]
fadd qword [0x1013f518]
push ecx
push 0x109dac60
push 0
push 0x72
push 0
push 0xff833096
call fcn.1012e5b0
mov edx, dword [0xe8c588]
push eax
push ebx
push edx
mov cl, 3
call fcn.10025780
mov eax, dword [0x118d9b98]
mov ecx, dword [esi + eax + 0x20]
mov edx, dword [ecx*4 + 0x10150e60]
mov ecx, dword [esi + eax + 0x24]
add esp, 0x24
push edx
call fcn.10066c50
fld dword [ebp - 0x20]
fadd qword [0x1013fba8]
push eax
push 0x109dae60
push 0
push 0x72
push 0
push 0xffdf2b96
call fcn.1012e5b0
push eax
mov eax, dword [0xe8c58c]
push ebx
push eax
mov cl, 3
call fcn.10025780
mov ecx, dword [0x118d9b98]
mov eax, dword [esi + ecx + 0x28]
add esp, 0x28
cmp eax, 0xff
jne 0x100c98ea
mov eax, 0xb
mov edx, dword [eax*4 + 0x10150e7c]
fld dword [ebp - 0x20]
fadd qword [0x1013fc50]
push edx
push 0x109db060
push 0
push 0x72
fst qword [ebp - 0x50]
push 0
push 0xfafafa96
call fcn.1012e5b0
push eax
mov eax, dword [0xe8c588]
push ebx
push eax
mov cl, 3
call fcn.10025780
mov cl, byte [0x10a76d73]
add esp, 0x24
cmp dword [0x10a76f1c], 0xc
mov byte [0x116dcaf8], cl
jne 0x100c99c8
fld dword [0x10140638]
mov edx, dword [0x108c77f8]
push ecx
fstp dword [esp]
push 0x109db260
fld dword [0x1013f54c]
push edx
sub esp, 0xc
fstp dword [esp + 8]
fld qword [ebp - 0x50]
fadd qword [0x1013f6d8]
fstp dword [ebp - 0x54]
fld dword [ebp - 0x54]
fstp dword [esp + 4]
fld dword [ebp - 0x64]
fstp dword [esp]
push 0x116dc850
call fcn.10066220
test al, al
je 0x100c9ba6
cmp byte [0x118c8125], 0
jne 0x100c9ba6
mov eax, dword [0x118d9b98]
mov ecx, dword [esi + eax]
lea edx, [ebp - 0x70]
mov dword [ebp - 0x68], ecx
push edx
mov ecx, 0xc
mov dword [ebp - 0x70], 0x21d30cc1
mov dword [ebp - 0x6c], 2
call fcn.10100800
add esp, 4
jmp 0x100c9ba6
movzx eax, word [edi]
fld dword [0x1013fd70]
push eax
fstp dword [ebp - 0x44]
call fcn.1009cb80
test eax, eax
je 0x100c9afe
mov ecx, dword [0x118d9b98]
mov eax, dword [esi + ecx + 0x28]
cmp eax, 1
jl 0x100c9afe
cmp eax, 8
jg 0x100c9afe
fld dword [0x1013fd70]
mov edx, dword [0x108c77f8]
push ecx
fstp dword [esp]
push 0x109db460
fld dword [0x1013f54c]
push edx
sub esp, 0xc
fstp dword [esp + 8]
fld qword [ebp - 0x50]
fadd qword [0x1013f6d8]
fstp dword [ebp - 0x54]
fld dword [ebp - 0x54]
fstp dword [esp + 4]
fld qword [ebp - 0x60]
fadd qword [0x10140948]
fstp dword [ebp - 0x54]
fld dword [ebp - 0x54]
fstp dword [esp]
push 0x116dc850
call fcn.10066220
test al, al
je 0x100c9b07
cmp byte [0x118c8125], 0
jne 0x100c9b07
movzx eax, word [edi]
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x54]
lea eax, [ebp - 0x7c]
mov ecx, 0x116df378
call fcn.1009cd60
mov eax, dword [ebp - 0x7c]
cmp eax, dword [0x116df37c]
je 0x100c9a8e
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x28], eax
jmp 0x100c9a95
mov dword [ebp - 0x28], 0xffffffff
movzx eax, word [edi]
movzx ecx, byte [edi + 0x18]
movzx edx, byte [edi + 0x17]
mov ebx, dword [edi + 2]
add eax, 0x493
mov dword [ebp - 0x5c], eax
shr ebx, 3
push 0x2703
mov eax, 0x57d9a0
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x20], edx
and ebx, 0xf
call eax
add esp, 4
cmp eax, 0x190
je 0x100c9b07
push eax
mov ecx, 0x402bc0
call ecx
mov edx, 0x96a4c0
mov ecx, eax
call edx
test eax, eax
je 0x100c9b07
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x28]
push ecx
push edx
push ebx
call fcn.10013a70
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
jmp 0x100c9b07
fld dword [0x10140638]
fstp dword [ebp - 0x44]
fld dword [ebp - 0x44]
mov eax, dword [0x108c77f8]
push ecx
fstp dword [esp]
push 0x109db660
fld dword [0x1013f54c]
push eax
sub esp, 0xc
fstp dword [esp + 8]
fld qword [ebp - 0x50]
fadd qword [0x1013f6d8]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp + 4]
fld dword [ebp - 0x64]
fstp dword [esp]
push 0x116dc850
call fcn.10066220
test al, al
je 0x100c9ba6
cmp byte [0x118c8125], 0
jne 0x100c9ba6
mov eax, dword [0x118d9b98]
mov ecx, dword [esi + eax]
mov edx, dword [esi + eax + 0x20]
mov dword [0x10150ec4], ecx
mov ecx, dword [edx*4 + 0x10150e60]
push ecx
mov ecx, dword [esi + eax + 0x24]
call fcn.10066c50
mov edx, dword [ebp - 0x30]
mov ecx, dword [edi + 2]
push eax
push edx
call fcn.10066b90
add esp, 4
push eax
push 0x109dba60
push 0x109db860
push 0x100c9070
mov ebx, 0x116dc850
call fcn.10065770
add esp, 0x18
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 3
jge 0x100c9c04
mov ebx, dword [0x118d9b98]
test eax, eax
je 0x100c9bc8
inc dword [ebp - 0x40]
mov dword [ebp - 0x34], 0
jmp 0x100c9bd3
inc dword [ebp - 0x34]
jmp 0x100c9bd3
mov ebx, dword [0x118d9b98]
mov ecx, dword [0x118d9b9c]
mov edi, dword [ebp - 0x18]
sub ecx, ebx
mov eax, 0x63e7063f
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
inc edi
add esi, 0xa4
add eax, edx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], esi
cmp edi, eax
jb 0x100c9569
fld dword [ebp - 0x38]
push ecx
fadd qword [0x1013fa48]
xor esi, esi
mov ecx, 0x637c60
mov dword [ebp - 0x18], esi
fstp dword [ebp - 0x40]
fld dword [ebp - 0x40]
fadd qword [0x1013f9a0]
fst qword [ebp - 0x50]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x24]
fsub qword [0x1013f6b8]
fst qword [ebp - 0x60]
fldz
fst dword [esp]
fld dword [0x101412d4]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x101412d0]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x10150fa8]
fstp dword [esp + 0xc]
fld dword [0x10140218]
fstp dword [esp + 8]
fld dword [ebp - 0x2c]
fstp dword [esp + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp]
push 0x7ac0
call ecx
fld qword [ebp - 0x50]
add esp, 0x30
push 0x14
push 0x6e
call fcn.1012e5b0
fld qword [ebp - 0x60]
push eax
call fcn.1012e5b0
push eax
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x100c9d11
cmp byte [0x118c8125], 0
jne 0x100c9d11
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18], 1
mov esi, 0x66646450
call edi
sub eax, dword [0x118c8078]
cmp eax, 0x1f4
jbe 0x100c9d11
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x100c9d11
mov dword [ebp - 0x18], 2
call edi
push 0
push 0
push 0x19
mov edx, 0x6d6c20
mov dword [0x118c8078], eax
call edx
add esp, 0xc
xor byte [0x10a76d73], 1
fldz
push ecx
fst dword [esp]
mov eax, 0x637c60
fld dword [0x101414ac]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x101414a8]
fstp dword [esp + 0x18]
fild dword [ebp - 0x18]
fmul qword [0x101414a0]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x1013fb58]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [ebp - 0x40]
fadd qword [0x10140848]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp + 4]
fld dword [ebp - 0x24]
fadd qword [0x1013f6b8]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp]
push 0x7abe
call eax
fld dword [ebp - 0x40]
fadd qword [0x10141498]
add esp, 0x30
fst qword [ebp - 0x50]
fld dword [ebp - 0x24]
fadd qword [0x1013f6d8]
fst qword [ebp - 0x60]
call fcn.1012e5b0
mov ecx, dword [0x10a76f1c]
mov edx, dword [ecx*4 + 0x10150e7c]
push edx
push 0x109dbc60
push 0
push 0x55
mov edi, eax
push esi
push 0xffffffffffffffff
mov dword [ebp - 0x1c], edi
call fcn.1012e5b0
push eax
mov eax, dword [0xe8c58c]
push edi
push eax
mov cl, 3
call fcn.10025780
add esp, 0x24
cmp byte [0x10a76d73], 0
je 0x100c9f5b
fld dword [0x1013f5bc]
sub esp, 0x20
fstp dword [esp + 0x1c]
fldz
fst dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x1013fd20]
fstp dword [esp + 0xc]
fld dword [0x10140f2c]
fstp dword [esp + 8]
fld qword [ebp - 0x50]
fadd qword [0x1013f6d8]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp + 4]
fld qword [ebp - 0x60]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp]
call fcn.100bcd90
xor edi, edi
mov dword [ebp - 0x18], 0xf
jmp 0x100c9e50
cmp dword [0x10a76f1c], edi
je 0x100c9f51
fild dword [ebp - 0x18]
xor esi, esi
fadd qword [ebp - 0x50]
call fcn.1012e5b0
mov ecx, dword [ebp - 0x1c]
push 0xf
mov ebx, eax
push 0x82
push ebx
push ecx
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x100c9f22
mov esi, 0x66646450
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x118c8078]
cmp eax, 0x1f4
jbe 0x100c9f22
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x100c9f22
mov dword [0x10a76f1c], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
push 0
push 0x19
mov edx, 0x6d6c20
mov dword [0x118c8078], eax
call edx
xor byte [0x10a76d73], 1
mov eax, 1
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x78]
add esp, 0xc
push eax
mov ecx, 0x14
mov dword [ebp - 0x78], 0x20d314c1
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x68], edi
call fcn.10100800
mov esi, dword [0x10a76f18]
add esp, 4
xor ecx, ecx
call fcn.1000ff40
mov esi, dword [ebp - 0x10]
mov byte [0x10a76d91], 1
mov ecx, dword [edi*4 + 0x10150e7c]
mov edx, dword [ebp - 0x1c]
push ecx
push 0x10135e70
push 0
push 0x55
push esi
push 0xffffffffffffffff
push ebx
mov eax, 0xe8c58c
mov eax, dword [eax]
push edx
push eax
mov cl, 3
call fcn.10025780
add esp, 0x24
add dword [ebp - 0x18], 0xf
inc edi
cmp edi, 0xd
jl 0x100c9e50
cmp dword [0x10a76f20], 0
fld dword [ebp - 0x3c]
fadd qword [0x10140148]
fsub qword [0x1013f760]
fstp dword [ebp - 0x30]
fld dword [ebp - 0x2c]
fstp dword [ebp - 0x34]
je 0x100c9feb
fld dword [ebp - 0x34]
push 0x14
push 0x82
call fcn.1012e5b0
fld dword [ebp - 0x30]
push eax
call fcn.1012e5b0
push eax
mov ecx, 0x790b10
call ecx
add esp, 0x10
test al, al
je 0x100c9feb
cmp byte [0x118c8125], 0
jne 0x100c9feb
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov edx, 0x8000
test dx, ax
je 0x100c9feb
mov ecx, dword [0x10a76f20]
mov ecx, dword [ecx + 4]
push 1
mov eax, 0x421d80
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
push 0
push 0x19
mov edx, 0x6d6c20
mov dword [0x118c8078], eax
call edx
add esp, 0xc
fldz
push ecx
fst dword [esp]
mov eax, 0x637c60
fld dword [0x101412d4]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x101412d0]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x10150fa8]
fstp dword [esp + 0xc]
fld dword [0x1013f550]
fstp dword [esp + 8]
fld dword [ebp - 0x34]
fstp dword [esp + 4]
fld dword [ebp - 0x30]
fstp dword [esp]
push 0x7ac0
call eax
mov eax, dword [0x10a76f20]
add esp, 0x30
test eax, eax
jne 0x100ca145
push 0x18
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x100ca073
mov esi, eax
call fcn.1010f9d0
jmp 0x100ca075
xor eax, eax
push 0
push 0x32
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0xe8c578]
push 0x14
push 0x32
push ecx
mov ecx, dword [eax + 4]
mov edx, 0x421b90
mov dword [0x10a76f20], eax
mov dword [eax + 0x10], 0x32
mov dword [eax + 0x14], 0x14
call edx
mov eax, dword [0x10a76f20]
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x44]
push 0
push 0
push 0
push 0xff
call eax
mov ecx, dword [0x10a76f20]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x40]
push 0xd2
push 0xe6
push 0xff
push 0xff
call eax
mov ecx, dword [0xe8c588]
mov eax, dword [0x10a76f20]
push ecx
mov ecx, dword [eax + 4]
mov edx, 0x423060
call edx
mov eax, dword [0x10a76f20]
mov ecx, dword [eax + 4]
push 0
mov edx, 0x421d30
call edx
fld dword [ebp - 0x34]
fadd qword [0x1013f6e8]
call fcn.1012e5b0
fld dword [ebp - 0x30]
fadd qword [0x1013fd80]
mov esi, eax
call fcn.1012e5b0
mov ecx, dword [0x10a76f20]
push esi
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], esi
mov ecx, dword [ecx + 4]
push eax
mov edx, 0x417ec0
call edx
jmp 0x100ca14f
mov ecx, dword [eax + 4]
mov edx, 0x422320
call edx
push 0x5a
call fcn.1012baac
mov ecx, dword [0x10a76f20]
mov ecx, dword [ecx + 4]
add esp, 4
mov esi, eax
push 0x2d
push esi
mov eax, 0x421800
call eax
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100ca173
sub eax, edx
sar eax, 1
cmp eax, 1
jae 0x100ca1d8
mov eax, dword [0x10a76f20]
mov ecx, dword [eax + 4]
mov edx, 0x49cd50
call edx
test eax, eax
jne 0x100ca1d8
fld dword [ebp - 0x34]
fadd qword [0x1013f6e8]
call fcn.1012e5b0
fld dword [ebp - 0x30]
fadd qword [0x1013fd80]
mov edi, eax
call fcn.1012e5b0
mov ecx, dword [0xe8c588]
push 0x109dbe60
push 0
push 0x32
push 0
push 0xffffffffffffff96
push edi
push eax
push ecx
mov cl, 1
call fcn.10025780
add esp, 0x20
mov ecx, esi
call fcn.100c8d30
fld dword [ebp - 0x38]
fadd qword [0x1013fa50]
sub esp, 0x14
mov eax, 0x96
fstp dword [ebp - 0x18]
fld dword [ebp - 0x3c]
fadd qword [0x1013f8f0]
fst qword [ebp - 0x50]
fstp dword [ebp - 0x28]
fldz
fstp dword [esp + 0x10]
fld dword [0x1013f54c]
fstp dword [esp + 0xc]
fld dword [0x10140618]
fstp dword [esp + 8]
fld dword [ebp - 0x18]
fstp dword [esp + 4]
fld dword [ebp - 0x28]
fstp dword [esp]
call fcn.10065df0
fld dword [ebp - 0x3c]
fadd qword [0x101405f8]
call fcn.1012e5b0
fld dword [ebp - 0x18]
fadd qword [0x1013f6b8]
push 0x109dc060
push 0
push 0x8b
push 0xbfff96
push 0xffffffffffffffff
mov esi, eax
call fcn.1012e5b0
mov edx, dword [0xe8c58c]
push eax
push esi
push edx
mov cl, 3
call fcn.10025780
fld dword [ebp - 0x3c]
mov eax, dword [0x10150ec0]
fld qword [0x1013f518]
fadd st(1), st(0)
add esp, 0x20
and al, 1
fxch st(1)
cmp al, 1
fstp dword [ebp - 0x20]
sete cl
movzx edx, cl
fadd dword [ebp - 0x18]
push 0x109d9860
push edx
push 0xffcc00c8
fstp dword [ebp - 0x24]
sub esp, 8
fld dword [ebp - 0x24]
fstp dword [esp + 4]
fld dword [ebp - 0x20]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x100ca2e0
cmp byte [0x118c8125], 0
jne 0x100ca2e0
mov eax, dword [0x10150ec0]
test al, 1
je 0x100ca2d8
dec eax
mov dword [0x10150ec0], eax
jmp 0x100ca2e5
inc eax
mov dword [0x10150ec0], eax
jmp 0x100ca2e5
mov eax, dword [0x10150ec0]
fld dword [ebp - 0x20]
and al, 2
fadd qword [0x1013f7b0]
cmp al, 2
sete al
movzx ecx, al
push 0x109d9a60
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x24]
push ecx
push 0xffcc00c8
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x1c]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x100ca348
cmp byte [0x118c8125], 0
jne 0x100ca348
mov eax, dword [0x10150ec0]
test al, 2
je 0x100ca33e
sub eax, 2
mov dword [0x10150ec0], eax
jmp 0x100ca34d
add eax, 2
mov dword [0x10150ec0], eax
jmp 0x100ca34d
mov eax, dword [0x10150ec0]
fld dword [ebp - 0x20]
and al, 4
fadd qword [0x1013f760]
cmp al, 4
sete dl
movzx eax, dl
push 0x109d9c60
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x24]
push eax
push 0xffcc00c8
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x2c]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x100ca3b0
cmp byte [0x118c8125], 0
jne 0x100ca3b0
mov eax, dword [0x10150ec0]
test al, 4
je 0x100ca3a6
sub eax, 4
mov dword [0x10150ec0], eax
jmp 0x100ca3b5
add eax, 4
mov dword [0x10150ec0], eax
jmp 0x100ca3b5
mov eax, dword [0x10150ec0]
fld dword [ebp - 0x24]
and al, 8
fadd qword [0x1013f6d8]
cmp al, 8
sete cl
movzx edx, cl
push 0x109de860
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
push edx
push 0xffcc00c8
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x20]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x100ca418
cmp byte [0x118c8125], 0
jne 0x100ca418
mov eax, dword [0x10150ec0]
test al, 8
je 0x100ca40e
sub eax, 8
mov dword [0x10150ec0], eax
jmp 0x100ca41d
add eax, 8
mov dword [0x10150ec0], eax
jmp 0x100ca41d
mov eax, dword [0x10150ec0]
fld dword [ebp - 0x18]
and al, 0x10
cmp al, 0x10
sete al
movzx ecx, al
push 0x109dea60
push ecx
push 0xffcc00c8
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x1c]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x100ca474
cmp byte [0x118c8125], 0
jne 0x100ca474
mov eax, dword [0x10150ec0]
test al, 0x10
je 0x100ca46a
sub eax, 0x10
mov dword [0x10150ec0], eax
jmp 0x100ca479
add eax, 0x10
mov dword [0x10150ec0], eax
jmp 0x100ca479
mov eax, dword [0x10150ec0]
fld dword [ebp - 0x18]
and al, 0x20
cmp al, 0x20
sete dl
movzx eax, dl
push 0x109dec60
push eax
push 0xffcc00c8
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x2c]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x100ca4cc
cmp byte [0x118c8125], 0
jne 0x100ca4cc
test byte [0x10150ec0], 0x20
je 0x100ca4c5
sub dword [0x10150ec0], 0x20
jmp 0x100ca4cc
add dword [0x10150ec0], 0x20
fld dword [ebp - 0x24]
cmp byte [0x10a76d92], 1
fadd qword [0x1013f6e0]
push 0x109dc260
sete cl
movzx edx, cl
fstp dword [ebp - 0x24]
push edx
fld dword [ebp - 0x24]
push 0xffcc00c8
fadd qword [0x1013f6d8]
sub esp, 8
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp + 4]
fld dword [ebp - 0x20]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x100ca528
cmp byte [0x118c8125], 0
jne 0x100ca528
xor byte [0x10a76d92], 1
cmp byte [0x10a76d93], 1
fld dword [ebp - 0x24]
fadd qword [0x1013fa48]
push 0x109dc460
sete al
movzx ecx, al
push ecx
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
push 0xffcc00c8
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x20]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x100ca578
cmp byte [0x118c8125], 0
jne 0x100ca578
xor byte [0x10a76d93], 1
cmp byte [0x10a76d99], 1
fld dword [ebp - 0x24]
fadd qword [0x1013f918]
push 0x109dc660
sete dl
movzx eax, dl
push eax
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
push 0xffcc00c8
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x20]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x100ca5c8
cmp byte [0x118c8125], 0
jne 0x100ca5c8
xor byte [0x10a76d99], 1
cmp byte [0x10a76d9a], 1
fld dword [ebp - 0x24]
fadd qword [0x1013f598]
push 0x109dc860
sete cl
movzx edx, cl
push edx
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
push 0xffcc00c8
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x20]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x100ca618
cmp byte [0x118c8125], 0
jne 0x100ca618
xor byte [0x10a76d9a], 1
fld dword [ebp - 0x38]
sub esp, 0x14
fadd qword [0x101404f8]
mov eax, 0x96
fst qword [ebp - 0x58]
fstp dword [ebp - 0x1c]
fldz
fstp dword [esp + 0x10]
fld dword [0x1013fd20]
fstp dword [esp + 0xc]
fld dword [0x10140618]
fstp dword [esp + 8]
fld dword [ebp - 0x1c]
fstp dword [esp + 4]
fld dword [ebp - 0x28]
fstp dword [esp]
call fcn.10065df0
fld dword [ebp - 0x38]
fadd qword [0x1013f9a0]
push 0x109de460
push 0
push 0x8b
push 0xbfff96
push 0xffffffffffffffff
call fcn.1012e5b0
push eax
mov eax, dword [0xe8c58c]
push esi
push eax
mov cl, 3
call fcn.10025780
fld dword [0x10140280]
fstp dword [esp + 0x1c]
add esp, 0xc
fld dword [0x1013fd20]
fstp dword [esp + 0xc]
fld dword [0x10140618]
fstp dword [esp + 8]
fld dword [ebp - 0x1c]
fstp dword [esp + 4]
fld dword [ebp - 0x3c]
fsub qword [0x1013f6d8]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp]
call fcn.10014400
fld dword [ebp - 0x38]
push 1
fadd qword [0x10140200]
sub esp, 0x10
mov edi, 0x118c4e50
fst qword [ebp - 0x60]
fld qword [ebp - 0x50]
fadd qword [0x1013fa58]
fst qword [ebp - 0x80]
fld dword [0x1013f6f0]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fxch st(1)
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp]
push 0x79fe
call fcn.100c8a30
fld qword [ebp - 0x60]
push 0xf
push 0xf
call fcn.1012e5b0
fld qword [ebp - 0x80]
push eax
call fcn.1012e5b0
push eax
mov ecx, 0x790b10
call ecx
add esp, 0x10
cmp al, 1
jne 0x100ca7cc
push 0x3e5
mov edx, 0x402320
mov ecx, 0x8128adc
call edx
mov ecx, dword [0x879340c]
push eax
mov eax, dword [0x8793410]
push eax
add ecx, 0x1e
push ecx
mov edx, 0x597220
call edx
add esp, 0xc
push 0x3e6
mov eax, 0x402320
mov ecx, 0x8128adc
call eax
mov ecx, dword [0x8793410]
mov edx, dword [0x879340c]
push eax
add ecx, 0xf
push ecx
add edx, 0x1e
push edx
mov eax, 0x597220
call eax
add esp, 0xc
push 0x3e7
mov edx, 0x402320
mov ecx, 0x8128adc
call edx
mov ecx, dword [0x879340c]
push eax
mov eax, dword [0x8793410]
add eax, 0x1e
push eax
add ecx, 0x1e
push ecx
mov edx, 0x597220
call edx
add esp, 0xc
fld dword [ebp - 0x38]
push 3
fadd qword [0x101407b8]
sub esp, 0x10
mov edi, 0x118c4e50
fst qword [ebp - 0x60]
fld qword [ebp - 0x50]
fadd qword [0x1013f7b8]
fst qword [ebp - 0x80]
fld dword [0x1013f828]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fxch st(1)
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp + 4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp]
push 0x7e53
call fcn.100c8a30
test al, al
je 0x100ca83a
push 0x2703
mov eax, 0x57d9a0
call eax
add esp, 4
cmp eax, 0x190
je 0x100ca83a
call fcn.10014320
fld qword [ebp - 0x60]
push 0x19
push 0x19
call fcn.1012e5b0
fld qword [ebp - 0x80]
push eax
call fcn.1012e5b0
push eax
mov ecx, 0x790b10
call ecx
add esp, 0x10
cmp al, 1
jne 0x100ca87d
mov edx, dword [0x8793410]
mov eax, dword [0x879340c]
push 0x109de660
push edx
add eax, 0x1e
push eax
mov ecx, 0x597220
call ecx
add esp, 0xc
fld qword [ebp - 0x50]
push ecx
fadd qword [0x1013f9d8]
mov edx, 0x402320
mov ecx, 0x8128adc
fstp dword [ebp - 0x2c]
fld qword [ebp - 0x58]
fadd qword [0x1013fa68]
fstp dword [ebp - 0x1c]
fld dword [0x1013f548]
fstp dword [esp]
push 0x51a
call edx
fld dword [0x10140390]
push eax
push 0xc
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ebp - 0x1c]
fstp dword [esp + 4]
fld dword [ebp - 0x2c]
fsub qword [0x1013f758]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp]
push 0x116dc850
call fcn.10066220
test al, al
je 0x100ca8ee
push 0xffffffffffffffff
call fcn.10013bd0
fld dword [0x1013f548]
push ecx
fstp dword [esp]
push 0x519
mov eax, 0x402320
mov ecx, 0x8128adc
call eax
fld dword [0x10140390]
push eax
push 0xc
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ebp - 0x1c]
fstp dword [esp + 4]
fld dword [ebp - 0x2c]
fadd qword [0x1013f580]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esp]
push 0x116dc850
call fcn.10066220
test al, al
je 0x100ca947
push 1
call fcn.10013bd0
mov byte [0x10a76d9b], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [0x118c80d1], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret