Function at 0x1004a160
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e5aad
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x368
push esi
push edi
mov eax, dword [0x103dda04]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x18c], esi
lea eax, [ebp - 0x158]
mov dword [ebp - 0x158], 0
push eax
lea eax, [ebp - 0x178]
mov dword [ebp - 0x154], 0
push 0
push eax
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
call fcn.10064340
push 0
push esi
call fcn.10064390
mov dword [ebp - 0x170], 0x2a76806a
lea eax, [ebp - 0x170]
mov dword [ebp - 0x16c], 0xc0746463
mov dword [ebp - 0x168], 0x25c5e4d3
mov dword [ebp - 0x164], 0xc1e17e3b
movaps xmm1, xmmword [ebp - 0x170]
push 0x20bb
mov dword [ebp - 0x140], 0x4525a349
mov dword [ebp - 0x13c], 0x9407110f
mov dword [ebp - 0x138], 0x7aad87b6
mov dword [ebp - 0x134], 0xc1e1376e
pxor xmm1, xmmword [ebp - 0x140]
push 0
push eax
movaps xmmword [ebp - 0x170], xmm1
call fcn.100552d0
mov ecx, dword [0x103e890c]
add esp, 0x20
mov eax, dword [ecx + 0x1b98]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b98]
mov eax, dword [eax + 0x240]
mov dword [ebp - 0x15c], eax
call fcn.1005ada0
mov edi, dword [esi + 0x48]
movss xmm1, dword [eax + 0x10]
mulss xmm1, dword [0x10295fe0]
addss xmm1, dword [esi + 0x54]
movss dword [esi + 0x54], xmm1
cmp edi, 1
jle 0x1004a2d3
mov ecx, dword [esi + 0x50]
mov eax, dword [esi + 0x4c]
movd xmm0, dword [eax + ecx*4]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1004a2d3
lea eax, [ecx + 1]
mov dword [esi + 0x54], 0
cdq
idiv edi
mov dword [esi + 0x50], edx
movss xmm1, dword [esi]
lea edx, [ebp - 0x158]
movss xmm0, dword [esi + 4]
xorps xmm2, xmm2
mov ecx, dword [esi + 0x50]
addss xmm1, xmm2
mov eax, dword [esi + 0x34]
addss xmm0, xmm2
push 0xffffffffffffffff
push edx
lea edx, [ebp - 0x178]
mov dword [ebp - 0x158], 0x3f800000
push edx
lea edx, [ebp - 0x188]
mov dword [ebp - 0x154], 0x3f800000
push edx
lea edx, [ebp - 0x180]
mov dword [ebp - 0x178], 0
push edx
mov dword [ebp - 0x174], 0
movss dword [ebp - 0x188], xmm1
movss dword [ebp - 0x184], xmm0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
push dword [eax + ecx*4]
mov ecx, dword [ebp - 0x15c]
call fcn.10068660
call fcn.1005ada0
mov edi, 0x5efa45
cmp byte [eax + 0xe4], 0
jne 0x1004a39d
mov eax, 0x5efa44
movd xmm0, edi
movd xmm1, eax
pxor xmm1, xmm0
movd eax, xmm1
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1004a39d
xor al, al
jmp 0x1004a39f
mov al, 1
mov byte [esi + 9], al
xor ecx, ecx
mov dword [ebp - 0x184], ecx
mov eax, 0x38e38e39
mov ecx, dword [esi + 0x5c]
sub ecx, dword [esi + 0x58]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1004b0a7
xor edi, edi
mov dword [ebp - 0x17c], edi
nop
mov ecx, dword [esi + 0x58]
mov eax, dword [edi + ecx + 0xc]
cmp eax, 1
jne 0x1004a553
movd xmm1, dword [edi + ecx + 0x1c]
lea eax, [ebp - 0x268]
movd xmm0, dword [edi + ecx + 0x18]
cvtdq2ps xmm1, xmm1
push eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x264], xmm1
movss dword [ebp - 0x268], xmm0
call fcn.10063fe0
movaps xmm0, xmmword [0x102960a0]
add esp, 4
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x2b8], 0x3f800000
mov ecx, 0x103df3a0
xorps xmm0, xmm0
mov dword [ebp - 0x2b4], 0x3f800000
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
call fcn.1000f5c0
mov edx, dword [esi + 0x58]
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x154], edx
push ecx
movd xmm1, dword [edx + edi + 0x14]
lea ecx, [ebp - 0x2b8]
movd xmm0, dword [edx + edi + 0x10]
test al, al
push ecx
sete al
lea ecx, [ebp - 0x2c0]
push ecx
push eax
lea eax, [ebp - 0x2c8]
push eax
cvtdq2ps xmm1, xmm1
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x15c], eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2c4], xmm1
movss dword [ebp - 0x2c8], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [edx + edi + 4]
sub ecx, dword [edx + edi]
sar ecx, 2
mov dword [ebp - 0x174], ecx
test ecx, ecx
je 0x1004a53e
cmp ecx, 0x3fffffff
ja 0x1004bcb2
push ecx
mov ecx, eax
call fcn.100331c0
mov ecx, dword [ebp - 0x174]
mov edi, eax
mov eax, dword [ebp - 0x15c]
mov esi, dword [ebp - 0x17c]
lea ecx, [edi + ecx*4]
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax + esi]
mov esi, dword [eax + esi + 4]
sub esi, ecx
push esi
push ecx
push edi
call fcn.100b8180
mov ecx, dword [ebp - 0x15c]
add esp, 0xc
sar esi, 2
lea eax, [edi + esi*4]
mov edi, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x18c]
mov dword [ecx + 4], eax
call fcn.10047a20
add esp, 0x24
test al, al
je 0x1004b06e
jmp 0x1004b05e
cmp eax, 5
je 0x1004ad9d
cmp eax, 6
je 0x1004ad9d
cmp eax, 7
je 0x1004aab8
cmp eax, 8
je 0x1004aab8
cmp eax, 2
jne 0x1004a63c
movd xmm1, dword [edi + ecx + 0x1c]
lea eax, [ebp - 0x2d0]
movd xmm0, dword [edi + ecx + 0x18]
cvtdq2ps xmm1, xmm1
push eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2cc], xmm1
movss dword [ebp - 0x2d0], xmm0
call fcn.10063fe0
mov eax, dword [esi + 0x58]
lea ecx, [ebp - 0x40]
xorps xmm0, xmm0
mov dword [ebp - 0x2d8], 0x3f800000
movups xmmword [ebp - 0x40], xmm0
push ecx
movaps xmm0, xmmword [0x102960a0]
lea ecx, [ebp - 0x20]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x2d4], 0x3f800000
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 0
movd xmm1, dword [edi + eax + 0x14]
movd xmm0, dword [edi + eax + 0x10]
push ecx
cvtdq2ps xmm1, xmm1
lea ecx, [ebp - 0x2d8]
push ecx
lea ecx, [ebp - 0x2e0]
push ecx
cvtdq2ps xmm0, xmm0
lea ecx, [ebp - 0x2e8]
push ecx
movss dword [ebp - 0x2e4], xmm1
movss dword [ebp - 0x2e8], xmm0
mov eax, dword [edi + eax]
push dword [eax]
call fcn.1007a460
add esp, 0x1c
jmp 0x1004b06e
cmp eax, 3
jne 0x1004a78a
call fcn.1005ada0
mov esi, eax
call fcn.1005ac40
lea ecx, [esi + 0xdc]
mov edx, eax
mov esi, dword [ebp - 0x18c]
push 0xffffffffffffffff
cmp byte [esi + 9], 0
jne 0x1004a6e2
movss xmm0, dword [ecx]
lea eax, [ebp - 0x2f0]
addss xmm0, dword [0x10295fd4]
push eax
lea eax, [ebp - 0x300]
mov dword [ebp - 0x2f0], 0x3f800000
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x2ec], 0x3f800000
movss dword [ebp - 0x308], xmm0
movss xmm0, dword [ecx + 4]
addss xmm0, dword [0x10295fdc]
push eax
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0
movss dword [ebp - 0x304], xmm0
mov eax, dword [edi + eax]
push ecx
mov ecx, edx
push dword [eax]
call fcn.10068660
jmp 0x1004b06e
movss xmm2, dword [ecx]
lea eax, [ebp - 0x310]
subss xmm2, dword [0x10295fcc]
movss xmm1, dword [ecx + 4]
mov ecx, edx
subss xmm1, dword [0x10295fe4]
push eax
lea eax, [ebp - 0x318]
mov dword [ebp - 0x310], 0x3f800000
movaps xmm0, xmm2
mov dword [ebp - 0x30c], 0x3f800000
addss xmm0, dword [0x10295fd8]
push eax
lea eax, [ebp - 0x228]
mov dword [ebp - 0x318], 0
push eax
lea eax, [ebp - 0x230]
mov dword [ebp - 0x314], 0
movss dword [ebp - 0x228], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10295fd0]
push eax
mov eax, dword [esi + 0x58]
movss dword [ebp - 0x230], xmm2
movss dword [ebp - 0x22c], xmm1
movss dword [ebp - 0x224], xmm0
mov eax, dword [edi + eax]
push dword [eax + 4]
call fcn.10068660
jmp 0x1004b06e
cmp eax, 4
jne 0x1004b06e
movd xmm1, dword [edi + ecx + 0x1c]
lea eax, [ebp - 0x238]
movd xmm0, dword [edi + ecx + 0x18]
cvtdq2ps xmm1, xmm1
push eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x234], xmm1
movss dword [ebp - 0x238], xmm0
call fcn.10063fe0
lea eax, [ebp - 0x40]
xorps xmm0, xmm0
push eax
push 3
movups xmmword [ebp - 0x40], xmm0
call fcn.100619a0
mov eax, dword [esi + 0x58]
push 8
push 0
mov dword [ebp - 0x350], 0x4525a349
movd xmm1, dword [eax + edi + 0x14]
movd xmm0, dword [eax + edi + 0x10]
lea eax, [ebp - 0x240]
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0x1c0], 0x2b64806a
mov dword [ebp - 0x1bc], 0xfa727e61
mov dword [ebp - 0x1b8], 0x1fc0e2d5
mov dword [ebp - 0x1b4], 0xc1e14300
cvtdq2ps xmm0, xmm0
push eax
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x34c], 0x9407110f
mov dword [ebp - 0x348], 0x7aad87b6
mov dword [ebp - 0x344], 0xc1e1376e
movss dword [ebp - 0x23c], xmm1
movss dword [ebp - 0x240], xmm0
movaps xmm1, xmmword [ebp - 0x1c0]
pxor xmm1, xmmword [ebp - 0x350]
push eax
movaps xmmword [ebp - 0x1c0], xmm1
call fcn.100576a0
lea eax, [esi + 0x10]
push eax
push 0
call fcn.100619a0
push dword [esi + 0xc]
call fcn.10061750
add esp, 0x28
mov ecx, 0x103df3a0
call fcn.1000f5c0
test al, al
je 0x1004a990
cmp dword [0x103dd664], 0
je 0x1004aa98
sub esp, 0x18
mov ecx, esp
push 0x103dd654
call fcn.1000c5a0
lea eax, [ebp - 0x48]
mov ecx, 0x103e8c58
push eax
call fcn.100ab160
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 4], 0
jb 0x1004a8d6
mov eax, dword [eax]
mov dword [ebp - 0x1d0], 0x4525d06c
mov dword [ebp - 0x1cc], 0x9407110f
mov dword [ebp - 0x1c8], 0x7aad87b6
mov dword [ebp - 0x1c4], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x1d0]
push eax
mov dword [ebp - 0x330], 0x4525a349
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x32c], 0x9407110f
mov dword [ebp - 0x328], 0x7aad87b6
mov dword [ebp - 0x324], 0xc1e1376e
pxor xmm1, xmmword [ebp - 0x330]
push eax
movaps xmmword [ebp - 0x1d0], xmm1
call fcn.1007b210
mov ecx, dword [ebp - 0x34]
add esp, 8
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x1004aa98
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004a981
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004bcb7
push ecx
push edx
call fcn.100b631d
add esp, 8
jmp 0x1004aa98
mov dword [ebp - 0x60], 0xa0860eaf
lea eax, [ebp - 0x60]
mov dword [ebp - 0x5c], 0x2ae2b993
mov dword [ebp - 0x58], 0xc0116328
mov dword [ebp - 0x54], 0x246cab88
mov dword [ebp - 0x50], 0x7e0c982
mov dword [ebp - 0x4c], 0x7a7a4d2b
mov dword [ebp - 0x48], 0x81894a2d
mov dword [ebp - 0x44], 0x218cdf1b
mov dword [ebp - 0x40], 0xb62f71a4
mov dword [ebp - 0x3c], 0x186e85e6
mov dword [ebp - 0x38], 0x8faca6ab
mov dword [ebp - 0x34], 0x78ab1bac
movaps xmm1, xmmword [ebp - 0x60]
mov dword [ebp - 0xe0], 0x4525a349
mov dword [ebp - 0xdc], 0x9407110f
mov dword [ebp - 0xd8], 0x7aad87b6
mov dword [ebp - 0xd4], 0xc1e1376e
pxor xmm1, xmmword [ebp - 0xe0]
movaps xmmword [ebp - 0x60], xmm1
movaps xmm1, xmmword [ebp - 0x50]
mov dword [ebp - 0xd0], 0xbf04611b
mov dword [ebp - 0xcc], 0xc8f7aaa1
mov dword [ebp - 0xc8], 0x691fc5c8
mov dword [ebp - 0xc4], 0xb76a58a8
pxor xmm1, xmmword [ebp - 0xd0]
movaps xmmword [ebp - 0x50], xmm1
movaps xmm1, xmmword [ebp - 0x40]
mov dword [ebp - 0xc0], 0x31a7993d
mov dword [ebp - 0xbc], 0xfdc20003
mov dword [ebp - 0xb8], 0xa1822c3a
mov dword [ebp - 0xb4], 0x78ab1b82
pxor xmm1, xmmword [ebp - 0xc0]
push eax
movaps xmmword [ebp - 0x40], xmm1
call fcn.1007b210
add esp, 4
push 1
call fcn.100615f0
call fcn.10061520
call fcn.100597a0
push 1
call fcn.100615f0
add esp, 8
jmp 0x1004b06e
cmp byte [0x102af68d], 0
jne 0x1004ac24
cmp eax, 7
jne 0x1004b06e
movd xmm1, dword [edi + ecx + 0x1c]
lea eax, [ebp - 0x248]
movd xmm0, dword [edi + ecx + 0x18]
cvtdq2ps xmm1, xmm1
push eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x244], xmm1
movss dword [ebp - 0x248], xmm0
call fcn.10063fe0
movaps xmm0, xmmword [0x102960a0]
lea ecx, [ebp - 0x40]
mov eax, dword [esi + 0x58]
add esp, 4
movups xmmword [ebp - 0x40], xmm0
add eax, edi
mov dword [ebp - 0x250], 0x3f800000
xorps xmm0, xmm0
mov dword [ebp - 0x24c], 0x3f800000
push ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x258], 0
push ecx
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x254], 0
push ecx
lea ecx, [ebp - 0x258]
push ecx
movups xmmword [ebp - 0x20], xmm0
lea ecx, [ebp - 0x260]
movd xmm1, dword [eax + 0x14]
movd xmm0, dword [eax + 0x10]
push 0
push ecx
cvtdq2ps xmm1, xmm1
sub esp, 0xc
mov ecx, esp
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebp - 0x25c], xmm1
movss dword [ebp - 0x260], xmm0
call fcn.10048560
call fcn.10047a20
add esp, 0x24
test al, al
je 0x1004b06e
mov eax, dword [esi + 0x58]
mov ecx, dword [edi + eax + 0x44]
test ecx, ecx
je 0x1004aba8
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x1e0], 0x7073806a
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x1dc], 0xe777785b
mov dword [ebp - 0x1d8], 0x7aad8787
mov dword [ebp - 0x1d4], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x1e0]
mov dword [ebp - 0x340], 0x4525a349
mov dword [ebp - 0x33c], 0x9407110f
mov dword [ebp - 0x338], 0x7aad87b6
mov dword [ebp - 0x334], 0xc1e1376e
pxor xmm1, xmmword [ebp - 0x340]
push 0
push eax
movaps xmmword [ebp - 0x1e0], xmm1
call fcn.100612a0
add esp, 8
jmp 0x1004b06e
cmp eax, 8
jne 0x1004b06e
movd xmm1, dword [edi + ecx + 0x1c]
lea eax, [ebp - 0x2f8]
movd xmm0, dword [edi + ecx + 0x18]
cvtdq2ps xmm1, xmm1
push eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2f4], xmm1
movss dword [ebp - 0x2f8], xmm0
call fcn.10063fe0
movaps xmm0, xmmword [0x102960a0]
lea ecx, [ebp - 0x40]
mov eax, dword [esi + 0x58]
add esp, 4
movups xmmword [ebp - 0x40], xmm0
add eax, edi
mov dword [ebp - 0x270], 0x3f800000
xorps xmm0, xmm0
mov dword [ebp - 0x26c], 0x3f800000
push ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x278], 0
push ecx
lea ecx, [ebp - 0x270]
mov dword [ebp - 0x274], 0
push ecx
lea ecx, [ebp - 0x278]
push ecx
movups xmmword [ebp - 0x20], xmm0
lea ecx, [ebp - 0x280]
movd xmm1, dword [eax + 0x14]
movd xmm0, dword [eax + 0x10]
push 0
push ecx
cvtdq2ps xmm1, xmm1
sub esp, 0xc
mov ecx, esp
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebp - 0x27c], xmm1
movss dword [ebp - 0x280], xmm0
call fcn.10048560
call fcn.10047a20
add esp, 0x24
test al, al
je 0x1004b06e
cmp byte [0x102af68d], 0
sete dl
mov byte [0x102af68d], dl
mov eax, dword [esi + 0x58]
mov ecx, dword [edi + eax + 0x44]
test ecx, ecx
je 0x1004ad1d
mov eax, dword [ecx]
call dword [eax + 8]
mov dl, byte [0x102af68d]
mov dword [ebp - 0x1b0], 0x4525961f
mov ecx, 0x102af020
mov dword [ebp - 0x1ac], 0x9407110f
mov dword [ebp - 0x1a8], 0x7aad87b6
mov dword [ebp - 0x1a4], 0xc1e1376e
movzx eax, dl
mov dword [ebp - 0x370], 0x4525a349
mov dword [ebp - 0x36c], 0x9407110f
mov dword [ebp - 0x368], 0x7aad87b6
mov dword [ebp - 0x364], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x370]
pxor xmm1, xmmword [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x1b0]
movaps xmmword [ebp - 0x1b0], xmm1
push eax
call fcn.1002ea80
jmp 0x1004b06e
cmp byte [0x102af68c], 0
je 0x1004af01
cmp eax, 5
jne 0x1004b06e
movd xmm1, dword [edi + ecx + 0x1c]
lea eax, [ebp - 0x288]
movd xmm0, dword [edi + ecx + 0x18]
cvtdq2ps xmm1, xmm1
push eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x284], xmm1
movss dword [ebp - 0x288], xmm0
call fcn.10063fe0
movaps xmm0, xmmword [0x102960a0]
lea ecx, [ebp - 0x40]
mov eax, dword [esi + 0x58]
add esp, 4
movups xmmword [ebp - 0x40], xmm0
add eax, edi
mov dword [ebp - 0x290], 0x3f800000
xorps xmm0, xmm0
mov dword [ebp - 0x28c], 0x3f800000
push ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x298], 0
push ecx
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x294], 0
push ecx
lea ecx, [ebp - 0x298]
push ecx
movups xmmword [ebp - 0x20], xmm0
lea ecx, [ebp - 0x2a0]
movd xmm1, dword [eax + 0x14]
movd xmm0, dword [eax + 0x10]
push 0
push ecx
cvtdq2ps xmm1, xmm1
sub esp, 0xc
mov ecx, esp
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebp - 0x29c], xmm1
movss dword [ebp - 0x2a0], xmm0
call fcn.10048560
call fcn.10047a20
add esp, 0x24
test al, al
je 0x1004b06e
cmp byte [0x102af68c], 0
mov dword [ebp - 0x1f0], 0x214bca1e
sete al
mov dword [ebp - 0x1ec], 0xf0626660
mov byte [0x102af68c], al
mov dword [ebp - 0x1e8], 0x7aad87b6
mov dword [ebp - 0x1e4], 0xc1e1376e
mov dword [ebp - 0x360], 0x4525a349
mov dword [ebp - 0x35c], 0x9407110f
mov dword [ebp - 0x358], 0x7aad87b6
mov dword [ebp - 0x354], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x360]
pxor xmm1, xmmword [ebp - 0x1f0]
movzx eax, al
push eax
movaps xmmword [ebp - 0x1f0], xmm1
lea eax, [ebp - 0x1f0]
jmp 0x1004b053
cmp eax, 6
jne 0x1004b06e
movd xmm1, dword [edi + ecx + 0x1c]
lea eax, [ebp - 0x2a8]
movd xmm0, dword [edi + ecx + 0x18]
cvtdq2ps xmm1, xmm1
push eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2a4], xmm1
movss dword [ebp - 0x2a8], xmm0
call fcn.10063fe0
movaps xmm0, xmmword [0x102960a0]
lea ecx, [ebp - 0x40]
mov eax, dword [esi + 0x58]
add esp, 4
movups xmmword [ebp - 0x40], xmm0
add eax, edi
mov dword [ebp - 0x2b0], 0x3f800000
xorps xmm0, xmm0
mov dword [ebp - 0x2ac], 0x3f800000
push ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x194], 0
push ecx
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x190], 0
push ecx
lea ecx, [ebp - 0x194]
push ecx
movups xmmword [ebp - 0x20], xmm0
lea ecx, [ebp - 0x168]
movd xmm1, dword [eax + 0x14]
movd xmm0, dword [eax + 0x10]
push 0
push ecx
cvtdq2ps xmm1, xmm1
sub esp, 0xc
mov ecx, esp
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebp - 0x164], xmm1
movss dword [ebp - 0x168], xmm0
call fcn.10048560
call fcn.10047a20
add esp, 0x24
test al, al
je 0x1004b06e
cmp byte [0x102af68c], 0
mov dword [ebp - 0x140], 0x214bca1e
sete al
mov dword [ebp - 0x13c], 0xf0626660
mov byte [0x102af68c], al
mov dword [ebp - 0x138], 0x7aad87b6
mov dword [ebp - 0x134], 0xc1e1376e
mov dword [ebp - 0x150], 0x4525a349
mov dword [ebp - 0x14c], 0x9407110f
mov dword [ebp - 0x148], 0x7aad87b6
mov dword [ebp - 0x144], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x150]
pxor xmm1, xmmword [ebp - 0x140]
movzx eax, al
push eax
movaps xmmword [ebp - 0x140], xmm1
lea eax, [ebp - 0x140]
push eax
mov ecx, 0x102af020
call fcn.1002ea80
mov eax, dword [esi + 0x58]
mov ecx, dword [edi + eax + 0x44]
test ecx, ecx
je 0x1004b06e
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [esi + 0x5c]
mov eax, 0x38e38e39
sub ecx, dword [esi + 0x58]
add edi, 0x48
inc dword [ebp - 0x184]
imul ecx
mov ecx, dword [ebp - 0x184]
sar edx, 4
mov eax, edx
mov dword [ebp - 0x17c], edi
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jb 0x1004a3d0
mov edi, 0x5efa45
push ecx
mov dword [esp], 0x40800000
push 0xc
call fcn.10061b60
lea eax, [esi + 0x20]
push eax
call fcn.10063fe0
add esp, 8
mov dword [esp], 0x42c80000
call fcn.10064320
mov dword [ebp - 0x100], 0x75159b69
mov dword [ebp - 0xfc], 0xa227692f
mov dword [ebp - 0xf8], 0x5aadb786
mov dword [ebp - 0xf4], 0xf5d3075f
mov dword [ebp - 0x50], 0xec65eb4f
mov dword [ebp - 0x4c], 0xc7feea85
mov dword [ebp - 0x48], 0xde4c8e4c
mov dword [ebp - 0x44], 0x25ca85ec
mov dword [ebp - 0x40], 0x88ec2831
mov dword [ebp - 0x3c], 0x28a0dbf7
mov dword [ebp - 0x38], 0x9019bf9e
mov dword [ebp - 0x34], 0x36f321d6
mov dword [ebp - 0xf0], 0x8824193b
mov dword [ebp - 0xec], 0xe8f79297
mov dword [ebp - 0xe8], 0x5927f7f9
mov dword [ebp - 0xe4], 0x804a2088
mov dword [ebp - 0xe0], 0x11a7a90f
mov dword [ebp - 0xdc], 0xcbf43332
mov dword [ebp - 0xd8], 0x96a2541a
mov dword [ebp - 0xd4], 0x58ab23b4
mov dword [ebp - 0xd0], 0xdc55dd7e
mov dword [ebp - 0xcc], 0xfede92a5
mov dword [ebp - 0xc8], 0xfe4cbe7c
mov dword [ebp - 0xc4], 0x1dfcb2dd
mov dword [ebp - 0xc0], 0xb1cc5011
mov dword [ebp - 0xbc], 0x28a0e9ce
mov dword [ebp - 0xb8], 0x9019bf9e
mov dword [ebp - 0xb4], 0x36f321d6
mov dword [ebp - 0x70], 0xbf04611b
mov dword [ebp - 0x6c], 0xc8f7aaa1
mov dword [ebp - 0x68], 0x691fc5c8
mov dword [ebp - 0x64], 0xb76a58a8
mov dword [ebp - 0x60], 0x31a7993d
mov dword [ebp - 0x5c], 0xfdc20003
mov dword [ebp - 0x58], 0xa1822c3a
mov dword [ebp - 0x54], 0x78ab1b82
mov dword [ebp - 0x80], 0x4525a349
mov dword [ebp - 0x7c], 0x9407110f
mov dword [ebp - 0x78], 0x7aad87b6
mov dword [ebp - 0x74], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x80]
pxor xmm1, xmmword [ebp - 0x100]
movaps xmmword [ebp - 0x100], xmm1
movaps xmm1, xmmword [ebp - 0xf0]
pxor xmm1, xmmword [ebp - 0x70]
movaps xmmword [ebp - 0xf0], xmm1
movaps xmm1, xmmword [ebp - 0xe0]
pxor xmm1, xmmword [ebp - 0x60]
movaps xmmword [ebp - 0xe0], xmm1
movaps xmm1, xmmword [ebp - 0xd0]
pxor xmm1, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0xd0], xmm1
movaps xmm1, xmmword [ebp - 0xc0]
pxor xmm1, xmmword [ebp - 0x40]
movaps xmmword [ebp - 0xc0], xmm1
mov dword [ebp - 0x50], 0x286c806a
mov dword [ebp - 0x4c], 0xc662766e
mov dword [ebp - 0x48], 0x16c2f4d3
mov dword [ebp - 0x44], 0xae88431b
mov dword [ebp - 0x40], 0xbf046175
mov dword [ebp - 0x3c], 0xc8f7aaa1
mov dword [ebp - 0x38], 0x691fc5c8
mov dword [ebp - 0x34], 0xb76a58a8
mov dword [ebp - 0x30], 0x4525a349
mov dword [ebp - 0x2c], 0x9407110f
mov dword [ebp - 0x28], 0x7aad87b6
mov dword [ebp - 0x24], 0xc1e1376e
mov dword [ebp - 0x20], 0xbf04611b
mov dword [ebp - 0x1c], 0xc8f7aaa1
mov dword [ebp - 0x18], 0x691fc5c8
mov dword [ebp - 0x14], 0xb76a58a8
movaps xmm1, xmmword [ebp - 0x50]
lea eax, [ebp - 0x100]
pxor xmm1, xmmword [ebp - 0x30]
push 0xffffffffffffffff
push eax
movaps xmmword [ebp - 0x50], xmm1
lea eax, [ebp - 0x50]
movaps xmm1, xmmword [ebp - 0x40]
pxor xmm1, xmmword [ebp - 0x20]
push 0x102af688
push eax
movaps xmmword [ebp - 0x40], xmm1
call fcn.1007a240
add esp, 0x14
test al, al
je 0x1004b434
mov eax, dword [0x102af688]
cmp eax, 5
ja case.0x1004b337.0
jmp dword [eax*4 + 0x1004bcbc]
mov ecx, 0x5efe45
movd xmm0, ecx
mov ecx, 0x5ef945
jmp 0x1004b39c
mov ecx, 0x5eff45
movd xmm0, ecx
mov ecx, 0x5ef895
jmp 0x1004b39c
mov ecx, 0x5eff13
movd xmm0, ecx
mov ecx, 0x5ef945
jmp 0x1004b39c
mov ecx, 0x5efc05
movd xmm0, ecx
mov ecx, 0x5ef9c1
jmp 0x1004b39c
mov ecx, 0x5efcad
movd xmm0, ecx
mov ecx, 0x5ef9a5
jmp 0x1004b39c
mov ecx, 0x5ef965
movd xmm0, ecx
mov ecx, 0x5ef81d
movd xmm1, edi
pxor xmm0, xmm1
mov dword [ebp - 0x140], 0x2244ce00
movd dword [0x102af680], xmm0
movd xmm0, ecx
mov ecx, 0x102af020
pxor xmm0, xmm1
mov dword [ebp - 0x13c], 0xe762436a
mov dword [ebp - 0x138], 0xed8ebd9
mov dword [ebp - 0x134], 0xc18f5807
movd dword [0x102af684], xmm0
movaps xmm1, xmmword [ebp - 0x140]
push eax
mov dword [ebp - 0x150], 0x4525a349
lea eax, [ebp - 0x140]
mov dword [ebp - 0x14c], 0x9407110f
mov dword [ebp - 0x148], 0x7aad87b6
mov dword [ebp - 0x144], 0xc1e1376e
pxor xmm1, xmmword [ebp - 0x150]
push eax
movaps xmmword [ebp - 0x140], xmm1
call fcn.1002ea80
push 1
call fcn.10061640
mov dword [ebp - 0x140], 0x7073806a
lea eax, [ebp - 0x140]
mov dword [ebp - 0x13c], 0xe777785b
mov dword [ebp - 0x138], 0x7aad8787
mov dword [ebp - 0x134], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x140]
push 0x3a
mov dword [ebp - 0x150], 0x4525a349
mov dword [ebp - 0x14c], 0x9407110f
mov dword [ebp - 0x148], 0x7aad87b6
mov dword [ebp - 0x144], 0xc1e1376e
pxor xmm1, xmmword [ebp - 0x150]
push 0
push eax
movaps xmmword [ebp - 0x140], xmm1
call fcn.100579b0
add esp, 0x10
test al, al
je 0x1004bafe
mov dword [ebp - 0x130], 0xa0810eaf
mov dword [ebp - 0x12c], 0x17ef8e85
mov dword [ebp - 0x128], 0xd22e6e0b
mov dword [ebp - 0x124], 0x2867bf8b
mov dword [ebp - 0x120], 0x3aecda80
mov dword [ebp - 0x11c], 0x67784f07
mov dword [ebp - 0x118], 0x8ea24620
mov dword [ebp - 0x114], 0x48cf92c
mov dword [ebp - 0x110], 0x8e1a7da8
mov dword [ebp - 0x10c], 0xdd6a94e4
mov dword [ebp - 0x108], 0x3e3bc81a
mov dword [ebp - 0x104], 0x90049467
mov dword [ebp - 0x100], 0x6c8c56cc
mov dword [ebp - 0xfc], 0x57760c25
mov dword [ebp - 0xf8], 0x38c60fa5
mov dword [ebp - 0xf4], 0xb02d3764
mov dword [ebp - 0xf0], 0x3054cd81
mov dword [ebp - 0xec], 0xa31e3ffd
mov dword [ebp - 0xe8], 0xaa9b197b
mov dword [ebp - 0xe4], 0xa441c7f6
mov dword [ebp - 0xb0], 0x4525a349
mov dword [ebp - 0xac], 0x9407110f
mov dword [ebp - 0xa8], 0x7aad87b6
mov dword [ebp - 0xa4], 0xc1e1376e
mov dword [ebp - 0xa0], 0xbf04611b
mov dword [ebp - 0x9c], 0xc8f7aaa1
mov dword [ebp - 0x98], 0x691fc5c8
mov dword [ebp - 0x94], 0xb76a58a8
mov dword [ebp - 0x90], 0x31a7993d
mov dword [ebp - 0x8c], 0xfdc20003
mov dword [ebp - 0x88], 0xa1822c3a
mov dword [ebp - 0x84], 0x78ab1b82
mov dword [ebp - 0x80], 0xec65eb4f
mov dword [ebp - 0x7c], 0xc7feea85
mov dword [ebp - 0x78], 0xde4c8e4c
mov dword [ebp - 0x74], 0x25ca85ec
mov dword [ebp - 0x70], 0x88ec2831
mov dword [ebp - 0x6c], 0x28a0dbf7
mov dword [ebp - 0x68], 0x9019bf9e
mov dword [ebp - 0x64], 0x36f321d6
mov dword [ebp - 0x60], 0xed80a343
mov dword [ebp - 0x5c], 0xd02a3d89
mov dword [ebp - 0x58], 0x77bff6d0
mov dword [ebp - 0x54], 0xb909f110
mov dword [ebp - 0xe0], 0x4093fa5
mov dword [ebp - 0xdc], 0x58ccb708
mov dword [ebp - 0xd8], 0xc53e1e62
mov dword [ebp - 0xd4], 0x5fba6ef9
mov dword [ebp - 0xd0], 0x7399faad
mov dword [ebp - 0xcc], 0x7726090a
mov dword [ebp - 0xc8], 0x81b7b94a
mov dword [ebp - 0xc4], 0x163f282f
mov dword [ebp - 0xc0], 0x8d5ddb3a
mov dword [ebp - 0xbc], 0xab95a5ad
mov dword [ebp - 0xb8], 0xa325f954
mov dword [ebp - 0xb4], 0x111a66b4
mov dword [ebp - 0x50], 0xf77e6c25
mov dword [ebp - 0x4c], 0xe295efab
mov dword [ebp - 0x48], 0x640f05a2
mov dword [ebp - 0x44], 0xaedb8daa
mov dword [ebp - 0x40], 0xacb3d97
mov dword [ebp - 0x3c], 0xab95a5ad
mov dword [ebp - 0x38], 0xa325f954
mov dword [ebp - 0x34], 0x111a66b4
movaps xmm1, xmmword [ebp - 0x130]
pxor xmm1, xmmword [ebp - 0xb0]
movaps xmmword [ebp - 0x130], xmm1
movaps xmm1, xmmword [ebp - 0x120]
pxor xmm1, xmmword [ebp - 0xa0]
movaps xmmword [ebp - 0x120], xmm1
movaps xmm1, xmmword [ebp - 0x110]
pxor xmm1, xmmword [ebp - 0x90]
movaps xmmword [ebp - 0x110], xmm1
movaps xmm1, xmmword [ebp - 0x100]
pxor xmm1, xmmword [ebp - 0x80]
movaps xmmword [ebp - 0x100], xmm1
movaps xmm1, xmmword [ebp - 0xf0]
pxor xmm1, xmmword [ebp - 0x70]
movaps xmmword [ebp - 0xf0], xmm1
movaps xmm1, xmmword [ebp - 0xe0]
pxor xmm1, xmmword [ebp - 0x60]
movaps xmm0, xmmword [0x10296040]
lea eax, [ebp - 0x130]
movaps xmmword [ebp - 0xe0], xmm1
movaps xmm1, xmmword [ebp - 0xd0]
pxor xmm1, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0xd0], xmm1
movaps xmm1, xmmword [ebp - 0xc0]
pxor xmm1, xmmword [ebp - 0x40]
push eax
lea eax, [ebp - 0x40]
movaps xmmword [ebp - 0xc0], xmm1
push eax
movups xmmword [ebp - 0x40], xmm0
call fcn.1007b230
movaps xmm0, xmmword [0x10296050]
lea eax, [ebp - 0x30]
mov dword [ebp - 0x40], 0xbf04611b
mov dword [ebp - 0x3c], 0xc8f7aaa1
mov dword [ebp - 0x38], 0x691fc5c8
mov dword [ebp - 0x34], 0xb76a58a8
mov dword [ebp - 0x30], 0xceb34a63
mov dword [ebp - 0x2c], 0x719884ea
mov dword [ebp - 0x28], 0xfb440b08
mov dword [ebp - 0x24], 0x7369d1e4
mov dword [ebp - 0x20], 0x5783d1fe
mov dword [ebp - 0x1c], 0x43120026
mov dword [ebp - 0x18], 0xe4982c5d
mov dword [ebp - 0x14], 0xb7f5cd4d
mov dword [ebp - 0x50], 0x4525a349
mov dword [ebp - 0x4c], 0x9407110f
mov dword [ebp - 0x48], 0x7aad87b6
mov dword [ebp - 0x44], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x30]
pxor xmm1, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0x30], xmm1
movaps xmm1, xmmword [ebp - 0x20]
pxor xmm1, xmmword [ebp - 0x40]
push eax
lea eax, [ebp - 0x40]
movaps xmmword [ebp - 0x20], xmm1
push eax
movups xmmword [ebp - 0x40], xmm0
call fcn.1007b230
lea eax, [ebp - 0x194]
push eax
call fcn.1005abe0
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
lea eax, [ebp - 0x168]
addss xmm1, dword [0x10295fc8]
addss xmm0, dword [0x10295fd8]
push eax
movss dword [ebp - 0x164], xmm1
movss dword [ebp - 0x168], xmm0
call fcn.10063fe0
mov dword [ebp - 0x140], 0xa0ae35a0
lea eax, [ebp - 0x168]
mov dword [ebp - 0x13c], 0x94078e9a
mov dword [ebp - 0x138], 0x7aad87b6
mov dword [ebp - 0x134], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x140]
push 1
push eax
mov dword [ebp - 0x150], 0x4525a349
lea eax, [ebp - 0x140]
mov dword [ebp - 0x14c], 0x9407110f
mov dword [ebp - 0x148], 0x7aad87b6
mov dword [ebp - 0x144], 0xc1e1376e
pxor xmm1, xmmword [ebp - 0x150]
push eax
mov dword [ebp - 0x168], 0x42c80000
mov dword [ebp - 0x164], 0x41c80000
movaps xmmword [ebp - 0x140], xmm1
call fcn.10049cc0
add esp, 0x24
test al, al
je 0x1004b9c3
mov dword [ebp - 0x140], 0x4525961f
lea eax, [ebp - 0x140]
mov dword [ebp - 0x13c], 0x9407110f
mov ecx, 0x102af020
mov dword [ebp - 0x138], 0x7aad87b6
mov dword [ebp - 0x134], 0xc1e1376e
mov byte [0x102af68d], 1
movaps xmm1, xmmword [ebp - 0x140]
mov dword [ebp - 0x150], 0x4525a349
mov dword [ebp - 0x14c], 0x9407110f
mov dword [ebp - 0x148], 0x7aad87b6
mov dword [ebp - 0x144], 0xc1e1376e
pxor xmm1, xmmword [ebp - 0x150]
push 1
push eax
movaps xmmword [ebp - 0x140], xmm1
call fcn.1002ea80
call fcn.1004bce0
call fcn.10058cf0
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.10063800
mov dword [ebp - 0x140], 0xaca81bad
lea eax, [ebp - 0x168]
mov dword [ebp - 0x13c], 0x1e29a99
mov dword [ebp - 0x138], 0x7aad8729
mov dword [ebp - 0x134], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x140]
push 3
push eax
mov dword [ebp - 0x150], 0x4525a349
lea eax, [ebp - 0x140]
mov dword [ebp - 0x14c], 0x9407110f
mov dword [ebp - 0x148], 0x7aad87b6
mov dword [ebp - 0x144], 0xc1e1376e
pxor xmm1, xmmword [ebp - 0x150]
push eax
mov dword [ebp - 0x168], 0x42c80000
mov dword [ebp - 0x164], 0x41c80000
movaps xmmword [ebp - 0x140], xmm1
call fcn.10049cc0
add esp, 0x14
test al, al
je 0x1004baf9
mov dword [ebp - 0x140], 0x4525961f
lea eax, [ebp - 0x140]
mov dword [ebp - 0x13c], 0x9407110f
mov ecx, 0x102af020
mov dword [ebp - 0x138], 0x7aad87b6
mov dword [ebp - 0x134], 0xc1e1376e
mov byte [0x102af68d], 0
mov dword [ebp - 0x150], 0x4525a349
mov dword [ebp - 0x14c], 0x9407110f
mov dword [ebp - 0x148], 0x7aad87b6
mov dword [ebp - 0x144], 0xc1e1376e
movaps xmm1, xmmword [ebp - 0x150]
pxor xmm1, xmmword [ebp - 0x140]
push 0
push eax
movaps xmmword [ebp - 0x140], xmm1
call fcn.1002ea80
call fcn.10058cf0
call fcn.10059ca0
movss xmm0, dword [esi + 0x28]
lea ecx, [esi + 0x28]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1004bc99
movss xmm0, dword [esi + 0x2c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1004bc99
push ecx
call fcn.10063fe0
movaps xmm0, xmmword [0x10296040]
lea eax, [ebp - 0x40]
push eax
push 0
movups xmmword [ebp - 0x40], xmm0
call fcn.100619a0
push dword [esi + 0xc]
call fcn.10061750
mov dword [ebp - 0x220], 0xadbc23a0
lea eax, [ebp - 0x220]
mov dword [ebp - 0x21c], 0xce1b0ac
mov dword [ebp - 0x218], 0xd02a6f19
mov dword [ebp - 0x214], 0x2574bc8b
mov dword [ebp - 0x210], 0x3eceaa3
mov dword [ebp - 0x20c], 0x4c6d4d28
mov dword [ebp - 0x208], 0x8f9f4e2f
mov dword [ebp - 0x204], 0x218cd32d
mov dword [ebp - 0x200], 0xa60a7cba
mov dword [ebp - 0x1fc], 0xfdec2e2d
mov dword [ebp - 0x1f8], 0xa1822c3a
mov dword [ebp - 0x1f4], 0x78ab1b82
movaps xmm1, xmmword [ebp - 0x220]
mov dword [ebp - 0xe0], 0x4525a349
mov dword [ebp - 0xdc], 0x9407110f
mov dword [ebp - 0xd8], 0x7aad87b6
mov dword [ebp - 0xd4], 0xc1e1376e
pxor xmm1, xmmword [ebp - 0xe0]
movaps xmmword [ebp - 0x220], xmm1
movaps xmm1, xmmword [ebp - 0x210]
mov dword [ebp - 0xd0], 0xbf04611b
mov dword [ebp - 0xcc], 0xc8f7aaa1
mov dword [ebp - 0xc8], 0x691fc5c8
mov dword [ebp - 0xc4], 0xb76a58a8
pxor xmm1, xmmword [ebp - 0xd0]
movaps xmmword [ebp - 0x210], xmm1
movaps xmm1, xmmword [ebp - 0x200]
mov dword [ebp - 0xc0], 0x31a7993d
mov dword [ebp - 0xbc], 0xfdc20003
mov dword [ebp - 0xb8], 0xa1822c3a
mov dword [ebp - 0xb4], 0x78ab1b82
pxor xmm1, xmmword [ebp - 0xc0]
push eax
movaps xmmword [ebp - 0x200], xmm1
call fcn.1007b210
push 1
call fcn.100615f0
add esp, 0x18
call fcn.10061520
call fcn.10059510
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.100331b0
call fcn.100bbdff
invalid