Function at 0x10055710
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008a12d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x15c
mov eax, dword fs:[0x2c]
mov edx, ecx
mov ecx, dword [0x100c6efc]
mov dword [ebp - 0x14], edx
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100d123c]
mov dword [ebp - 0x10], ecx
cmp eax, dword [ecx + 4]
jle 0x100557be
push 0x100d123c
call fcn.1006610e
add esp, 4
cmp dword [0x100d123c], 0xffffffff
jne 0x100557bb
mov dword [ebp - 4], 0
push 0x18
mov dword [0x100d32a8], 0
mov dword [0x100d32ac], 0
call fcn.10066172
push 0x10091610
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [0x100d32a8], eax
call fcn.100665bc
push 0x100d123c
mov dword [ebp - 4], 0xffffffff
call fcn.100660bd
add esp, 0xc
mov edx, dword [ebp - 0x14]
imul ecx, dword [edx + 0x10], 0x17
push esi
mov esi, dword [edx + 0x18]
push edi
mov edi, dword [ebp + 0xc]
add ecx, 0xf
add edi, 0xa
add edi, dword [edx + 0x14]
add esi, ecx
mov ecx, dword [0x100c7c24]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], esi
cmp ecx, edi
jle 0x100558ed
cmp dword [ebp + 8], 2
mov eax, 0xad
mov dword [ebp + 0xc], 0x168
cmove eax, dword [ebp + 0xc]
add eax, edi
cmp eax, ecx
jle 0x100558ed
mov ecx, dword [0x100c7c28]
cmp ecx, esi
jle 0x100558ed
cmp dword [ebp + 8], 2
mov eax, 0xf
mov dword [ebp + 0xc], 0x12
cmove eax, dword [ebp + 0xc]
add eax, esi
cmp eax, ecx
jle 0x100558ed
cvttss2si eax, dword [0x100cd6a0]
mov ecx, dword [ebp - 0x10]
mov dword [ebp + 0xc], eax
cvttss2si eax, dword [0x100cd69c]
mov dword [ebp - 0x2c], eax
cvttss2si eax, dword [0x100cd698]
mov dword [ebp - 0x30], eax
cvttss2si eax, dword [0x100cd694]
mov dword [ebp - 0x34], eax
mov eax, dword [0x100c82ac]
add eax, 9
mov dword [ebp - 0x38], eax
mov eax, dword [0x100c82a8]
add eax, 0xf
mov dword [ebp - 0x24], eax
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x100558c0
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x100558c0
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x24]
push 0
push dword [0x100c92d8]
push 0x100c7a68
call fcn.100073e0
mov edx, dword [ebp - 0x14]
add esp, 0x28
mov eax, 0xffffffd7
lea ecx, [edx + 0x29]
sub eax, edx
mov dword [ebp + 0xc], eax
mov edi, eax
nop dword [eax]
mov al, byte [ecx - 1]
mov byte [ebp + 0xf], al
test al, al
jne 0x1005593c
mov al, byte [ecx]
mov byte [ebp + 0xf], al
test al, al
jne 0x1005593c
mov al, byte [ecx + 1]
mov byte [ebp + 0xf], al
test al, al
jne 0x1005593c
mov al, byte [ecx + 2]
mov byte [ebp + 0xf], al
test al, al
jne 0x1005593c
mov al, byte [ecx + 3]
mov byte [ebp + 0xf], al
test al, al
jne 0x1005593c
add ecx, 5
lea eax, [edi + ecx]
cmp eax, 0x32
jl 0x10055900
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x18]
test eax, eax
jne 0x10055d57
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0x1c], eax
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x1005599b
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x1005599b
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
push dword [ebp + 0x1c]
push 0xff
push 0xff
push 0xff
push 0xff
push esi
push edi
push 0
push dword [0x100c92d8]
push 0x100c7a68
call fcn.100073e0
add edi, 0x82
add esi, 0xfffffffd
add esp, 0x28
mov dword [ebp - 0x18], edi
cmp byte [0x100c7c2d], 0
xorps xmm1, xmm1
mov dword [ebp + 0x1c], esi
lea eax, [edi - 3]
je 0x10055a32
mov ecx, dword [0x100c7c24]
cmp ecx, eax
jle 0x10055a32
add eax, 0x17
cmp eax, ecx
jle 0x10055a32
mov ecx, dword [0x100c7c28]
cmp ecx, esi
jle 0x10055a32
lea eax, [esi + 0x17]
cmp eax, ecx
jle 0x10055a32
cmp byte [ebp + 0xf], 0
jne 0x10055a32
mov edx, dword [ebp + 0x18]
movss xmm0, dword [edx]
ucomiss xmm0, xmm1
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 1
cmovnp ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [edx], xmm0
push 0xff
push 0xf
push 0xf
push 0xf
push 0xff
push 0x22
push 0x22
push 0x22
push 0x12
push 0x12
mov edx, esi
mov ecx, edi
call fcn.10050a80
mov eax, dword [ebp + 0x18]
add esp, 0x28
xorps xmm1, xmm1
movss xmm0, dword [eax]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10055cbb
movss xmm3, dword [0x100cd69c]
lea edx, [esi + 1]
movsd xmm4, qword [0x100b5850]
movss xmm2, dword [0x100cd698]
movss xmm1, dword [0x100cd694]
cvtps2pd xmm0, xmm3
push 0xff
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
cvtps2pd xmm0, xmm2
push eax
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
cvtps2pd xmm0, xmm1
push eax
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
movd xmm0, edi
push eax
cvttss2si eax, dword [0x100cd6a0]
cvtdq2pd xmm0, xmm0
push eax
cvttss2si eax, xmm3
addsd xmm0, qword [0x100b58a8]
push eax
cvttss2si eax, xmm2
cvttsd2si ecx, xmm0
push eax
cvttss2si eax, xmm1
push eax
push 0xb
push 9
call fcn.10050a80
movss xmm3, dword [0x100cd69c]
lea edx, [esi + 4]
movsd xmm4, qword [0x100b5850]
lea ecx, [edi + 5]
movss xmm2, dword [0x100cd698]
movss xmm1, dword [0x100cd694]
cvtps2pd xmm0, xmm3
push 0xff
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
cvtps2pd xmm0, xmm2
push eax
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
cvtps2pd xmm0, xmm1
push eax
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x100cd6a0]
push eax
cvttss2si eax, xmm3
push eax
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm1
push eax
push 0xb
push 0xa
call fcn.10050a80
movss xmm3, dword [0x100cd69c]
add esp, 0x50
movsd xmm4, qword [0x100b5850]
movss xmm2, dword [0x100cd698]
movss xmm1, dword [0x100cd694]
cvtps2pd xmm0, xmm3
mov esi, dword [ebp - 0x18]
push 0xff
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
cvtps2pd xmm0, xmm2
push eax
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
cvtps2pd xmm0, xmm1
push eax
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x100cd6a0]
mov edx, dword [ebp - 0x1c]
lea ecx, [esi + 3]
push eax
cvttss2si eax, xmm3
push eax
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm1
push eax
push 0xb
push 0xa
call fcn.10050a80
movss xmm3, dword [0x100cd69c]
lea ecx, [edi + 5]
movsd xmm4, qword [0x100b5850]
movss xmm2, dword [0x100cd698]
movss xmm1, dword [0x100cd694]
cvtps2pd xmm0, xmm3
push 0xff
mov edx, dword [ebp - 0x1c]
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
cvtps2pd xmm0, xmm2
push eax
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
cvtps2pd xmm0, xmm1
push eax
mulsd xmm0, xmm4
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x100cd6a0]
push eax
cvttss2si eax, xmm3
push eax
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm1
push eax
push 0xa
push 0xb
call fcn.10050a80
movss xmm0, dword [0x100cd69c]
lea ecx, [esi + 3]
movsd xmm1, qword [0x100b5850]
add esp, 0x50
cvtps2pd xmm0, xmm0
push 0xff
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
movss xmm0, dword [0x100cd698]
cvtps2pd xmm0, xmm0
push eax
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
movss xmm0, dword [0x100cd694]
cvtps2pd xmm0, xmm0
push eax
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp + 0x1c]
cvtdq2pd xmm0, xmm0
push eax
push 0xd
push 0xc
addsd xmm0, qword [0x100b5880]
cvttsd2si edx, xmm0
call fcn.10051430
mov edi, esi
add esp, 0x18
mov esi, dword [ebp + 0x1c]
mov ecx, dword [0x100c7c24]
cmp ecx, edi
jle 0x10055d34
lea eax, [edi + 0x12]
cmp eax, ecx
jle 0x10055d34
mov ecx, dword [0x100c7c28]
cmp ecx, esi
jle 0x10055d34
lea eax, [esi + 0x12]
cmp eax, ecx
jle 0x10055d34
cvttss2si eax, dword [0x100cd6a0]
mov edx, esi
mov ecx, edi
push eax
cvttss2si eax, dword [0x100cd69c]
push eax
cvttss2si eax, dword [0x100cd698]
push eax
cvttss2si eax, dword [0x100cd694]
push eax
push 0x12
push 0x12
call fcn.10051430
mov ecx, dword [0x100c82b8]
add esp, 0x18
mov edx, dword [ebp - 0x14]
mov eax, ecx
shr eax, 1
test al, 1
jne 0x100578e2
or ecx, 2
mov dword [0x100c82b8], ecx
jmp 0x100578e2
push 0xff
push 0x55
push 0x55
push 0x55
push 0x12
push 0x12
mov edx, esi
mov ecx, edi
call fcn.10051430
mov edx, dword [ebp - 0x14]
add esp, 0x18
jmp 0x100578e2
cmp eax, 7
jne 0x1005601d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0x1c], eax
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x10055db1
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x10055db1
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
push dword [ebp + 0x1c]
push 0xff
push 0xff
push 0xff
push 0xff
push esi
push edi
push 0
push dword [0x100c92d8]
push 0x100c7a68
call fcn.100073e0
add edi, 0x78
add esp, 0x28
cmp byte [0x100c7c2d], 0
mov dword [ebp - 0x18], edi
je 0x10055e22
mov ecx, dword [0x100c7c24]
cmp ecx, edi
jle 0x10055e22
lea eax, [edi + 0x28]
cmp eax, ecx
jle 0x10055e22
mov ecx, dword [0x100c7c28]
cmp ecx, esi
jle 0x10055e22
lea eax, [esi + 0xe]
cmp eax, ecx
jle 0x10055e22
cmp byte [ebp + 0xf], 0
jne 0x10055e22
lea eax, [ebp + 0x10]
push eax
call fcn.10057940
mov byte [eax], 1
lea eax, [ebp + 0x10]
push eax
call fcn.10057940
cmp byte [eax], 0
je 0x10055f23
mov edi, dword [ebp + 0x18]
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
nop dword [eax]
mov eax, dword [0x100c7bb8]
cmp byte [eax + ecx + 0xe8], 0
je 0x10055ea0
cmp ecx, 5
ja case.default.0x10055e54
jmp dword [ecx*4 + 0x10057904]
mov dword [edi], 0x3f800000
jmp 0x10055e91
mov dword [edi], 0x40000000
jmp 0x10055e91
mov dword [edi], 0x40800000
jmp 0x10055e91
mov dword [edi], 0x40a00000
jmp 0x10055e91
mov dword [edi], 0x40c00000
jmp 0x10055e91
mov dword [edi], 0x41800000
jmp 0x10055e91
mov dword [edi], 0
lea eax, [ebp + 0x10]
push eax
call fcn.10057940
mov ecx, dword [ebp + 0x1c]
mov byte [eax], 0
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, 5
jl 0x10055e40
lea eax, [ebp + 0x10]
push eax
call fcn.10057940
mov edi, dword [ebp - 0x18]
cmp byte [eax], 0
je 0x10055f05
mov edi, dword [ebp + 0x18]
mov esi, 8
nop dword [eax]
nop word [eax + eax]
mov eax, dword [0x100c7bb8]
cmp byte [eax + esi + 0xfc], 0
je 0x10055ef6
movd xmm0, esi
lea eax, [ebp + 0x10]
cvtdq2ps xmm0, xmm0
push eax
movss dword [edi], xmm0
call fcn.10057940
mov byte [eax], 0
inc esi
cmp esi, 0xa5
jle 0x10055ed0
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov eax, dword [0x100c7bb8]
cmp byte [eax + 0x117], 0
mov eax, dword [ebp + 0x18]
je 0x10055f1b
xorps xmm0, xmm0
jmp 0x10055f1f
movss xmm0, dword [eax]
movss dword [eax], xmm0
push 0xff
push 0x46
push 0x46
push 0x46
push 0xe
push 0x29
push esi
lea eax, [edi - 1]
push eax
call fcn.10006f60
push 0xff
push 0xf
push 0xf
push 0xf
push 0xff
push 0x22
push 0x22
push 0x22
push 0xe
push 0x28
mov edx, esi
mov ecx, edi
call fcn.10050a80
add esp, 0x28
lea eax, [ebp + 0x10]
push eax
call fcn.10057940
cmp byte [eax], 0
je 0x10055f79
mov dword [ebp + 0x18], str.listening
jmp 0x10055f8a
mov eax, dword [ebp + 0x18]
cvttss2si eax, dword [eax]
mov eax, dword [eax*4 + 0x100b0d90]
mov dword [ebp + 0x18], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100c6efc]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x10055fe1
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x10055fe1
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
push dword [ebp + 0x18]
lea eax, [esi + 1]
push 0xff
push 0xff
push 0xff
push 0xff
push eax
lea eax, [edi + 0x14]
push eax
push 1
push dword [0x100c92d8]
push 0x100c7a68
call fcn.100073e0
mov edx, dword [ebp - 0x14]
add esp, 0x28
jmp 0x100578e2
cmp eax, 1
jne 0x10056118
mov eax, dword [ebp + 0x10]
mov ecx, dword [0x100c6efc]
mov dword [ebp + 0x1c], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x10056083
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x10056083
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
push dword [ebp + 0x1c]
push 0xff
push 0xff
push 0xff
push 0xff
push esi
push edi
push 0
push dword [0x100c92d8]
push 0x100c7a68
call fcn.100073e0
mov edx, dword [ebp - 0x14]
lea eax, [edi + 0x6e]
mov dword [ebp - 0x50], eax
lea ecx, [edx + 0x5c]
lea eax, [esi - 1]
add esp, 0x28
mov dword [ebp - 0x4c], eax
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x40], eax
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx + 0x24]
movq xmm1, qword [ebp - 0x40]
mov dword [ebp - 0x48], eax
movups xmm0, xmmword [ebp - 0x50]
mov eax, dword [ecx + 4]
movq qword [ebp - 0x58], xmm1
movups xmmword [ebp - 0x68], xmm0
cmp eax, dword [ecx + 8]
je 0x10056106
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm1
add dword [ecx + 4], 0x18
jmp 0x100578e2
lea edx, [ebp - 0x68]
push edx
push eax
call fcn.10057d90
mov edx, dword [ebp - 0x14]
jmp 0x100578e2
cmp eax, 2
jne 0x10056af9
cmp byte [edx + 0x71], 0
movss xmm0, dword [ebp + 0x20]
divss xmm0, dword [edx + 0x74]
mov byte [ebp + 0x27], 0
movss dword [ebp + 0x14], xmm0
je 0x100561f5
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 0x168]
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x10056150
mov eax, 0x100b45e8
lea ecx, [ebp - 0x28]
sub eax, 0x1ff715b5
push eax
call fcn.10057d20
mov ecx, dword [ebp + 0x18]
sub esp, 8
movss xmm0, dword [ecx]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.1001b820
mov eax, dword fs:[0x2c]
add esp, 0x14
mov ecx, dword [0x100c6efc]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x100561ec
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x100561ec
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
lea eax, [ebp - 0x168]
push eax
jmp 0x10056255
mov eax, dword [ebp + 0x10]
mov ecx, dword [0x100c6efc]
mov dword [ebp - 0x24], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x10056252
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x10056252
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
push dword [ebp - 0x24]
push 0xff
push 0xff
push 0xff
push 0xff
lea eax, [esi - 7]
push eax
push edi
push 0
push dword [0x100c92d8]
push 0x100c7a68
call fcn.100073e0
mov eax, dword [ebp - 0x14]
add esi, 8
add esp, 0x28
mov dword [ebp - 0x1c], esi
cmp byte [eax + 0x70], 0
lea ecx, [esi + 4]
movss xmm0, dword [eax + 0x74]
addss xmm0, dword [0x100b5874]
mov dword [ebp - 0x10], ecx
cvttss2si edx, xmm0
mov dword [ebp - 0x24], edx
je 0x100563ff
cvttss2si eax, dword [eax + 0xc]
mov ecx, dword [0x100c92b0]
mov edx, dword [ecx]
push eax
mov eax, dword [ebp - 0x14]
cvttss2si eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 0x14]
cvttss2si eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x14]
cvttss2si eax, dword [eax]
push eax
call dword [edx + 0x3c]
mov ecx, dword [0x100c92b0]
lea eax, [esi + 9]
push eax
mov eax, dword [ebp - 0x24]
add eax, edi
mov edx, dword [ecx]
push eax
lea eax, [esi + 4]
push eax
push edi
call dword [edx + 0x40]
mov eax, dword [ebp - 0x14]
push 0xff
push 0x46
push 0x46
movss xmm0, dword [eax + 0x74]
addss xmm0, dword [0x100b5874]
push 0x46
push 5
cvttss2si eax, xmm0
push eax
lea eax, [esi + 4]
push eax
push edi
call fcn.10006f60
push 0x7b
push 0x78
push 0x73
push ecx
push 0x46
push 0x46
push 0x46
add esi, 9
mov ecx, edi
push 1
push 0x3a
mov edx, esi
call fcn.10055060
mov ecx, dword [0x100c92b0]
add esp, 0x24
mov eax, dword [ecx]
push 0xb9
push 0x7b
push 0x78
push 0x73
call dword [eax + 0x3c]
mov ecx, dword [0x100c92b0]
lea eax, [esi + 1]
push eax
mov eax, dword [ebp - 0x18]
add edi, 0x129
push edi
mov edx, dword [ecx]
add eax, 0x39
push esi
push eax
call dword [edx + 0x40]
mov ecx, dword [ebp - 0x18]
push 0x46
push 0x46
push 0x46
push ecx
push 0x7b
push 0x78
push 0x73
push 1
push 0x43
mov edx, esi
add ecx, 0x129
call fcn.10055060
mov esi, dword [ebp - 0x18]
add esp, 0x24
mov edx, dword [ebp - 0x10]
push 0x7b
push 0x78
push 0x73
push ecx
push 0x46
push 0x46
push 0x46
push 1
push 0x3a
mov ecx, esi
call fcn.10055060
mov ecx, dword [0x100c92b0]
add esp, 0x24
mov eax, dword [ecx]
push 0xb9
push 0x7b
push 0x78
push 0x73
call dword [eax + 0x3c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [0x100c92b0]
inc eax
push eax
push edi
mov edi, dword [ebp - 0x10]
lea eax, [esi + 0x39]
mov edx, dword [ecx]
push edi
push eax
call dword [edx + 0x40]
push 0x46
push 0x46
push 0x46
push ecx
push 0x7b
push 0x78
push 0x73
push 1
push 0x43
jmp 0x100564f4
push 0xff
push 0x46
push 0x46
push 0x46
push 5
push edx
mov edx, ecx
mov ecx, edi
call fcn.10051430
add esp, 0x18
add esi, 9
mov edx, esi
push 0x7b
push 0x78
push 0x73
push ecx
push 0x46
push 0x46
push 0x46
push 1
push 0x38
lea ecx, [edi + 2]
call fcn.10055060
mov ecx, dword [0x100c92b0]
add esp, 0x24
mov eax, dword [ecx]
push 0xb9
push 0x7b
push 0x78
push 0x73
call dword [eax + 0x3c]
mov ecx, dword [0x100c92b0]
lea eax, [esi + 1]
push eax
mov eax, dword [ebp - 0x18]
add edi, 0x129
push edi
mov edx, dword [ecx]
add eax, 0x39
push esi
push eax
call dword [edx + 0x40]
mov ecx, dword [ebp - 0x18]
mov edx, esi
push 0x46
push 0x46
push 0x46
push ecx
push 0x7b
push 0x78
push 0x73
push 1
push 0x41
add ecx, 0x129
call fcn.10055060
mov esi, dword [ebp - 0x18]
add esp, 0x24
mov edx, dword [ebp - 0x10]
push 0x7b
push 0x78
push 0x73
push ecx
push 0x46
push 0x46
push 0x46
push 1
push 0x38
lea ecx, [esi + 2]
call fcn.10055060
mov ecx, dword [0x100c92b0]
add esp, 0x24
mov eax, dword [ecx]
push 0xb9
push 0x7b
push 0x78
push 0x73
call dword [eax + 0x3c]
mov ecx, dword [0x100c92b0]
mov eax, dword [ebp - 0x10]
inc eax
mov edx, dword [ecx]
push eax
push edi
mov edi, dword [ebp - 0x10]
lea eax, [esi + 0x39]
push edi
push eax
call dword [edx + 0x40]
push 0x46
push 0x46
push 0x46
push ecx
push 0x7b
push 0x78
push 0x73
push 1
push 0x41
mov edx, edi
lea ecx, [esi + 0x129]
call fcn.10055060
add esp, 0x24
lea ecx, [esi + 2]
mov edx, edi
push 0xff
push 0x1e
push 0x1e
push 0x1e
push 0xff
push 0x1e
push 0x1e
push 0x1e
push 5
push 0x199
call fcn.10050a80
push 0xff
push 0x1e
push 0x1e
push 0x1e
push 0xff
push 0x1e
push 0x1e
push 0x1e
push 1
push 0x19c
lea ecx, [esi + 1]
mov edx, edi
call fcn.10050a80
mov ecx, dword [0x100c7c24]
lea eax, [esi - 3]
mov edx, dword [0x100c7c28]
add esp, 0x50
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], edx
cmp ecx, eax
jl 0x100565fc
mov eax, dword [ebp - 0x14]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
addss xmm0, dword [eax + 0x74]
cvtdq2ps xmm1, xmm1
addss xmm0, dword [0x100b58d0]
comiss xmm0, xmm1
jb 0x100565fc
cmp edx, edi
jl 0x100565fc
lea eax, [edi + 0xa]
cmp edx, eax
jg 0x100565fc
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x100565fc
cmp dword [0x100c4e70], 0xffffffff
jne 0x100565fc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x100c7bc0], eax
jae 0x100565fc
mov ecx, dword [0x100c7c04]
cmp byte [ecx + 0x100c7bc4], 0
jne 0x10056602
mov edx, dword [0x100c82b8]
mov eax, edx
shr eax, 1
mov dword [0x100c4e70], ecx
mov byte [ecx + 0x100c7bc4], 1
test al, 1
jne 0x10056602
or edx, 2
mov dword [0x100c82b8], edx
jmp 0x10056602
mov ecx, dword [0x100c7c04]
mov edx, dword [ebp - 0x10]
lea eax, [esi - 0x3e8]
cmp edx, eax
jl 0x100566ba
mov eax, dword [ebp - 0x14]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movd xmm1, edx
addss xmm0, dword [eax + 0x74]
cvtdq2ps xmm1, xmm1
addss xmm0, dword [0x100b59a4]
comiss xmm0, xmm1
jb 0x100566ba
mov edx, dword [ebp - 0x24]
lea eax, [edi - 0x3e8]
cmp edx, eax
jl 0x100566ba
lea eax, [edi + 0x3e8]
cmp edx, eax
jg 0x100566ba
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x100566b4
cmp byte [ebp + 0xf], 0
jne 0x100566b4
mov eax, dword [0x100c7c04]
movss xmm1, dword [ebp + 0x14]
movss xmm3, dword [ebp + 0x1c]
cmp byte [eax + 0x100c7bc4], 0
je 0x100566de
mov eax, dword [ebp - 0x10]
sub eax, esi
mov byte [ebp + 0x27], 1
movd xmm0, eax
mov eax, dword [ebp + 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm0, xmm3
movss dword [eax], xmm0
mov ecx, dword [0x100c82b8]
mov eax, ecx
shr eax, 1
test al, 1
jne 0x100566de
or ecx, 2
mov dword [0x100c82b8], ecx
jmp 0x100566de
mov ecx, dword [0x100c7c04]
cmp byte [ecx + 0x100c7bc4], 0
movss xmm1, dword [ebp + 0x14]
movss xmm3, dword [ebp + 0x1c]
je 0x100566de
mov dword [0x100c4e70], 0xffffffff
mov byte [ecx + 0x100c7bc4], 0
mov eax, dword [ebp + 0x18]
movss xmm0, dword [ebp + 0x20]
movss xmm2, dword [eax]
comiss xmm2, xmm0
jbe 0x100566f6
movss dword [eax], xmm0
movaps xmm2, xmm0
comiss xmm3, xmm2
jbe 0x10056702
movss dword [eax], xmm3
movaps xmm2, xmm3
cvttss2si eax, dword [0x100cd6a0]
lea edx, [edi + 4]
lea ecx, [esi + 1]
divss xmm2, xmm1
push eax
cvttss2si eax, dword [0x100cd69c]
xorps xmm0, xmm0
push eax
cvttss2si eax, dword [0x100cd698]
addss xmm2, xmm0
push eax
cvttss2si eax, dword [0x100cd694]
push eax
cvttss2si eax, xmm2
push 5
push eax
call fcn.10051430
cvttss2si esi, dword [0x100cd6a0]
cvttss2si edx, dword [0x100cd69c]
push esi
cvttss2si ecx, dword [0x100cd698]
push edx
cvttss2si eax, dword [0x100cd694]
push ecx
xorps xmm1, xmm1
push eax
push esi
push edx
push ecx
push eax
mov eax, dword [ebp + 0x18]
lea edx, [edi + 4]
mov esi, dword [ebp - 0x18]
push 5
movss xmm0, dword [eax]
divss xmm0, dword [ebp + 0x14]
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
push eax
addsd xmm0, qword [0x100b5868]
cvttsd2si ecx, xmm0
call fcn.10050a80
movd xmm2, esi
lea eax, [edi + 6]
cvtdq2ps xmm2, xmm2
add esp, 0x40
mov dword [ebp + 0x20], 0
mov dword [ebp - 0x10], eax
xor edi, edi
mov dword [ebp + 0x1c], eax
movss dword [ebp + 0xc], xmm2
nop word [eax + eax]
mov eax, dword [ebp + 0x18]
mov ecx, dword [0x100c92b0]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
push 0xff
push 0x23
push 0x23
push 0x23
movss xmm0, dword [eax]
divss xmm0, dword [ebp + 0x14]
mov eax, dword [ecx]
addss xmm0, xmm2
subss xmm0, dword [0x100b5914]
addss xmm0, xmm1
cvttss2si esi, xmm0
call dword [eax + 0x3c]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [0x100c92b0]
inc eax
push eax
mov eax, esi
sub eax, edi
mov edx, dword [ecx]
add eax, 7
push eax
push dword [ebp + 0x1c]
push esi
call dword [edx + 0x40]
mov eax, dword [ebp + 0x18]
mov ecx, dword [0x100c92b0]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
push 0xff
push 0x23
push 0x23
push 0x23
movss xmm0, dword [eax]
divss xmm0, dword [ebp + 0x14]
mov eax, dword [ecx]
addss xmm0, dword [ebp + 0xc]
subss xmm0, dword [0x100b5914]
addss xmm0, xmm1
cvttss2si esi, xmm0
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x10]
mov eax, esi
sub eax, dword [ebp + 0x20]
inc ecx
add edi, ecx
add eax, 7
mov ecx, dword [0x100c92b0]
push edi
push eax
mov eax, dword [ebp - 0x10]
add eax, dword [ebp + 0x20]
mov edx, dword [ecx]
push eax
push esi
mov dword [ebp - 0x24], edi
call dword [edx + 0x40]
mov eax, dword [ebp + 0x18]
mov ecx, dword [0x100c92b0]
push 0xff
push 0x23
movss xmm0, dword [eax]
divss xmm0, dword [ebp + 0x14]
mov eax, dword [ecx]
push 0x23
push 0x23
addss xmm0, dword [ebp + 0xc]
cvttss2si esi, xmm0
call dword [eax + 0x3c]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [0x100c92b0]
inc eax
push eax
mov eax, esi
sub eax, dword [ebp + 0x20]
mov edx, dword [ecx]
add eax, 7
push eax
push dword [ebp + 0x1c]
push esi
call dword [edx + 0x40]
mov eax, dword [ebp + 0x18]
mov ecx, dword [0x100c92b0]
push 0xff
push 0x23
movss xmm0, dword [eax]
divss xmm0, dword [ebp + 0x14]
mov eax, dword [ecx]
push 0x23
push 0x23
addss xmm0, dword [ebp + 0xc]
cvttss2si esi, xmm0
call dword [eax + 0x3c]
mov ecx, dword [0x100c92b0]
mov eax, esi
push edi
mov edi, dword [ebp + 0x20]
sub eax, edi
add eax, 7
mov edx, dword [ecx]
push eax
mov eax, dword [ebp - 0x10]
add eax, edi
push eax
push esi
call dword [edx + 0x40]
dec dword [ebp + 0x1c]
inc edi
movss xmm2, dword [ebp + 0xc]
mov dword [ebp + 0x20], edi
cmp edi, 6
jle 0x100567d0
mov eax, dword [ebp + 0x18]
movss xmm1, dword [eax]
divss xmm1, dword [ebp + 0x14]
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [0x100c7c24]
lea edx, [esi - 1]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
subss xmm1, dword [0x100b5914]
cvttss2si eax, xmm1
cmp ecx, eax
jle 0x10056981
add eax, 0xa
cmp eax, ecx
jle 0x10056981
mov ecx, dword [0x100c7c28]
cmp ecx, edx
jle 0x10056981
lea eax, [edx + 0xe]
cmp eax, ecx
jg 0x1005699f
cmp byte [ebp + 0x27], 0
jne 0x1005699f
mov ecx, dword [0x100c92b0]
push 0xff
push 0x64
push 0x64
mov eax, dword [ecx]
push 0x64
call dword [eax + 0x3c]
jmp 0x100569ce
cvttss2si eax, dword [0x100cd6a0]
mov ecx, dword [0x100c92b0]
mov edx, dword [ecx]
push eax
cvttss2si eax, dword [0x100cd69c]
push eax
cvttss2si eax, dword [0x100cd698]
push eax
cvttss2si eax, dword [0x100cd694]
push eax
call dword [edx + 0x3c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [0x100c92b0]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov edx, dword [ecx]
movss xmm1, dword [eax]
lea eax, [esi - 1]
divss xmm1, dword [ebp + 0x14]
push eax
addss xmm1, xmm0
cvttss2si eax, xmm1
subss xmm1, dword [0x100b591c]
push eax
lea eax, [esi + 6]
push eax
cvttss2si eax, xmm1
push eax
call dword [edx + 0x4c]
mov eax, dword [ebp + 0x18]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov ecx, dword [0x100c92b0]
movss xmm1, dword [eax]
lea eax, [esi + 6]
divss xmm1, dword [ebp + 0x14]
mov edx, dword [ecx]
push eax
addss xmm1, xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x100b591c]
cvttss2si eax, xmm0
push eax
lea eax, [esi - 1]
push eax
cvttss2si eax, xmm1
push eax
call dword [edx + 0x4c]
mov eax, dword [ebp + 0x18]
add esi, 0xd
mov ecx, dword [0x100c92b0]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push esi
mov edx, dword [ecx]
movss xmm1, dword [eax]
divss xmm1, dword [ebp + 0x14]
addss xmm1, xmm0
cvttss2si eax, xmm1
addss xmm1, dword [0x100b591c]
push eax
mov eax, dword [ebp - 0x1c]
add eax, 6
push eax
cvttss2si eax, xmm1
push eax
call dword [edx + 0x4c]
mov eax, dword [ebp + 0x18]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov ecx, dword [0x100c92b0]
movss xmm1, dword [eax]
divss xmm1, dword [ebp + 0x14]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ecx]
add eax, 6
push eax
addss xmm1, xmm0
movaps xmm0, xmm1
subss xmm0, dword [0x100b591c]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push esi
push eax
call dword [edx + 0x4c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x6c]
test ecx, ecx
je 0x100578e2
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx + 0x6c]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov ecx, dword [edx + 0x6c]
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov ecx, dword [edx + 0x6c]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
jmp 0x100578e2
cmp eax, 3
jne 0x1005721c
cmp byte [edx + 0x71], 0
movss xmm0, dword [ebp + 0x20]
divss xmm0, dword [edx + 0x74]
mov byte [ebp + 0x27], 0
movss dword [ebp + 0x14], xmm0
je 0x10056bd5
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 0x168]
sub edx, ecx
nop word [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x10056b30
mov eax, 0x100b45e8
lea ecx, [ebp - 0x28]
sub eax, 0x1ff715b5
push eax
call fcn.10057d20
mov ecx, dword [ebp + 0x18]
sub esp, 8
movss xmm0, dword [ecx]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.1001b820
mov eax, dword fs:[0x2c]
add esp, 0x14
mov ecx, dword [0x100c6efc]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x10056bcc
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x10056bcc
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
lea eax, [ebp - 0x168]
push eax
jmp 0x10056c35
mov eax, dword [ebp + 0x10]
mov ecx, dword [0x100c6efc]
mov dword [ebp - 0x24], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x10056c32
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x10056c32
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
push dword [ebp - 0x24]
push 0xff
push 0xff
push 0xff
push 0xff
lea eax, [esi - 7]
push eax
push edi
push 0
push dword [0x100c92d8]
push 0x100c7a68
call fcn.100073e0
mov eax, dword [ebp - 0x14]
add esi, 8
add esp, 0x28
mov dword [ebp - 0x1c], esi
cmp byte [eax + 0x70], 0
lea ecx, [esi + 4]
movss xmm0, dword [eax + 0x74]
addss xmm0, dword [0x100b5874]
mov dword [ebp - 0x10], ecx
cvttss2si edx, xmm0
mov dword [ebp - 0x24], edx
je 0x10056ddf
cvttss2si eax, dword [eax + 0xc]
mov ecx, dword [0x100c92b0]
mov edx, dword [ecx]
push eax
mov eax, dword [ebp - 0x14]
cvttss2si eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 0x14]
cvttss2si eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x14]
cvttss2si eax, dword [eax]
push eax
call dword [edx + 0x3c]
mov ecx, dword [0x100c92b0]
lea eax, [esi + 9]
push eax
mov eax, dword [ebp - 0x24]
add eax, edi
mov edx, dword [ecx]
push eax
lea eax, [esi + 4]
push eax
push edi
call dword [edx + 0x40]
mov eax, dword [ebp - 0x14]
push 0xff
push 0x46
push 0x46
movss xmm0, dword [eax + 0x74]
addss xmm0, dword [0x100b5874]
push 0x46
push 5
cvttss2si eax, xmm0
push eax
lea eax, [esi + 4]
push eax
push edi
call fcn.10006f60
push 0x7b
push 0x78
push 0x73
push ecx
push 0x46
push 0x46
push 0x46
add esi, 9
mov ecx, edi
push 1
push 0x3a
mov edx, esi
call fcn.10055060
mov ecx, dword [0x100c92b0]
add esp, 0x24
mov eax, dword [ecx]
push 0xb9
push 0x7b
push 0x78
push 0x73
call dword [eax + 0x3c]
mov ecx, dword [0x100c92b0]
lea eax, [esi + 1]
push eax
mov eax, dword [ebp - 0x18]
add edi, 0x129
push edi
mov edx, dword [ecx]
add eax, 0x39
push esi
push eax
call dword [edx + 0x40]
mov ecx, dword [ebp - 0x18]
push 0x46
push 0x46
push 0x46
push ecx
push 0x7b
push 0x78
push 0x73
push 1
push 0x43
mov edx, esi
add ecx, 0x129
call fcn.10055060
mov esi, dword [ebp - 0x18]
add esp, 0x24
mov edx, dword [ebp - 0x10]
push 0x7b
push 0x78
push 0x73
push ecx
push 0x46
push 0x46
push 0x46
push 1
push 0x3a
mov ecx, esi
call fcn.10055060
mov ecx, dword [0x100c92b0]
add esp, 0x24
mov eax, dword [ecx]
push 0xb9
push 0x7b
push 0x78
push 0x73
call dword [eax + 0x3c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [0x100c92b0]
inc eax
push eax
push edi
mov edi, dword [ebp - 0x10]
lea eax, [esi + 0x39]
mov edx, dword [ecx]
push edi
push eax
call dword [edx + 0x40]
push 0x46
push 0x46
push 0x46
push ecx
push 0x7b
push 0x78
push 0x73
push 1
push 0x43
jmp 0x10056ed4
push 0xff
push 0x46
push 0x46
push 0x46
push 5
push edx
mov edx, ecx
mov ecx, edi
call fcn.10051430
add esp, 0x18
add esi, 9
mov edx, esi
push 0x7b
push 0x78
push 0x73
push ecx
push 0x46
push 0x46
push 0x46
push 1
push 0x38
lea ecx, [edi + 2]
call fcn.10055060
mov ecx, dword [0x100c92b0]
add esp, 0x24
mov eax, dword [ecx]
push 0xb9
push 0x7b
push 0x78
push 0x73
call dword [eax + 0x3c]
mov ecx, dword [0x100c92b0]
lea eax, [esi + 1]
push eax
mov eax, dword [ebp - 0x18]
add edi, 0x129
push edi
mov edx, dword [ecx]
add eax, 0x39
push esi
push eax
call dword [edx + 0x40]
mov ecx, dword [ebp - 0x18]
mov edx, esi
push 0x46
push 0x46
push 0x46
push ecx
push 0x7b
push 0x78
push 0x73
push 1
push 0x41
add ecx, 0x129
call fcn.10055060
mov esi, dword [ebp - 0x18]
add esp, 0x24
mov edx, dword [ebp - 0x10]
push 0x7b
push 0x78
push 0x73
push ecx
push 0x46
push 0x46
push 0x46
push 1
push 0x38
lea ecx, [esi + 2]
call fcn.10055060
mov ecx, dword [0x100c92b0]
add esp, 0x24
mov eax, dword [ecx]
push 0xb9
push 0x7b
push 0x78
push 0x73
call dword [eax + 0x3c]
mov ecx, dword [0x100c92b0]
mov eax, dword [ebp - 0x10]
inc eax
mov edx, dword [ecx]
push eax
push edi
mov edi, dword [ebp - 0x10]
lea eax, [esi + 0x39]
push edi
push eax
call dword [edx + 0x40]
push 0x46
push 0x46
push 0x46
push ecx
push 0x7b
push 0x78
push 0x73
push 1
push 0x41
mov edx, edi
lea ecx, [esi + 0x129]
call fcn.10055060
mov ecx, dword [0x100c7c24]
lea eax, [esi - 3]
mov edx, dword [0x100c7c28]
add esp, 0x24
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], edx
cmp ecx, eax
jl 0x10056f8b
mov eax, dword [ebp - 0x14]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
addss xmm0, dword [eax + 0x74]
cvtdq2ps xmm1, xmm1
addss xmm0, dword [0x100b58d0]
comiss xmm0, xmm1
jb 0x10056f8b
cmp edx, edi
jl 0x10056f8b
lea eax, [edi + 0xa]
cmp edx, eax
jg 0x10056f8b
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10056f8b
cmp dword [0x100c4e70], 0xffffffff
jne 0x10056f8b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x100c7bc0], eax
jae 0x10056f8b
mov ecx, dword [0x100c7c04]
cmp byte [ecx + 0x100c7bc4], 0
jne 0x10056f91
mov edx, dword [0x100c82b8]
mov eax, edx
shr eax, 1
mov dword [0x100c4e70], ecx
mov byte [ecx + 0x100c7bc4], 1
test al, 1
jne 0x10056f91
or edx, 2
mov dword [0x100c82b8], edx
jmp 0x10056f91
mov ecx, dword [0x100c7c04]
mov edx, dword [ebp - 0x10]
lea eax, [esi - 0x3e8]
cmp edx, eax
jl 0x10057049
mov eax, dword [ebp - 0x14]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movd xmm1, edx
addss xmm0, dword [eax + 0x74]
cvtdq2ps xmm1, xmm1
addss xmm0, dword [0x100b59a4]
comiss xmm0, xmm1
jb 0x10057049
mov edx, dword [ebp - 0x24]
lea eax, [edi - 0x3e8]
cmp edx, eax
jl 0x10057049
lea eax, [edi + 0x3e8]
cmp edx, eax
jg 0x10057049
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10057043
cmp byte [ebp + 0xf], 0
jne 0x10057043
mov eax, dword [0x100c7c04]
movss xmm2, dword [ebp + 0x14]
movss xmm1, dword [ebp + 0x1c]
cmp byte [eax + 0x100c7bc4], 0
je 0x1005706d
mov eax, dword [ebp - 0x10]
sub eax, esi
mov byte [ebp + 0x27], 1
movd xmm0, eax
mov eax, dword [ebp + 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax], xmm0
mov ecx, dword [0x100c82b8]
mov eax, ecx
shr eax, 1
test al, 1
jne 0x1005706d
or ecx, 2
mov dword [0x100c82b8], ecx
jmp 0x1005706d
mov ecx, dword [0x100c7c04]
cmp byte [ecx + 0x100c7bc4], 0
movss xmm2, dword [ebp + 0x14]
movss xmm1, dword [ebp + 0x1c]
je 0x1005706d
mov dword [0x100c4e70], 0xffffffff
mov byte [ecx + 0x100c7bc4], 0
mov eax, dword [ebp + 0x18]
movss xmm0, dword [ebp + 0x20]
movss xmm3, dword [eax]
comiss xmm3, xmm0
jbe 0x10057085
movss dword [eax], xmm0
movaps xmm3, xmm0
comiss xmm1, xmm3
jbe 0x1005708e
movss dword [eax], xmm1
movd xmm3, esi
lea ecx, [edi + 6]
cvtdq2ps xmm3, xmm3
mov dword [ebp + 0x20], 0
xor edi, edi
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x1c], ecx
movss dword [ebp + 0xc], xmm3
jmp 0x100570b5
movss xmm2, dword [ebp + 0x14]
movss xmm0, dword [eax]
divss xmm0, xmm2
mov ecx, dword [0x100c92b0]
push 0xff
push 0x23
push 0x23
mov eax, dword [ecx]
push 0x23
movd xmm1, edi
addss xmm0, xmm3
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x100b5914]
addss xmm0, xmm1
cvttss2si esi, xmm0
call dword [eax + 0x3c]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [0x100c92b0]
inc eax
push eax
mov eax, esi
sub eax, edi
mov edx, dword [ecx]
add eax, 7
push eax
push dword [ebp + 0x1c]
push esi
call dword [edx + 0x40]
mov eax, dword [ebp + 0x18]
mov ecx, dword [0x100c92b0]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
push 0xff
push 0x23
push 0x23
push 0x23
movss xmm0, dword [eax]
divss xmm0, dword [ebp + 0x14]
mov eax, dword [ecx]
addss xmm0, dword [ebp + 0xc]
subss xmm0, dword [0x100b5914]
addss xmm0, xmm1
cvttss2si esi, xmm0
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x10]
mov eax, esi
sub eax, dword [ebp + 0x20]
inc ecx
add edi, ecx
add eax, 7
mov ecx, dword [0x100c92b0]
push edi
push eax
mov eax, dword [ebp - 0x10]
add eax, dword [ebp + 0x20]
mov edx, dword [ecx]
push eax
push esi
mov dword [ebp - 0x24], edi
call dword [edx + 0x40]
mov eax, dword [ebp + 0x18]
mov ecx, dword [0x100c92b0]
push 0xff
push 0x23
movss xmm0, dword [eax]
divss xmm0, dword [ebp + 0x14]
mov eax, dword [ecx]
push 0x23
push 0x23
addss xmm0, dword [ebp + 0xc]
cvttss2si esi, xmm0
call dword [eax + 0x3c]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [0x100c92b0]
inc eax
push eax
mov eax, esi
sub eax, dword [ebp + 0x20]
mov edx, dword [ecx]
add eax, 7
push eax
push dword [ebp + 0x1c]
push esi
call dword [edx + 0x40]
mov eax, dword [ebp + 0x18]
mov ecx, dword [0x100c92b0]
push 0xff
push 0x23
movss xmm0, dword [eax]
divss xmm0, dword [ebp + 0x14]
mov eax, dword [ecx]
push 0x23
push 0x23
addss xmm0, dword [ebp + 0xc]
cvttss2si esi, xmm0
call dword [eax + 0x3c]
mov ecx, dword [0x100c92b0]
mov eax, esi
push edi
mov edi, dword [ebp + 0x20]
sub eax, edi
add eax, 7
mov edx, dword [ecx]
push eax
mov eax, dword [ebp - 0x10]
add eax, edi
push eax
push esi
call dword [edx + 0x40]
dec dword [ebp + 0x1c]
inc edi
movss xmm3, dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x20], edi
cmp edi, 6
jle 0x100570b0
jmp 0x10056936
cmp eax, 5
jne 0x100578e2
mov eax, dword [ebp + 0x10]
mov ecx, dword [0x100c6efc]
mov dword [ebp + 0x14], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x10057282
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x10057282
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
push dword [ebp + 0x14]
push 0xff
push 0xff
push 0xff
push 0xff
push esi
push edi
push 0
push dword [0x100c92d8]
push 0x100c7a68
call fcn.100073e0
mov ecx, dword [0x100c7c24]
inc esi
add edi, 0x6e
mov dword [ebp - 0x1c], esi
add esp, 0x28
cmp ecx, edi
jle 0x100572f2
lea eax, [edi + 0x46]
cmp eax, ecx
jle 0x100572f2
mov ecx, dword [0x100c7c28]
cmp ecx, esi
jle 0x100572f2
lea eax, [esi + 0x12]
cmp eax, ecx
jle 0x100572f2
mov ecx, dword [0x100c82b8]
mov eax, ecx
shr eax, 1
test al, 1
jne 0x1005731a
or ecx, 2
mov dword [0x100c82b8], ecx
jmp 0x1005731a
push 0xff
push 0xf
push 0xf
push 0xf
push 0xff
push 0x22
push 0x22
push 0x22
push 0x11
push 0x45
lea edx, [esi - 4]
lea ecx, [edi - 3]
call fcn.10050a80
add esp, 0x28
push 0xff
push 0x55
push 0x55
push 0x55
push 0x12
lea edx, [esi - 4]
push 0x46
lea ecx, [edi - 3]
call fcn.10051430
mov ecx, dword [0x100c92b0]
add esp, 0x18
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
call dword [eax + 0x3c]
mov ecx, dword [0x100c92b0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [esi + 0x13]
push eax
lea eax, [edi + 0x13]
push eax
push esi
push edi
call edx
mov edx, dword [0x100c7c24]
lea eax, [esi - 3]
cmp edx, edi
jle 0x100573db
lea ecx, [edi + 0x13]
cmp ecx, edx
jle 0x100573db
mov ecx, dword [0x100c7c28]
cmp ecx, eax
jle 0x100573db
add eax, 0x13
cmp eax, ecx
jle 0x100573db
push 0
push 0
push 0
push 0
push 0x13
push 0x13
lea eax, [esi - 4]
push eax
push edi
call fcn.10006f60
cmp byte [0x100c7c2d], 0
mov al, byte [ebp + 0xf]
mov ecx, dword [ebp + 0x18]
je 0x100573bc
test al, al
jne 0x100573bc
movss xmm0, dword [ecx]
subss xmm0, dword [ebp + 0x24]
movss dword [ecx], xmm0
cmp byte [0x100c7c2e], 0
je 0x100573ee
test al, al
jne 0x100573ee
movss xmm0, dword [ecx]
subss xmm0, dword [0x100b5940]
movss dword [ecx], xmm0
jmp 0x100573ee
push 0
push 0
push 0
push 0
push 0xa
push 2
push esi
push edi
call fcn.10006f60
mov ecx, dword [0x100c6efc]
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x10], eax
mov ecx, eax
mov eax, dword [0x100d1214]
cmp eax, dword [ecx + 4]
jle 0x10057499
push 0x100d1214
call fcn.1006610e
add esp, 4
cmp dword [0x100d1214], 0xffffffff
jne 0x10057496
mov dword [ebp - 4], 1
mov word [ebp + 0x16], 0x3c
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x16]
xorps xmm0, xmm0
mov dword [0x100d1750], 0
movups xmmword [0x100d1740], xmm0
mov dword [0x100d1754], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10057460
sub ecx, edx
lea eax, [ebp + 0x16]
push ecx
push eax
mov ecx, 0x100d1740
call fcn.100064b0
push 0x100915b0
call fcn.100665bc
push 0x100d1214
mov dword [ebp - 4], 0xffffffff
call fcn.100660bd
add esp, 8
mov ecx, dword [ebp - 0x10]
cmp dword [0x100d1754], 0xf
mov eax, 0x100d1740
cmova eax, dword [0x100d1740]
mov dword [ebp + 0x14], eax
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x100574f7
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x100574f7
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
push dword [ebp + 0x14]
lea eax, [esi - 3]
push 0xff
push 0x64
push 0x64
push 0x64
push eax
lea eax, [edi + 7]
push eax
push 1
push dword [0x100c92e0]
push 0x100c7a68
call fcn.100073e0
mov ecx, dword [ebp - 0x10]
add esp, 0x28
mov eax, dword [0x100d2b34]
cmp eax, dword [ecx + 4]
jle 0x100575c1
push 0x100d2b34
call fcn.1006610e
add esp, 4
cmp dword [0x100d2b34], 0xffffffff
jne 0x100575be
mov dword [ebp - 4], 3
mov dword [ebp - 0x25], 0x302e3225
mov word [ebp - 0x21], 0x66
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x25]
xorps xmm0, xmm0
mov dword [0x100d2564], 0
movups xmmword [0x100d2554], xmm0
mov dword [0x100d2568], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10057588
sub ecx, edx
lea eax, [ebp - 0x25]
push ecx
push eax
mov ecx, 0x100d2554
call fcn.100064b0
push 0x10091550
call fcn.100665bc
push 0x100d2b34
mov dword [ebp - 4], 0xffffffff
call fcn.100660bd
add esp, 8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x18]
cmp dword [0x100d2568], 0xf
movss xmm0, dword [eax]
mov eax, 0x100d2554
cmova eax, dword [0x100d2554]
cvtps2pd xmm0, xmm0
mov dword [ebp + 0x14], eax
mov eax, dword [0x100c92e8]
movsd qword [ebp - 0x28], xmm0
cmp eax, dword [ecx + 4]
jle 0x10057633
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x1005762e
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
movsd xmm0, qword [ebp - 0x28]
sub esp, 8
lea eax, [esi - 2]
movsd qword [esp], xmm0
push dword [ebp + 0x14]
push 0xff
push 0xff
push 0xff
push 0xff
push eax
lea eax, [edi + 0xb]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x100b58c8]
cvttsd2si eax, xmm0
push eax
push 1
push dword [0x100c92d8]
push 0x100c7a68
call fcn.100073e0
mov ecx, dword [0x100c92b0]
add esp, 0x30
add edi, 0x2c
mov dword [ebp - 0x18], edi
lea edi, [esi - 3]
mov esi, dword [ebp - 0x18]
mov eax, dword [ecx]
add esi, 8
push 0
push 0
push 0
push 0
call dword [eax + 0x3c]
mov ecx, dword [0x100c92b0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi + 0x13]
push eax
lea eax, [esi + 0x13]
push eax
push edi
push esi
call edx
mov ecx, dword [0x100c7c24]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
cmp ecx, esi
jle 0x1005773c
lea eax, [esi + 0x13]
cmp eax, ecx
jle 0x1005773c
mov ecx, dword [0x100c7c28]
cmp ecx, edi
jle 0x1005773c
lea eax, [edi + 0x13]
cmp eax, ecx
jle 0x1005773c
push 0
push 0
push 0
push 0
push 0x13
push 0x13
lea eax, [edi - 3]
push eax
lea eax, [esi + 6]
push eax
call fcn.10006f60
cmp byte [0x100c7c2d], 0
mov al, byte [ebp + 0xf]
mov ecx, dword [ebp + 0x18]
je 0x1005771d
test al, al
jne 0x1005771d
movss xmm0, dword [ebp + 0x24]
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
cmp byte [0x100c7c2e], 0
je 0x1005774f
test al, al
jne 0x1005774f
movss xmm0, dword [ecx]
addss xmm0, dword [0x100b5940]
movss dword [ecx], xmm0
jmp 0x1005774f
push 0
push 0
push 0
push 0
push 0x13
push 0x13
push edi
push esi
call fcn.10006f60
push 0xff
push 0x55
push 0x55
push 0x55
push 0x10
push 0
lea eax, [edi - 4]
push eax
lea eax, [esi + 3]
push eax
call fcn.10006f60
push 0xff
push 0x55
push 0x55
push 0x55
push 0x10
push 0
lea eax, [edi - 4]
push eax
lea eax, [esi - 0x1a]
push eax
call fcn.10006f60
mov ecx, dword [0x100c6efc]
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
mov dword [ebp + 0xc], eax
mov ecx, eax
mov eax, dword [0x100d20c8]
cmp eax, dword [ecx + 4]
jle 0x10057830
push 0x100d20c8
call fcn.1006610e
add esp, 4
cmp dword [0x100d20c8], 0xffffffff
jne 0x1005782d
mov dword [ebp - 4], 5
mov word [ebp + 0x26], 0x3e
mov byte [ebp - 4], 6
lea ecx, [ebp + 0x26]
xorps xmm0, xmm0
mov dword [0x100d1784], 0
movups xmmword [0x100d1774], xmm0
mov dword [0x100d1788], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100577f7
sub ecx, edx
lea eax, [ebp + 0x26]
push ecx
push eax
mov ecx, 0x100d1774
call fcn.100064b0
push 0x100914f0
call fcn.100665bc
push 0x100d20c8
mov dword [ebp - 4], 0xffffffff
call fcn.100660bd
add esp, 8
mov ecx, dword [ebp + 0xc]
cmp dword [0x100d1788], 0xf
mov eax, 0x100d1774
cmova eax, dword [0x100d1774]
mov dword [ebp + 0x24], eax
mov eax, dword [0x100c92e8]
cmp eax, dword [ecx + 4]
jle 0x1005788e
push 0x100c92e8
call fcn.1006610e
add esp, 4
cmp dword [0x100c92e8], 0xffffffff
jne 0x1005788e
push 0x34
push 0
push 0x100c92b4
call fcn.10068b10
push 0x1008aea0
call fcn.100665bc
push 0x100c92e8
call fcn.100660bd
add esp, 0x14
push dword [ebp + 0x24]
lea eax, [edi - 3]
push 0xff
push 0x64
push 0x64
push 0x64
push eax
lea eax, [esi + 0xe]
push eax
push 1
push dword [0x100c92e0]
push 0x100c7a68
call fcn.100073e0
mov eax, dword [ebp + 0x18]
add esp, 0x28
movss xmm1, dword [ebp + 0x1c]
movss xmm0, dword [ebp + 0x20]
movss xmm2, dword [eax]
comiss xmm1, xmm2
jbe 0x100578d6
movss dword [eax], xmm0
movaps xmm2, xmm0
comiss xmm2, xmm0
mov edx, dword [ebp - 0x14]
jbe 0x100578e2
movss dword [eax], xmm1
mov ecx, dword [ebp - 0xc]
xor eax, eax
cmp dword [ebp + 8], 2
pop edi
sete al
inc eax
add dword [edx + 0x10], eax
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x2c