Function at 0x10c40430
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x84
push ebx
push ebp
mov ebp, dword [esp + 0x94]
push esi
push edi
mov edi, dword [esp + 0x98]
push ebp
push edi
mov esi, dword [edi + 0x52]
mov dword [esp + 0x90], esi
call fcn.10c3d0b0
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x84], ebx
je 0x10c4048d
mov eax, dword [esi + 0x34]
mov dword [esp + 0x90], eax
mov eax, dword [ebx]
cmp eax, 0x4074
jne 0x10c40484
mov ecx, dword [ebx + 0x18]
mov dword [esi + 0x34], ecx
jmp 0x10c4048d
mov edx, dword [ebx + 0xc8]
mov dword [esi + 0x34], edx
test ebp, ebp
jne 0x10c404a1
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov ebp, dword [esp + 0xa8]
xor esi, esi
cmp bp, 0xffff
jne 0x10c404b5
xor eax, eax
jmp 0x10c404c5
mov eax, ebp
and eax, 0xffff
push eax
call fcn.10bf6fc0
add esp, 4
cmp eax, 0x2e
mov dword [esp + 0x8c], eax
ja case.0x10c41408.323
jmp dword [eax*4 + 0x10c423a4]
mov ebp, dword [esp + 0xa4]
xor esi, esi
jmp 0x10c41637
mov cx, word [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov esi, 1
mov word [esp + 0x10], cx
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], 7
jmp 0x10c41637
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov esi, 1
mov dword [esp + 0x10], edx
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 0xa
jmp 0x10c41637
movzx ax, byte [esp + 0xa0]
mov esi, 1
mov word [esp + 0x10], ax
jmp 0x10c40b16
mov ebp, dword [esp + 0xa4]
mov esi, 1
mov dword [esp + 0x10], ebp
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 2
jmp 0x10c41637
mov ecx, dword [esp + 0xa0]
mov esi, 1
mov dword [esp + 0x10], ecx
jmp 0x10c421a3
mov edx, dword [esp + 0xa0]
mov ebx, 2
mov esi, ebx
mov dword [esp + 0x10], edx
jmp 0x10c41138
mov eax, dword [esp + 0xa0]
mov ebx, 2
mov dword [esp + 0x10], eax
mov eax, 0x1d00
mov esi, ebx
mov word [esp + 0x14], ax
mov word [esp + 0x16], 0xa
jmp 0x10c41147
mov ecx, dword [esp + 0xa0]
mov esi, 2
mov dword [esp + 0x10], ecx
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 0xa
jmp 0x10c408d0
mov dx, word [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov esi, 2
mov word [esp + 0x10], dx
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], 7
jmp 0x10c422da
mov eax, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov esi, 2
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 0xa
mov word [esp + 0x18], bp
mov word [esp + 0x1c], 0x500
mov word [esp + 0x1e], 9
jmp 0x10c41637
mov cx, word [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov eax, 0x500
mov edx, 7
mov esi, 2
mov word [esp + 0x10], cx
mov word [esp + 0x14], ax
mov word [esp + 0x16], dx
mov word [esp + 0x18], bp
mov word [esp + 0x1c], ax
mov word [esp + 0x1e], dx
jmp 0x10c41637
mov dx, word [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov eax, 0x500
mov esi, 2
mov word [esp + 0x10], dx
mov word [esp + 0x14], ax
mov word [esp + 0x16], 9
mov word [esp + 0x18], bp
mov word [esp + 0x1c], ax
mov word [esp + 0x1e], 7
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov ecx, 0x500
mov edx, ebp
mov eax, 9
shr edx, 0x10
mov esi, 2
mov word [esp + 0x10], bp
mov word [esp + 0x14], cx
mov word [esp + 0x16], ax
mov word [esp + 0x18], dx
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], ax
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov ecx, ebp
mov dword [esp + 0x10], eax
mov eax, 0x500
mov esi, 3
shr ecx, 0x10
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 2
mov word [esp + 0x18], bp
mov word [esp + 0x1c], ax
mov word [esp + 0x1e], 9
mov word [esp + 0x20], cx
mov word [esp + 0x24], ax
mov word [esp + 0x26], 1
jmp 0x10c41637
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x10], edx
mov edx, ebp
mov ecx, 0x500
mov eax, 9
shr edx, 0x10
mov esi, 3
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 2
mov word [esp + 0x18], bp
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], ax
mov word [esp + 0x20], dx
mov word [esp + 0x24], cx
mov word [esp + 0x26], ax
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov ecx, ebp
mov dword [esp + 0x10], eax
mov eax, 0x500
mov esi, 3
shr ecx, 0x10
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 2
mov word [esp + 0x18], bp
mov word [esp + 0x1c], ax
mov word [esp + 0x1e], 9
mov word [esp + 0x20], cx
mov word [esp + 0x24], ax
mov word [esp + 0x26], 7
jmp 0x10c41637
mov dx, word [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x10], dx
mov edx, ebp
mov ecx, 0x500
mov eax, 9
shr edx, 0x10
mov esi, 3
mov word [esp + 0x14], cx
mov word [esp + 0x16], 7
mov word [esp + 0x18], bp
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], ax
mov word [esp + 0x20], dx
mov word [esp + 0x24], cx
mov word [esp + 0x26], ax
jmp 0x10c41637
mov ax, word [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov ebx, 2
mov word [esp + 0x10], ax
mov esi, ebx
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], 7
mov dword [esp + 0x18], ebp
mov word [esp + 0x1c], 0x1d00
mov word [esp + 0x1e], bx
jmp 0x10c41637
mov ecx, dword [esp + 0xa0]
mov ebx, 2
mov esi, ebx
mov dword [esp + 0x10], ecx
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], bx
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x1c], 0x500
mov word [esp + 0x18], bp
mov word [esp + 0x1e], 7
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov esi, 1
test ebp, ebp
jne 0x10c40916
mov dword [esp + 0x10], ebp
mov word [esp + 0x14], 0xd01
mov word [esp + 0x16], 6
jmp 0x10c41637
mov edx, dword [edi + 4]
mov ecx, dword [edi + 0x10]
mov eax, dword [edx + 0x11e]
push eax
push ebp
push ecx
call sym.PBVM90.dll_pbstg_strdup
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0xd00
mov word [esp + 0x16], 6
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
test ebp, ebp
mov esi, 2
mov dword [esp + 0x10], edx
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 0xa
je 0x10c4224c
mov eax, dword [edi + 4]
mov edx, dword [edi + 0x10]
mov ecx, dword [eax + 0x11e]
push ecx
push ebp
push edx
jmp 0x10c42276
mov ebp, dword [esp + 0xa4]
mov ax, word [esp + 0xa0]
test ebp, ebp
mov esi, 2
mov word [esp + 0x10], ax
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], 7
je 0x10c4224c
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0x10]
mov edx, dword [ecx + 0x11e]
push edx
push ebp
push eax
call sym.PBVM90.dll_pbstg_strdup
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], 0xd00
mov word [esp + 0x1e], 6
jmp 0x10c41637
mov ecx, dword [esp + 0xa0]
mov edx, dword [edi + 4]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x10], ecx
mov ecx, dword [edi + 0x10]
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 0xa
mov eax, dword [edx + 0x11e]
push eax
push ebp
push ecx
mov esi, 2
call sym.PBVM90.dll_pbstg_strdup
test eax, eax
jne 0x10c40a26
mov dword [esp + 0x5c], eax
mov word [esp + 0x60], 0xd01
jmp 0x10c40a50
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x11e]
push eax
push eax
mov eax, dword [edi + 0x10]
push ebp
push eax
call sym.PBVM90.dll_pbstg_strdup
mov ecx, dword [edi + 0x10]
push eax
push ecx
call sym.PBVM90.dll_pbstg_strdup
mov dword [esp + 0x5c], eax
mov word [esp + 0x60], 0xd00
lea eax, [esp + 0x40]
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x60]
push ecx
push edi
mov word [esp + 0x6e], 6
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], edx
call sym.PBVM90.dll_rtReferenceArgCreate
jmp 0x10c41637
mov edx, dword [edi + 4]
mov ebp, dword [esp + 0xa4]
mov ecx, dword [edi + 0x10]
mov esi, 1
mov eax, dword [edx + 0x11e]
push eax
push ebp
push ecx
call sym.PBVM90.dll_pbstg_strdup
test eax, eax
jne 0x10c40aad
mov dword [esp + 0x54], eax
mov word [esp + 0x58], 0xd01
jmp 0x10c40ad7
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x11e]
push eax
push eax
mov eax, dword [edi + 0x10]
push ebp
push eax
call sym.PBVM90.dll_pbstg_strdup
mov ecx, dword [edi + 0x10]
push eax
push ecx
call sym.PBVM90.dll_pbstg_strdup
mov dword [esp + 0x54], eax
mov word [esp + 0x58], 0xd00
lea eax, [esp + 0x40]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x58]
push ecx
push edi
mov word [esp + 0x66], 6
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], edx
call sym.PBVM90.dll_rtReferenceArgCreate
jmp 0x10c41637
movzx dx, byte [esp + 0xa0]
mov esi, 1
mov word [esp + 0x10], dx
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], 0x12
jmp 0x10c41637
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x10
xor ebp, ebp
call esi
test ah, 0x80
je 0x10c40b46
mov ebp, 1
push 0x11
call esi
test ah, 0x80
mov ebx, 2
je 0x10c40b56
or ebp, ebx
mov ax, word [esp + 0xa0]
mov esi, ebx
mov word [esp + 0x10], ax
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], 0x402b
jmp 0x10c422da
mov ebp, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
movsx edx, bp
mov ebx, 1
mov esi, 3
push ebx
push edx
mov dword [esp + 0x18], ecx
mov word [esp + 0x1c], 0x1d00
mov word [esp + 0x1e], 0xa
call sym.PBVM90.dll_FN_ConvertUnits
mov word [esp + 0x18], ax
mov eax, ebp
shr eax, 0x10
movsx ecx, ax
push 2
push ecx
mov word [esp + 0x24], 0x500
mov word [esp + 0x26], bx
call sym.PBVM90.dll_FN_ConvertUnits
mov word [esp + 0x20], ax
mov word [esp + 0x24], 0x500
mov word [esp + 0x26], bx
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov ebx, 2
movsx edx, bp
push 1
push edx
mov esi, ebx
call sym.PBVM90.dll_FN_ConvertUnits
mov word [esp + 0x10], ax
mov eax, ebp
shr eax, 0x10
movsx ecx, ax
push ebx
push ecx
mov word [esp + 0x1c], 0x500
mov word [esp + 0x1e], 1
call sym.PBVM90.dll_FN_ConvertUnits
mov word [esp + 0x18], ax
mov word [esp + 0x1c], 0x500
mov word [esp + 0x1e], 1
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
push 0x10
push ebp
mov esi, 4
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x10c40c98
xor eax, eax
mov ecx, 0x1d00
mov ebx, 2
mov dword [esp + 0x10], eax
mov word [esp + 0x14], cx
mov word [esp + 0x16], bx
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], bx
mov dword [esp + 0x20], eax
mov word [esp + 0x24], cx
mov word [esp + 0x26], bx
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], cx
mov word [esp + 0x2e], bx
jmp 0x10c41637
mov edx, dword [ebp]
push 1
push edx
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 4]
mov ebx, 2
mov word [esp + 0x14], 0x1d00
push ebx
push eax
mov word [esp + 0x1e], bx
call sym.PBVM90.dll_FN_ConvertUnits
mov ecx, dword [ebp + 8]
push 1
push ecx
mov dword [esp + 0x20], eax
mov word [esp + 0x24], 0x1d00
mov word [esp + 0x26], bx
call sym.PBVM90.dll_FN_ConvertUnits
mov edx, dword [ebp + 0xc]
push ebx
push edx
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], 0x1d00
mov word [esp + 0x2e], bx
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], 0x1d00
mov word [esp + 0x2e], bx
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
push 0x10
push ebp
mov esi, 4
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x10c40deb
xor eax, eax
lea ecx, [esp + 0x40]
lea edx, [esp + 0x10]
mov dword [esp + 0x54], eax
mov dword [esp + 0x40], eax
push ecx
mov ebx, 2
lea eax, [esp + 0x58]
push edx
push edi
mov word [esp + 0x64], 0x1d00
mov word [esp + 0x66], bx
mov dword [esp + 0x50], eax
call sym.PBVM90.dll_rtReferenceArgCreate
xor eax, eax
lea ecx, [esp + 0x40]
lea edx, [esp + 0x18]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], eax
push ecx
lea eax, [esp + 0x60]
push edx
push edi
mov word [esp + 0x6c], 0x1d00
mov word [esp + 0x6e], bx
mov dword [esp + 0x50], eax
call sym.PBVM90.dll_rtReferenceArgCreate
xor eax, eax
lea ecx, [esp + 0x40]
lea edx, [esp + 0x20]
mov dword [esp + 0x64], eax
mov dword [esp + 0x40], eax
push ecx
lea eax, [esp + 0x68]
push edx
push edi
mov word [esp + 0x74], 0x1d00
mov word [esp + 0x76], bx
mov dword [esp + 0x50], eax
call sym.PBVM90.dll_rtReferenceArgCreate
xor eax, eax
lea ecx, [esp + 0x40]
lea edx, [esp + 0x28]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x40], eax
push ecx
lea eax, [esp + 0x70]
push edx
push edi
mov word [esp + 0x7c], 0x1d00
mov word [esp + 0x7e], bx
mov dword [esp + 0x50], eax
call sym.PBVM90.dll_rtReferenceArgCreate
jmp 0x10c41637
mov eax, dword [ebp]
push 1
push eax
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [esp + 0x54], eax
lea edx, [esp + 0x40]
lea eax, [esp + 0x10]
push edx
mov ebx, 2
lea ecx, [esp + 0x58]
push eax
push edi
mov word [esp + 0x64], 0x1d00
mov word [esp + 0x66], bx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], ecx
call sym.PBVM90.dll_rtReferenceArgCreate
mov ecx, dword [ebp + 4]
push ebx
push ecx
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x40]
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x60]
push ecx
push edi
mov word [esp + 0x6c], 0x1d00
mov word [esp + 0x6e], bx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], edx
call sym.PBVM90.dll_rtReferenceArgCreate
mov edx, dword [ebp + 8]
push 1
push edx
call sym.PBVM90.dll_FN_ConvertUnits
lea ecx, [esp + 0x40]
lea edx, [esp + 0x20]
mov dword [esp + 0x64], eax
push ecx
lea eax, [esp + 0x68]
push edx
push edi
mov word [esp + 0x74], 0x1d00
mov word [esp + 0x76], bx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], eax
call sym.PBVM90.dll_rtReferenceArgCreate
mov eax, dword [ebp + 0xc]
push ebx
push eax
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [esp + 0x6c], eax
lea edx, [esp + 0x40]
lea eax, [esp + 0x28]
push edx
lea ecx, [esp + 0x70]
push eax
push edi
mov word [esp + 0x7c], 0x1d00
mov word [esp + 0x7e], bx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], ecx
call sym.PBVM90.dll_rtReferenceArgCreate
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
push 0x10
push ebp
mov esi, 5
mov dword [esp + 0x18], ecx
mov word [esp + 0x1c], 0x1d00
mov word [esp + 0x1e], 0xa
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x10c40fdd
xor eax, eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
mov ebx, 2
push eax
lea edx, [esp + 0x60]
push ecx
push edi
mov word [esp + 0x6c], 0x1d00
mov word [esp + 0x6e], bx
mov dword [esp + 0x50], edx
call sym.PBVM90.dll_rtReferenceArgCreate
xor eax, eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x64], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
lea edx, [esp + 0x64]
push eax
push ecx
push edi
mov word [esp + 0x74], 0x1d00
mov word [esp + 0x76], bx
mov dword [esp + 0x50], edx
call sym.PBVM90.dll_rtReferenceArgCreate
xor eax, eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
lea edx, [esp + 0x6c]
push eax
push ecx
push edi
mov word [esp + 0x7c], 0x1d00
mov word [esp + 0x7e], bx
mov dword [esp + 0x50], edx
call sym.PBVM90.dll_rtReferenceArgCreate
xor eax, eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x74], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
lea edx, [esp + 0x74]
push eax
push ecx
push edi
mov word [esp + 0x84], 0x1d00
mov word [esp + 0x86], bx
mov dword [esp + 0x50], edx
call sym.PBVM90.dll_rtReferenceArgCreate
jmp 0x10c41637
mov edx, dword [ebp]
push 1
push edx
call sym.PBVM90.dll_FN_ConvertUnits
lea ecx, [esp + 0x40]
lea edx, [esp + 0x18]
mov dword [esp + 0x54], eax
push ecx
mov ebx, 2
lea eax, [esp + 0x58]
push edx
push edi
mov word [esp + 0x64], 0x1d00
mov word [esp + 0x66], bx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], eax
call sym.PBVM90.dll_rtReferenceArgCreate
mov eax, dword [ebp + 4]
push ebx
push eax
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [esp + 0x5c], eax
lea edx, [esp + 0x40]
lea eax, [esp + 0x20]
push edx
lea ecx, [esp + 0x60]
push eax
push edi
mov word [esp + 0x6c], 0x1d00
mov word [esp + 0x6e], bx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], ecx
call sym.PBVM90.dll_rtReferenceArgCreate
mov ecx, dword [ebp + 8]
push 1
push ecx
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [esp + 0x64], eax
lea eax, [esp + 0x40]
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x68]
push ecx
push edi
mov word [esp + 0x74], 0x1d00
mov word [esp + 0x76], bx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], edx
call sym.PBVM90.dll_rtReferenceArgCreate
mov edx, dword [ebp + 0xc]
push ebx
push edx
call sym.PBVM90.dll_FN_ConvertUnits
lea ecx, [esp + 0x40]
lea edx, [esp + 0x30]
mov dword [esp + 0x6c], eax
push ecx
lea eax, [esp + 0x70]
push edx
push edi
mov word [esp + 0x7c], 0x1d00
mov word [esp + 0x7e], bx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], eax
call sym.PBVM90.dll_rtReferenceArgCreate
jmp 0x10c41637
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x10], cx
mov edx, 0x500
mov eax, 9
mov esi, 3
shr ecx, 0x10
mov word [esp + 0x14], dx
mov word [esp + 0x16], ax
mov word [esp + 0x18], cx
mov word [esp + 0x1c], dx
mov word [esp + 0x1e], ax
mov dword [esp + 0x20], ebp
mov word [esp + 0x24], 0x1d00
mov word [esp + 0x26], 2
jmp 0x10c41637
mov eax, dword [esp + 0xa0]
mov ebx, 2
mov esi, ebx
mov dword [esp + 0x10], eax
mov eax, 0x1d00
mov word [esp + 0x16], bx
mov word [esp + 0x14], ax
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x1c], ax
mov dword [esp + 0x18], ebp
mov word [esp + 0x1e], bx
jmp 0x10c41637
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x10], cx
mov edx, 0x500
mov eax, 9
mov esi, 2
shr ecx, 0x10
mov word [esp + 0x14], dx
mov word [esp + 0x16], ax
mov word [esp + 0x18], cx
mov word [esp + 0x1c], dx
mov word [esp + 0x1e], ax
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
push 0x1c
push ebp
mov esi, 6
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x10c41224
xor eax, eax
mov ecx, 0x1d00
mov ebx, 2
mov dword [esp + 0x10], eax
mov word [esp + 0x14], cx
mov word [esp + 0x16], bx
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], bx
mov dword [esp + 0x20], eax
mov word [esp + 0x24], cx
mov word [esp + 0x26], bx
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], cx
mov word [esp + 0x2e], bx
mov dword [esp + 0x30], eax
mov word [esp + 0x34], cx
mov word [esp + 0x36], bx
mov dword [esp + 0x38], eax
mov word [esp + 0x3c], cx
mov word [esp + 0x3e], 0xa
jmp 0x10c41637
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 4]
mov ebx, 2
push 1
push edx
mov dword [esp + 0x18], ecx
mov word [esp + 0x1c], 0x1d00
mov word [esp + 0x1e], bx
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
push ebx
push eax
mov word [esp + 0x24], 0x1d00
mov word [esp + 0x26], bx
call sym.PBVM90.dll_FN_ConvertUnits
mov ecx, dword [ebp + 0x10]
push 1
push ecx
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], 0x1d00
mov word [esp + 0x2e], bx
call sym.PBVM90.dll_FN_ConvertUnits
mov edx, dword [ebp + 0x14]
push ebx
push edx
mov dword [esp + 0x30], eax
mov word [esp + 0x34], 0x1d00
mov word [esp + 0x36], bx
call sym.PBVM90.dll_FN_ConvertUnits
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x30], eax
mov eax, 0x1d00
mov word [esp + 0x36], bx
mov word [esp + 0x34], ax
mov dword [esp + 0x38], ecx
mov word [esp + 0x3c], ax
mov word [esp + 0x3e], 0xa
jmp 0x10c41637
mov edx, dword [esp + 0x88]
xor ebp, ebp
mov dword [esp + 0x10], ebp
mov word [esp + 0x14], 0xd01
mov word [esp + 0x16], 0x4068
mov eax, dword [edx + 0x44]
mov ebx, 1
cmp eax, ebp
mov esi, ebx
je 0x10c41326
push eax
call fcn.10c3ce00
add esp, 4
cmp eax, ebp
je 0x10c41326
mov ecx, dword [eax + 4]
cmp ecx, ebp
jne 0x10c41313
mov dword [esp + 0x10], ebp
mov word [esp + 0x14], 0xd01
mov ax, word [eax]
mov word [esp + 0x16], ax
jmp 0x10c41326
mov dword [esp + 0x10], ecx
mov word [esp + 0x14], 0xd00
mov cx, word [eax]
mov word [esp + 0x16], cx
mov eax, dword [esp + 0xa8]
and eax, 0xffff
cmp eax, 0xbb
jg 0x10c413f0
je 0x10c4134c
cmp eax, 0xb8
jne case.0x10c41408.323
xor ebp, ebp
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0x40]
lea eax, [esp + 0x50]
push edx
push eax
push ecx
push edi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x60], ebp
call fcn.10bde200
mov eax, dword [esp + 0x60]
add esp, 0x10
cmp eax, ebp
je 0x10c41391
push 0xa51
lea edx, [esp + 0x54]
push str.fnevents.cpp
push edx
push eax
push edi
call sym.PBVM90.dll_ob_insert_inst_ref_dbg
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x40]
cmp eax, ebp
mov esi, 3
mov dword [esp + 0x18], ecx
mov word [esp + 0x1c], 0x1d00
mov word [esp + 0x1e], 2
jne 0x10c413d2
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x20], 0
mov word [esp + 0x24], 0xd01
mov word [esp + 0x26], 0x4089
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x20], eax
mov word [esp + 0x24], 0xd00
mov word [esp + 0x26], 0x4089
jmp 0x10c41637
add eax, 0xfffffec5
cmp eax, 0xdd
ja case.0x10c41408.323
xor edx, edx
mov dl, byte [eax + 0x10c42484]
jmp dword [edx*4 + 0x10c42460]
mov eax, dword [esp + 0x9c]
mov esi, 2
push eax
push edi
call fcn.10c2f330
mov ebp, dword [esp + 0xac]
add esp, 8
mov word [esp + 0x18], ax
mov word [esp + 0x1c], 0x500
mov word [esp + 0x1e], bx
jmp 0x10c41637
mov ecx, dword [esp + 0x9c]
mov esi, 2
push ecx
push edi
call fcn.10bf3560
mov ebp, dword [esp + 0xac]
add esp, 8
mov word [esp + 0x18], ax
mov word [esp + 0x1c], 0x500
mov word [esp + 0x1e], bx
jmp 0x10c41637
mov edx, dword [esp + 0x9c]
mov esi, 2
push edx
push edi
call fcn.10bffea0
mov ebp, dword [esp + 0xac]
add esp, 8
mov word [esp + 0x18], ax
mov word [esp + 0x1c], 0x500
mov word [esp + 0x1e], bx
jmp 0x10c41637
mov eax, dword [esp + 0x9c]
mov ebx, 2
push eax
push edi
mov esi, ebx
call fcn.10c0c9f0
mov ebp, dword [esp + 0xac]
add esp, 8
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], 0x1d00
mov word [esp + 0x1e], bx
jmp 0x10c41637
cmp bp, 0x35
jne case.0x10c41408.323
push 0
push 0
push 0x147
jmp 0x10c41cfe
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
push edx
mov ecx, dword [eax + 4]
push ecx
call sym.PBVM90.dll_ob_get_underlying_object
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [edx + 0x18]
push eax
call dword [0x10e2d088]
mov edi, eax
mov eax, dword [esp + 0xa8]
and eax, 0xffff
cmp eax, 0x292
jg case.0x10c41408.323
je case.0x10c41553.190
add eax, 0xffffff4c
cmp eax, 0x2a
ja case.0x10c41408.323
xor ecx, ecx
mov cl, byte [eax + 0x10c425c4]
jmp dword [ecx*4 + 0x10c42564]
mov edx, dword [edi]
mov ebx, 2
mov dword [esp + 0x10], edx
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], bx
mov eax, dword [edi + 4]
test eax, eax
mov esi, 5
jne 0x10c41598
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], 0xd01
mov word [esp + 0x1e], 6
jmp 0x10c415c5
mov ebp, dword [esp + 0x98]
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + 0x11e]
push edx
push eax
mov eax, dword [ebp + 0x10]
push eax
call sym.PBVM90.dll_pbstg_strdup
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], 0xd00
mov word [esp + 0x1e], 6
mov eax, dword [edi + 8]
test eax, eax
jne 0x10c415d9
mov dword [esp + 0x20], eax
mov word [esp + 0x24], 0xd01
jmp 0x10c415f8
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + 0x11e]
push edx
push eax
mov eax, dword [ebp + 0x10]
push eax
call sym.PBVM90.dll_pbstg_strdup
mov dword [esp + 0x20], eax
mov word [esp + 0x24], 0xd00
mov word [esp + 0x26], 6
mov cx, word [edi + 0xc]
mov word [esp + 0x28], cx
mov word [esp + 0x2c], 0x500
mov word [esp + 0x2e], 0x400f
mov edx, dword [edi + 0x10]
mov dword [esp + 0x30], edx
mov word [esp + 0x34], 0x1d00
mov word [esp + 0x36], bx
mov ebp, dword [esp + 0xa4]
mov edi, dword [esp + 0x98]
mov edx, dword [esp + 0xac]
xor ecx, ecx
push ecx
push 1
push edx
lea edx, [esp + 0x1c]
push esi
mov esi, dword [esp + 0x50]
push edx
xor eax, eax
sub esp, 0x10
mov edx, esp
push edi
mov dword [edx], esi
mov esi, dword [esp + 0xc4]
mov dword [edx + 4], esi
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
call sym.PBVM90.dll_rtRoutineExec
mov ebx, eax
mov eax, dword [esp + 0x8c]
add eax, 0xffffffe9
cmp eax, 0xe
ja case.0x10c4168a.28
xor ecx, ecx
mov cl, byte [eax + 0x10c42608]
jmp dword [ecx*4 + 0x10c425f0]
push 0x10
push ebp
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x10c416da
mov edx, dword [esp + 0x54]
push 3
push edx
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [ebp], eax
mov eax, dword [esp + 0x5c]
push 3
push eax
call sym.PBVM90.dll_FN_ConvertUnits
mov ecx, dword [esp + 0x64]
push 3
push ecx
mov dword [ebp + 4], eax
call sym.PBVM90.dll_FN_ConvertUnits
mov edx, dword [esp + 0x6c]
push 3
push edx
mov dword [ebp + 8], eax
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [ebp + 0xc], eax
lea eax, [esp + 0x10]
push eax
push edi
call sym.PBVM90.dll_rtReferenceArgFree
lea ecx, [esp + 0x18]
push ecx
push edi
call sym.PBVM90.dll_rtReferenceArgFree
lea edx, [esp + 0x20]
push edx
push edi
call sym.PBVM90.dll_rtReferenceArgFree
lea eax, [esp + 0x28]
push eax
push edi
call sym.PBVM90.dll_rtReferenceArgFree
jmp case.0x10c4168a.28
push 0x10
push ebp
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x10c41754
mov ecx, dword [esp + 0x5c]
push 3
push ecx
call sym.PBVM90.dll_FN_ConvertUnits
mov edx, dword [esp + 0x64]
push 3
push edx
mov dword [ebp], eax
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x6c]
push 3
push eax
call sym.PBVM90.dll_FN_ConvertUnits
mov ecx, dword [esp + 0x74]
push 3
push ecx
mov dword [ebp + 8], eax
call sym.PBVM90.dll_FN_ConvertUnits
mov dword [ebp + 0xc], eax
lea edx, [esp + 0x18]
push edx
push edi
call sym.PBVM90.dll_rtReferenceArgFree
lea eax, [esp + 0x20]
push eax
push edi
call sym.PBVM90.dll_rtReferenceArgFree
lea ecx, [esp + 0x28]
push ecx
push edi
call sym.PBVM90.dll_rtReferenceArgFree
lea edx, [esp + 0x30]
push edx
push edi
call sym.PBVM90.dll_rtReferenceArgFree
jmp case.0x10c4168a.28
mov edi, dword [esp + 0x5c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x10c417da
call fcn.10bd19f0
test eax, eax
je 0x10c417b9
mov eax, dword [esp + 0x5c]
push eax
push ebp
call dword [sym.imp.MSVCRT.dll__mbscpy]
add esp, 8
jmp 0x10c417da
mov edi, dword [esp + 0x5c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x98]
mov eax, dword [esp + 0x5c]
push eax
mov ecx, dword [esi + 0x10]
push ecx
call sym.PBVM90.dll_pbstg_fee
lea edx, [esp + 0x18]
push edx
push esi
call sym.PBVM90.dll_rtReferenceArgFree
jmp case.0x10c4168a.28
mov esi, dword [esp + 0xa0]
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x10c4181f
mov eax, dword [esp + 0x54]
push esi
push eax
push ebp
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov edx, dword [edi + 0x10]
push ecx
push edx
call sym.PBVM90.dll_pbstg_fee
lea eax, [esp + 0x10]
push eax
push edi
call sym.PBVM90.dll_rtReferenceArgFree
jmp case.0x10c4168a.28
mov eax, dword [esp + 0xa8]
cmp ax, 0xb8
je 0x10c4184d
cmp ax, 0xbb
jne case.0x10c4168a.28
mov eax, dword [esp + 0x50]
test eax, eax
je case.0x10c4168a.28
mov edx, dword [edi + 4]
lea ecx, [esp + 0x50]
push ecx
push edx
call sym.PBVM90.dll_ob_clear_instance_ref
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x50]
push eax
mov edx, dword [ecx + 0x18]
push edx
call dword [0x10e2d0bc]
mov ebp, dword [esp + 0x90]
mov esi, dword [sym.imp.USER32.dll_IsWindow]
test ebp, ebp
je 0x10c4189d
push ebp
call esi
test eax, eax
je 0x10c4189d
mov edi, dword [esp + 0x88]
mov dword [edi + 0x34], ebp
jmp 0x10c418b4
mov edi, dword [esp + 0x88]
mov eax, dword [edi + 0x34]
push eax
call esi
test eax, eax
jne 0x10c418b4
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x34], ecx
mov eax, dword [edi + 0x38]
test eax, eax
je 0x10c418c8
push eax
call esi
test eax, eax
jne 0x10c418c8
mov edx, dword [edi + 0x34]
mov dword [edi + 0x38], edx
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x84
ret
mov eax, dword [edi]
mov ebx, 2
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], bx
mov cx, word [edi + 4]
mov esi, ebx
mov word [esp + 0x18], cx
mov word [esp + 0x1c], 0x500
mov word [esp + 0x1e], 1
jmp case.0x10c41408.323
mov edx, dword [edi]
mov word [esp + 0x14], 0x1d00
mov dword [esp + 0x10], edx
mov word [esp + 0x16], 2
mov eax, dword [edi + 4]
mov esi, 3
test eax, eax
mov ebx, 0xd00
mov ecx, 0xd01
jne 0x10c4193f
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], cx
jmp 0x10c41948
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], bx
mov word [esp + 0x1e], 0x4089
mov edi, dword [edi + 8]
test edi, edi
jne 0x10c4196b
mov dword [esp + 0x20], edi
mov word [esp + 0x24], cx
mov word [esp + 0x26], 6
jmp case.0x10c41408.323
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ecx + 0x11e]
push edx
push edi
push eax
call sym.PBVM90.dll_pbstg_strdup
mov dword [esp + 0x20], eax
mov word [esp + 0x24], bx
mov word [esp + 0x26], 6
jmp case.0x10c41408.323
mov ecx, dword [edi]
mov ebx, 2
mov dword [esp + 0x10], ecx
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], bx
mov edi, dword [edi + 4]
test edi, edi
mov esi, ebx
jne 0x10c419d2
mov dword [esp + 0x18], edi
mov word [esp + 0x1c], 0xd01
mov word [esp + 0x1e], 0x4089
jmp case.0x10c41408.323
mov dword [esp + 0x18], edi
mov word [esp + 0x1c], 0xd00
mov word [esp + 0x1e], 0x4089
jmp case.0x10c41408.323
mov edx, dword [edi]
mov eax, 0x1d00
mov ebx, 2
mov dword [esp + 0x10], edx
mov word [esp + 0x14], ax
mov word [esp + 0x16], bx
mov ecx, dword [edi + 4]
mov word [esp + 0x1c], ax
mov dword [esp + 0x18], ecx
mov word [esp + 0x1e], bx
mov edi, dword [edi + 8]
mov esi, 3
test edi, edi
jne 0x10c41a37
mov dword [esp + 0x20], edi
mov word [esp + 0x24], 0xd01
mov word [esp + 0x26], 0x4089
jmp case.0x10c41408.323
mov dword [esp + 0x20], edi
mov word [esp + 0x24], 0xd00
mov word [esp + 0x26], 0x4089
jmp case.0x10c41408.323
mov dx, word [edi]
mov word [esp + 0x14], 0x500
mov word [esp + 0x10], dx
mov word [esp + 0x16], 0x402b
mov eax, dword [edi + 4]
mov esi, 2
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], 0x1d00
mov word [esp + 0x1e], 0xa
jmp case.0x10c41408.323
mov cx, word [edi]
mov eax, 1
mov word [esp + 0x10], cx
mov ecx, 0x500
mov word [esp + 0x14], cx
mov word [esp + 0x16], ax
mov dx, word [edi + 4]
mov word [esp + 0x1c], cx
mov word [esp + 0x18], dx
mov word [esp + 0x1e], ax
mov eax, dword [edi + 8]
mov word [esp + 0x24], 0x1d00
mov dword [esp + 0x20], eax
mov word [esp + 0x26], 2
mov edi, dword [edi + 0xc]
mov esi, 4
test edi, edi
jne 0x10c41aea
mov dword [esp + 0x28], edi
mov word [esp + 0x2c], 0xd01
mov word [esp + 0x2e], 0x4089
jmp case.0x10c41408.323
mov dword [esp + 0x28], edi
mov word [esp + 0x2c], 0xd00
mov word [esp + 0x2e], 0x4089
jmp case.0x10c41408.323
mov ecx, dword [edi]
mov esi, 1
mov dword [esp + 0x10], ecx
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 2
jmp case.0x10c41408.323
mov edx, dword [edi]
mov ebx, 2
mov eax, 0x1d00
mov dword [esp + 0x10], edx
mov word [esp + 0x14], ax
mov word [esp + 0x16], bx
mov ecx, dword [edi + 4]
mov esi, ebx
mov dword [esp + 0x18], ecx
mov word [esp + 0x1c], ax
mov word [esp + 0x1e], bx
jmp case.0x10c41408.323
mov edx, dword [edi]
mov word [esp + 0x14], 0x1d00
mov dword [esp + 0x10], edx
mov word [esp + 0x16], 0xa
mov ax, word [edi + 4]
mov ecx, 0x500
mov word [esp + 0x18], ax
mov eax, 1
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], ax
mov dx, word [edi + 8]
mov esi, 3
mov word [esp + 0x20], dx
mov word [esp + 0x24], cx
mov word [esp + 0x26], ax
jmp case.0x10c41408.323
mov ax, word [edi]
mov word [esp + 0x16], 0x404f
mov word [esp + 0x10], ax
mov eax, 0x500
mov word [esp + 0x14], ax
mov cx, word [edi + 4]
mov word [esp + 0x18], cx
mov word [esp + 0x1c], ax
mov word [esp + 0x1e], 0x4050
mov eax, dword [edi + 8]
test eax, eax
mov esi, 5
jne 0x10c41be6
mov dword [esp + 0x20], eax
mov word [esp + 0x24], 0xd01
jmp 0x10c41c0c
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx + 4]
mov edx, dword [edx + 0x11e]
push edx
push eax
mov eax, dword [ecx + 0x10]
push eax
call sym.PBVM90.dll_pbstg_strdup
mov dword [esp + 0x20], eax
mov word [esp + 0x24], 0xd00
mov word [esp + 0x26], 6
mov cx, word [edi + 0xc]
mov word [esp + 0x28], cx
mov word [esp + 0x2c], 0x500
mov word [esp + 0x2e], 0x400f
mov edx, dword [edi + 0x10]
mov dword [esp + 0x30], edx
mov word [esp + 0x34], 0x1d00
mov word [esp + 0x36], 2
jmp case.0x10c41408.323
mov eax, dword [edi]
mov ebx, 2
mov dword [esp + 0x10], eax
mov eax, 0x1d00
mov word [esp + 0x14], ax
mov word [esp + 0x16], bx
mov ecx, dword [edi + 4]
mov word [esp + 0x1c], ax
mov dword [esp + 0x18], ecx
mov word [esp + 0x1e], bx
mov edx, dword [edi + 8]
mov esi, 3
mov dword [esp + 0x20], edx
mov word [esp + 0x24], ax
mov word [esp + 0x26], bx
jmp case.0x10c41408.323
mov edi, dword [edi]
mov esi, 1
test edi, edi
jne 0x10c41cac
mov dword [esp + 0x10], edi
mov word [esp + 0x14], 0xd01
mov word [esp + 0x16], 6
jmp case.0x10c41408.323
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ecx + 0x11e]
push edx
push edi
push eax
call sym.PBVM90.dll_pbstg_strdup
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0xd00
mov word [esp + 0x16], 6
jmp case.0x10c41408.323
mov eax, ebp
and eax, 0xffff
sub eax, 0x13a
je 0x10c41cf5
sub eax, 8
jne case.0x10c41408.323
push 0
push 0
push 0x188
mov ecx, dword [ebx + 0x18]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
test ax, ax
mov esi, 1
jl 0x10c41d18
inc eax
jmp 0x10c420c4
mov word [esp + 0x10], 0xffff
jmp 0x10c420c9
mov eax, ebp
and eax, 0xffff
cmp eax, 0x291
jg case.0x10c41408.323
je case.0x10c41d52.343
add eax, 0xfffffeac
cmp eax, 0x16
ja case.0x10c41408.323
xor edx, edx
mov dl, byte [eax + 0x10c42650]
jmp dword [edx*4 + 0x10c42618]
mov ebp, dword [esp + 0xa4]
mov ecx, 0x500
mov edx, ebp
mov eax, 1
shr edx, 0x10
mov word [esp + 0x18], dx
mov dx, word [esp + 0xa0]
mov esi, 3
mov word [esp + 0x10], bp
mov word [esp + 0x14], cx
mov word [esp + 0x16], ax
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], ax
mov word [esp + 0x20], dx
mov word [esp + 0x24], cx
mov word [esp + 0x26], ax
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov esi, 1
mov eax, dword [ebp + 0xc]
jmp 0x10c41e06
mov ebp, dword [esp + 0xa4]
mov esi, 2
mov eax, dword [ebp + 0x10]
test eax, eax
jl 0x10c41dda
inc eax
mov word [esp + 0x10], ax
jmp 0x10c41de1
mov word [esp + 0x10], 0xffff
mov eax, dword [ebp + 0x20]
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], 1
jmp 0x10c42248
mov ebp, dword [esp + 0xa4]
mov esi, 1
mov eax, dword [ebp + 0x10]
test eax, eax
jl 0x10c41e21
inc eax
mov word [esp + 0x14], 0x500
mov word [esp + 0x10], ax
mov word [esp + 0x16], si
jmp 0x10c41637
mov word [esp + 0x10], 0xffff
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], si
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov esi, 6
mov eax, dword [ebp + 0xc]
test eax, eax
jl 0x10c41e54
inc eax
mov word [esp + 0x10], ax
jmp 0x10c41e5b
mov word [esp + 0x10], 0xffff
mov ax, word [ebp + 0x14]
mov bl, byte [ebp + 0x18]
mov ecx, 0x500
mov dl, al
mov word [esp + 0x14], cx
mov word [esp + 0x1c], cx
and eax, 1
mov word [esp + 0x24], cx
mov ecx, dword [ebp + 0x18]
xor dl, bl
mov word [esp + 0x20], ax
mov eax, dword [ebp + 0x14]
mov ebx, ecx
and edx, 1
shr eax, 1
shr ebx, 1
xor bl, al
and eax, 1
and ebx, 1
mov word [esp + 0x30], ax
mov eax, dword [ebp + 0x1c]
mov word [esp + 0x18], dx
mov word [esp + 0x28], bx
mov edx, 7
mov ebx, 0x500
mov word [esp + 0x16], 1
test eax, 0xfffffff7
mov word [esp + 0x1e], dx
mov word [esp + 0x26], dx
mov word [esp + 0x2c], bx
mov word [esp + 0x2e], dx
mov word [esp + 0x34], bx
mov word [esp + 0x36], dx
jne 0x10c41ef5
mov eax, dword [ebp + 0x14]
mov word [esp + 0x38], 0
xor ecx, eax
test ecx, 0xfffffffc
je 0x10c41efc
mov word [esp + 0x38], 1
mov word [esp + 0x3c], bx
mov word [esp + 0x3e], dx
jmp 0x10c41637
mov edx, dword [esp + 0x9c]
mov esi, 1
push edx
push edi
call fcn.10bf3560
mov ebp, dword [esp + 0xac]
add esp, 8
mov word [esp + 0x10], ax
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], si
jmp 0x10c41637
mov eax, dword [ebx + 0x18]
push 0
push 0
push 0xc19
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
and ebp, 0xffff
lea ecx, [ebp - 0x1d5]
cmp ecx, 0xaf
ja case.0x10c41408.323
xor edx, edx
mov dl, byte [ecx + 0x10c42678]
jmp dword [edx*4 + 0x10c42668]
mov eax, dword [eax]
mov esi, 1
test eax, eax
jne 0x10c41fa1
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0xd01
mov word [esp + 0x16], 6
jmp 0x10c41637
mov ecx, dword [edi + 4]
mov edx, dword [ecx + 0x11e]
push edx
push eax
mov eax, dword [edi + 0x10]
push eax
call sym.PBVM90.dll_pbstg_strdup
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0xd00
mov word [esp + 0x16], 6
jmp 0x10c41637
mov ecx, dword [eax]
mov ebx, 2
mov dword [esp + 0x10], ecx
mov ecx, 0x1d00
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x14], cx
mov word [esp + 0x16], bx
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], bx
mov eax, dword [eax + 8]
mov esi, 3
mov dword [esp + 0x20], eax
mov word [esp + 0x24], cx
mov word [esp + 0x26], bx
jmp 0x10c41637
mov cx, word [eax]
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x10], cx
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], 0x402b
mov edx, dword [eax + 4]
mov esi, 2
mov dword [esp + 0x18], edx
mov word [esp + 0x1c], 0x1d00
mov word [esp + 0x1e], 0xa
jmp 0x10c41637
mov eax, ebp
and eax, 0xffff
cmp eax, 0x1ea
jl case.0x10c41408.323
cmp eax, 0x1eb
jg case.0x10c41408.323
mov eax, dword [esp + 0xa0]
mov esi, 1
shr eax, 0x10
jmp 0x10c420c4
and ebp, 0xffff
lea eax, [ebp - 0x1ff]
cmp eax, 0xc
ja case.0x10c41408.323
xor ecx, ecx
mov cl, byte [eax + 0x10c4273c]
jmp dword [ecx*4 + 0x10c42728]
mov edx, dword [esp + 0x9c]
mov esi, 1
push edx
push edi
call fcn.10bffea0
add esp, 8
mov word [esp + 0x10], ax
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x14], 0x500
mov word [esp + 0x16], si
jmp 0x10c41637
mov eax, dword [esp + 0xa4]
mov ebx, 2
mov esi, ebx
mov cx, word [eax + 0xc]
mov word [esp + 0x10], cx
jmp 0x10c422a9
mov ebp, dword [esp + 0xa4]
mov esi, 2
mov eax, dword [ebp + 0xc]
test eax, eax
jl 0x10c42118
inc eax
mov word [esp + 0x10], ax
jmp 0x10c4211f
mov word [esp + 0x10], 0xffff
mov eax, dword [ebp + 0x10]
mov edx, 0x500
mov ecx, 1
mov word [esp + 0x14], dx
test eax, eax
mov word [esp + 0x16], cx
jl 0x10c4214f
inc eax
mov word [esp + 0x1c], dx
mov word [esp + 0x18], ax
mov word [esp + 0x1e], cx
jmp 0x10c41637
mov word [esp + 0x18], 0xffff
mov word [esp + 0x1c], dx
mov word [esp + 0x1e], cx
jmp 0x10c41637
and ebp, 0xffff
lea eax, [ebp - 0x20f]
cmp eax, 0x18
ja case.0x10c41408.323
xor edx, edx
mov dl, byte [eax + 0x10c42780]
jmp dword [edx*4 + 0x10c4274c]
mov eax, dword [esp + 0x9c]
mov esi, 1
push eax
push edi
call fcn.10c0c9f0
add esp, 8
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 2
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov esi, 1
mov ecx, dword [ebp + 0x3c]
push ecx
jmp 0x10c421f1
mov ebp, dword [esp + 0xa4]
mov esi, 1
mov edx, dword [ebp + 0x10]
push edx
jmp 0x10c421f1
mov ebp, dword [esp + 0xa4]
mov esi, 1
mov eax, dword [ebp + 0x14]
push eax
push ebx
push edi
call fcn.10c0c450
add esp, 0xc
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 2
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov edx, dword [esp + 0x84]
mov ebx, 2
mov ecx, dword [ebp + 0x10]
mov esi, ebx
push ecx
push edx
push edi
call fcn.10c0c450
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x1c]
add esp, 0xc
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], bx
test eax, eax
jne 0x10c42267
mov dword [esp + 0x18], 0
mov word [esp + 0x1c], 0xd01
mov word [esp + 0x1e], 6
jmp 0x10c41637
mov ecx, dword [edi + 4]
mov edx, dword [ecx + 0x11e]
push edx
push eax
mov eax, dword [edi + 0x10]
push eax
call sym.PBVM90.dll_pbstg_strdup
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], 0xd00
mov word [esp + 0x1e], 6
jmp 0x10c41637
mov ecx, dword [esp + 0xa4]
mov ebx, 2
mov esi, ebx
mov dx, word [ecx + 0xc]
mov word [esp + 0x10], dx
push 0x10
mov word [esp + 0x18], 0x500
mov word [esp + 0x1a], 0x12
xor ebp, ebp
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, 0x80
je 0x10c422cb
mov ebp, 1
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, 0x80
je 0x10c422da
or ebp, ebx
mov dword [esp + 0x18], ebp
mov word [esp + 0x1c], 0x1d00
mov word [esp + 0x1e], 0xa
jmp 0x10c41637
mov ebp, dword [esp + 0xa4]
mov ecx, dword [esp + 0x84]
mov ebx, 2
mov eax, dword [ebp + 0x14]
mov esi, ebx
push eax
push ecx
push edi
call fcn.10c0c450
mov edx, dword [ebp + 0x3c]
add esp, 0xc
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x84]
push edx
push eax
push edi
mov word [esp + 0x20], 0x1d00
mov word [esp + 0x22], bx
call fcn.10c0c450
add esp, 0xc
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], 0x1d00
mov word [esp + 0x1e], bx
jmp 0x10c41637
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov word [esp + 0x18], cx
mov edx, 0x500
mov eax, 9
mov esi, 3
shr ecx, 0x10
mov dword [esp + 0x10], ebp
mov word [esp + 0x14], 0x1d00
mov word [esp + 0x16], 2
mov word [esp + 0x1c], dx
mov word [esp + 0x1e], ax
mov word [esp + 0x20], cx
mov word [esp + 0x24], dx
mov word [esp + 0x26], ax
jmp 0x10c41637