Function at 0x1005c163
Capabilities:
Access peb ldr_data
Log keystrokes

Disassembly:
jmp 0x100dacc0
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1011d48b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3f0
push esi
push edi
lea edi, [ebp - 0x280]
mov ecx, 0x9c
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x101b90c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, 0x101bd0f1
call fcn.1005f00c
nop
mov eax, dword [0x101b97d0]
mov dword [ebp - 0x1c], eax
call fcn.1005d31a
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 0x30
mov dword [ebp - 0x3f0], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1012413c]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2ac]
call fcn.1005e47c
push eax
lea ecx, [ebp - 0x2bc]
push ecx
mov ecx, dword [ebp - 0x3f0]
call fcn.1005e864
mov dword [ebp - 0x3f4], eax
movss xmm0, dword [0x10123360]
movss dword [ebp - 0x284], xmm0
movss xmm0, dword [0x1012416c]
movss dword [ebp - 0x290], xmm0
mov edx, dword [ebp - 0x28]
movss xmm0, dword [edx + 0x28]
subss xmm0, dword [0x10124194]
movss dword [ebp - 0x29c], xmm0
push ecx
movss xmm0, dword [0x1012413c]
movss dword [esp], xmm0
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x290]
push ecx
lea edx, [ebp - 0x29c]
push edx
call fcn.1005ce15
add esp, 8
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x278]
call fcn.1005e47c
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x3f8]
push eax
mov ecx, dword [ebp - 0x3f4]
push ecx
lea ecx, [ebp - 0x40]
call fcn.1005c492
nop
push 0
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x38]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x34]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.1005f1a1
add esp, 0x18
mov eax, dword [ebx + 0x10]
push eax
lea ecx, [ebp - 0x55]
push ecx
lea edx, [ebp - 0x49]
push edx
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x38]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x34]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 8]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.1005c7b2
add esp, 0x24
mov byte [ebp - 0x61], al
movzx eax, byte [ebp - 0x61]
test eax, eax
je 0x100dae8a
mov eax, dword [ebx + 8]
mov dword [0x101b9004], eax
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x25c], 1
jmp 0x100daecd
movzx eax, byte [ebp - 0x49]
test eax, eax
jne 0x100daecd
cmp dword [0x101b9004], 0
je 0x100daecd
push 1
call fcn.1005c5d2
add esp, 4
movzx eax, al
test eax, eax
je 0x100daecd
mov dword [0x101b9004], 0x10121d55
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x25c], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x260], 0
mov eax, dword [0x101b9004]
cmp eax, dword [ebx + 8]
jne 0x100daee3
mov dword [ebp - 0x3f0], 1
jmp 0x100daeed
mov dword [ebp - 0x3f0], 0
mov cl, byte [ebp - 0x3f0]
mov byte [ebp - 0x6d], cl
movzx eax, byte [ebp - 0x6d]
test eax, eax
je 0x100db045
mov dword [ebp - 0x7c], 0x20
jmp 0x100daf14
mov eax, dword [ebp - 0x7c]
add eax, 1
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0x5a
jg 0x100db010
cmp dword [ebp - 0x7c], 0x20
je 0x100daf2e
cmp dword [ebp - 0x7c], 0x30
jl 0x100db00b
mov eax, dword [ebp - 0x7c]
push eax
call fcn.1005c5d2
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x100db00b
mov esi, esp
push 2
mov eax, dword [ebp - 0x7c]
push eax
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
cmp esi, esp
call fcn.1005e274
mov byte [ebp - 0x88], al
mov byte [ebp - 0x87], 0
cmp dword [ebp - 0x7c], 0x3a
jle 0x100dafb9
push 0x10
call fcn.1005e49f
add esp, 4
movzx eax, al
test eax, eax
je 0x100daf8a
mov dword [ebp - 0x3f0], 0
jmp 0x100daf94
mov dword [ebp - 0x3f0], 0x20
mov ecx, 1
imul edx, ecx, 0
movsx eax, byte [ebp + edx - 0x88]
add eax, dword [ebp - 0x3f0]
mov ecx, 1
imul edx, ecx, 0
mov byte [ebp + edx - 0x88], al
mov eax, dword [ebx + 0xc]
push eax
call fcn.1005f43f
add esp, 4
cmp eax, 0x3f
jae 0x100dafea
mov esi, esp
lea eax, [ebp - 0x88]
push eax
push 0x40
mov ecx, dword [ebx + 0xc]
push ecx
call dword [sym.imp.ucrtbased.dll_strcat_s]
add esp, 0xc
cmp esi, esp
call fcn.1005e274
nop
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x260], 0
jne 0x100db009
push 0
call fcn.100e56b0
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x260], eax
jmp 0x100db010
jmp 0x100daf0b
push 8
call fcn.1005c5d2
add esp, 4
movzx eax, al
test eax, eax
je 0x100db045
mov eax, dword [ebx + 0xc]
push eax
call fcn.1005f43f
add esp, 4
test eax, eax
jbe 0x100db045
mov eax, dword [ebx + 0xc]
push eax
call fcn.1005f43f
add esp, 4
mov ecx, dword [ebx + 0xc]
mov byte [ecx + eax - 1], 0
mov dword [ebp - 0x9c], 0xc
mov dword [ebp - 0x98], 0x32
mov dword [ebp - 0x94], 0x10
movzx eax, byte [ebp - 0x6d]
test eax, eax
je 0x100db07f
call fcn.1005e6e3
mov ecx, eax
call fcn.1005d234
mov dword [ebp - 0x3f0], eax
jmp 0x100db0a6
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x44]
and edx, 0xff
shl edx, 0x18
or edx, 0xcd0000
or edx, 0xcd00
or edx, 0xcd
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb4], 0
jmp 0x100db0cd
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 3
jge 0x100db27d
mov ecx, 0x101b9838
call fcn.1005ed05
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x44]
and ecx, 0xff
shl ecx, 0x18
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp + edx*4 - 0x9c]
and eax, 0xff
shl eax, 0x10
or ecx, eax
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp + edx*4 - 0x9c]
and eax, 0xff
shl eax, 8
or ecx, eax
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp + edx*4 - 0x9c]
and eax, 0xff
or ecx, eax
mov dword [ebp - 0x3f4], ecx
mov ecx, dword [ebp - 0xb4]
shl ecx, 1
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xb4]
shl edx, 1
cvtsi2ss xmm0, edx
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2cc]
call fcn.1005e47c
push eax
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x38]
call fcn.1005c41a
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x31c], edx
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x31c]
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], ecx
mov edx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x360], edx
mov dword [ebp - 0x35c], eax
cvtsi2ss xmm0, dword [ebp - 0xb4]
push ecx
movss dword [esp], xmm0
cvtsi2ss xmm0, dword [ebp - 0xb4]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2ec]
call fcn.1005e47c
push eax
lea ecx, [ebp - 0x2fc]
push ecx
lea ecx, [ebp - 0x40]
call fcn.1005e864
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x310], edx
mov dword [ebp - 0x30c], eax
mov ecx, dword [ebp - 0x310]
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x330], ecx
mov dword [ebp - 0x32c], edx
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x32c]
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], ecx
push 0
mov edx, dword [ebp - 0x3f4]
push edx
push ecx
movss xmm0, dword [0x10122f18]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x35c]
push eax
mov ecx, dword [ebp - 0x360]
push ecx
mov edx, dword [ebp - 0x34c]
push edx
mov eax, dword [ebp - 0x350]
push eax
mov ecx, dword [ebp - 0x3f0]
call fcn.1005d879
nop
jmp 0x100db0be
push 0x5f
mov eax, dword [ebx + 0xc]
push eax
lea ecx, [ebp - 0x384]
call fcn.1005c92e
mov dword [ebp - 0x3f0], eax
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3f4], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x3f4]
push edx
lea eax, [ebp - 0xd8]
push eax
call fcn.1005db62
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x384]
call fcn.1005db7b
nop
mov ecx, 0x101b9838
call fcn.1005ed05
mov dword [ebp - 0x3f0], eax
lea ecx, [ebp - 0xd8]
call fcn.1005e9f9
mov dword [ebp - 0x3f4], eax
mov eax, dword [0x101b982c]
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x3f4]
push ecx
mov edx, dword [ebp - 0x3f8]
push edx
lea eax, [ebp - 0xe8]
push eax
mov ecx, dword [ebp - 0x3f0]
call fcn.1005f8e0
nop
mov ecx, 0x101b9838
call fcn.1005ed05
mov dword [ebp - 0x3f0], eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x394]
push ecx
lea ecx, [ebp - 0x40]
call fcn.1005e864
mov dword [ebp - 0x3f4], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1012332c]
movss dword [esp], xmm0
lea ecx, [ebp - 0x3a4]
call fcn.1005e47c
mov dword [ebp - 0x3f8], eax
mov edx, dword [ebp - 0x3f8]
push edx
lea eax, [ebp - 0x3b4]
push eax
mov ecx, dword [ebp - 0x3f4]
call fcn.1005c41a
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x3c4], edx
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [ebp - 0x3c4]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3d4], ecx
mov edx, dword [ebp - 0x3d8]
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x3e8], edx
mov dword [ebp - 0x3e4], eax
mov ecx, dword [0x101b982c]
mov dword [ebp - 0x3fc], ecx
lea ecx, [ebp - 0xd8]
call fcn.1005e9f9
mov dword [ebp - 0x400], eax
mov edx, dword [ebp - 0x3e4]
push edx
mov eax, dword [ebp - 0x3e8]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
push 0
mov edx, dword [ebp - 0x3fc]
push edx
push 0
movss xmm0, dword [ebp - 0xe4]
divss xmm0, dword [0x10123324]
movss xmm1, dword [ebp - 0x34]
divss xmm1, dword [0x10123324]
subss xmm1, xmm0
addss xmm1, dword [ebp - 0x3c]
push ecx
movss dword [esp], xmm1
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [0x101237f0]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x400]
push eax
mov ecx, dword [ebp - 0x3f0]
call fcn.1005e003
nop
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd8]
call fcn.1005db7b
nop
push edx
mov ecx, ebp
push eax
lea edx, [0x100db498]
call fcn.1005dca7
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1005d4ff
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret