Function at 0x438970
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f34f3
mov eax, dword fs:[0]
push eax
sub esp, 0x2b4
mov eax, dword [0x535a40]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2b0], edi
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x2a4], eax
lea eax, [esi - 0x1000]
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x298], ecx
cmp eax, 0xff
ja 0x4389e5
push ecx
push edx
push esi
push dword [ebp - 0x2a4]
mov ecx, edi
call fcn.004367a0
jmp 0x438c70
mov eax, esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0x200
jb 0x438a7d
cmp eax, 0x20e
ja 0x438a7d
movsx eax, cx
xorps xmm0, xmm0
mov dword [ebp - 0x230], eax
mov eax, ecx
shr eax, 0x10
cwde
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0x230]
push eax
push dword [edi + 0x2c]
mov dword [ebp - 0x248], ecx
mov ecx, edi
mov dword [ebp - 0x24c], edx
movq qword [ebp - 0x244], xmm0
mov dword [ebp - 0x23c], 0
call fcn.00438780
lea eax, [ebp - 0x254]
push eax
push 0
push 0x407
push dword [edi + 0x2c]
call esi
mov edx, dword [ebp - 0x2b4]
mov ecx, dword [ebp - 0x298]
mov eax, dword [ebp + 0xc]
cmp eax, 0x201
jne 0x438cc3
cmp byte [edi + 0xb4], 0
je 0x438ad5
movsx esi, cx
mov eax, esi
sub eax, dword [edi + 0x90]
cdq
xor eax, edx
sub eax, edx
cmp eax, 8
jg 0x438ac3
push dword [ebp - 0x2a4]
call dword [sym.imp.USER32.dll_SetCapture]
push dword [edi + 0x34]
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [edi + 0xb8], esi
jmp 0x438ad5
push 0xfffffffffffffff4
push dword [edi + 8]
call dword [sym.imp.USER32.dll_GetClassLongW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push dword [ebp - 0x2a4]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebp - 0x298]
lea edx, [ebp - 0x2a8]
push edx
movsx ecx, ax
lea edx, [ebp - 0x2a0]
push 0
shr eax, 0x10
push edx
cwde
push eax
push ecx
mov ecx, edi
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x2a8], 0
call fcn.004359d0
mov esi, dword [ebp - 0x2a8]
mov dword [ebp - 0x2a0], eax
test al, 0xe0
je 0x438b44
push 0
push 0
push esi
push 0
push 0xfffffffffffffffe
push dword [edi + 8]
mov ecx, edi
call fcn.00433a20
mov eax, dword [ebp - 0x2a0]
test al, 0x40
je 0x438cb2
mov eax, dword [esi + 0x20]
shr eax, 4
mov cl, al
and al, 1
not cl
and cl, 1
mov byte [ebp - 0x2b9], cl
cmp cl, al
je case.default.0x43a462
mov eax, dword [edi + 8]
test cl, cl
push 0
push 0
push esi
push 0
mov ecx, edi
je 0x438b99
push 0x7d1
push eax
call fcn.00433a20
test eax, eax
jne case.default.0x43a462
or dword [esi + 0x20], 0x30
mov ecx, esi
call fcn.004355c0
jmp 0x438bb7
push 0x7d2
push eax
call fcn.00433a20
test eax, eax
jne case.default.0x43a462
mov ecx, esi
call fcn.004355c0
and dword [esi + 0x20], 0xffffffef
mov dword [ebp - 0x2a8], eax
test eax, eax
je case.default.0x43a462
mov ecx, dword [edi + 0x54]
xor eax, eax
mov dword [ebp - 0x29c], eax
test ecx, ecx
je 0x438c20
cmp ecx, esi
je 0x438c29
mov edx, dword [ecx + 0x14]
inc eax
mov dword [ebp - 0x29c], eax
test edx, edx
je 0x438bfa
mov eax, dword [ecx + 0x20]
shr eax, 4
test al, 1
je 0x438bfa
mov ecx, edx
mov eax, dword [ebp - 0x29c]
jmp 0x438bd4
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x438c0b
mov ecx, eax
mov eax, dword [ebp - 0x29c]
jmp 0x438bd4
mov eax, dword [ecx + 8]
test eax, eax
je 0x438c20
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x438bf2
mov eax, dword [eax + 8]
test eax, eax
jne 0x438c12
or eax, 0xffffffff
mov dword [ebp - 0x29c], eax
push eax
push eax
mov ecx, edi
call fcn.00437ab0
mov ecx, dword [ebp - 0x29c]
inc ecx
cmp byte [ebp - 0x2b9], 0
je 0x438c8d
push dword [ebp - 0x2a8]
push ecx
mov ecx, edi
call fcn.00436500
mov esi, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x2b4]
mov eax, dword [edi]
push esi
push ecx
push dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov ecx, edi
push dword [ebp - 0x2a4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c34b7
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp - 0x2a8]
neg eax
push eax
push ecx
mov ecx, edi
call fcn.00436500
mov eax, dword [edi + 0x7c]
test eax, eax
je case.default.0x43a462
cmp eax, esi
je 0x438cb9
mov eax, dword [eax + 8]
test eax, eax
jne 0x438ca5
jmp case.default.0x43a462
test eax, 0x1e0
je case.default.0x43a462
push esi
mov ecx, edi
call fcn.00438110
jmp case.default.0x43a462
cmp eax, 0x200
jne 0x438e3f
cmp byte [edi + 0xb4], 0
je 0x439b74
movsx esi, cx
mov dword [ebp - 0x29c], esi
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [ebp - 0x2a4]
jne 0x438d7b
test byte [ebp - 0x2b4], 1
je 0x438d7b
sub esi, dword [edi + 0xb8]
mov dword [ebp - 0x29c], esi
je 0x438d6d
mov ecx, dword [edi + 0x94]
mov edx, ecx
mov esi, dword [edi + 0x90]
sub edx, esi
mov eax, dword [ebp - 0x29c]
add eax, esi
cmp eax, ecx
mov ecx, edi
cmovge edx, dword [ebp - 0x29c]
add dword [edi + 0xb8], edx
add esi, edx
push esi
call fcn.00437cd0
lea eax, [ebp - 0x268]
mov dword [ebp - 0x268], 1
push eax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x120c
push dword [edi + 0xc]
mov dword [ebp - 0x264], esi
call eax
mov ecx, edi
call fcn.00437e60
push dword [edi + 0x34]
call dword [sym.imp.USER32.dll_SetCursor]
jmp case.default.0x43a462
mov eax, esi
sub eax, dword [edi + 0x90]
cdq
xor eax, edx
sub eax, edx
cmp eax, 8
jle 0x438d6d
push 0xfffffffffffffff4
push dword [edi + 8]
call dword [sym.imp.USER32.dll_GetClassLongW]
cmp dword [edi + 0xd4], 0
mov ecx, eax
mov esi, dword [ebp - 0x298]
mov dword [ebp - 0x2a0], ecx
je 0x438e33
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x2b8], 0
push ecx
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x2b0], 0
push ecx
mov eax, esi
mov dword [ebp - 0x2a8], 0
shr eax, 0x10
lea ecx, [ebp - 0x2b8]
push ecx
cwde
mov ecx, edi
push eax
push dword [ebp - 0x29c]
call fcn.004359d0
mov ecx, dword [ebp - 0x2a8]
test ecx, ecx
je 0x438e2d
push dword [ebp - 0x2b0]
mov eax, dword [edi + 0xd4]
push ecx
call eax
mov ecx, dword [ebp - 0x2a0]
add esp, 8
test eax, eax
cmovne ecx, eax
push ecx
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x438c56
mov ecx, dword [ebp - 0x2a0]
push ecx
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x438c56
cmp eax, 0x202
jne 0x438e82
cmp byte [edi + 0xb4], 0
je case.default.0x43a462
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [ebp - 0x2a4]
jne case.default.0x43a462
call dword [sym.imp.USER32.dll_ReleaseCapture]
push 0xfffffffffffffff4
push dword [edi + 8]
call dword [sym.imp.USER32.dll_GetClassLongW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp case.default.0x43a462
cmp eax, 0x100
ja 0x439b69
je 0x43975e
add eax, 0xfffffffe
cmp eax, 0x85
ja case.default.0x43a462
movzx eax, byte [eax + 0x43a548]
jmp dword [eax*4 + 0x43a518]
push ecx
push edx
push dword [ebp + 0xc]
push dword [ebp - 0x2a4]
test edx, edx
je 0x438edb
call dword [sym.imp.USER32.dll_DefWindowProcW]
mov ecx, edi
mov byte [edi + 0x9d], 0
mov esi, eax
call fcn.004379d0
mov eax, esi
jmp 0x438c70
mov byte [edi + 0x9d], 1
call dword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x438c70
cmp edx, dword [ebp - 0x2a4]
je case.0x439d6a.8
jmp case.default.0x43a462
xor eax, eax
movzx ecx, cx
test cx, cx
mov dword [edi + 0x30], edx
setne al
push eax
push edx
push 0x30
push dword [edi + 0xc]
mov dword [ebp - 0x2b8], eax
call esi
mov esi, dword [ebp - 0x2b8]
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
push esi
push dword [edi + 0x30]
push 0x30
push dword [edi + 0x14]
call eax
push esi
push dword [edi + 0x30]
push 0x30
push dword [edi + 0x2c]
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
push dword [edi + 0x30]
push 0x30
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
push dword [edi + 0x30]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x30
push dword [edi + 0x18]
call esi
lea eax, [ebp - 0x248]
push eax
push dword [edi + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x248]
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x220], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x294]
movq qword [ebp - 0x284], xmm0
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x220]
push eax
push 0
push 0x1205
push dword [edi + 0xc]
movups xmmword [ebp - 0x294], xmm0
call esi
mov eax, dword [ebp - 0x27c]
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
or eax, 0x40
push eax
push dword [ebp - 0x280]
push dword [edi + 0x90]
push 0
push 0
push dword [ebp - 0x290]
push dword [edi + 0xc]
call esi
mov eax, dword [ebp - 0x27c]
mov ecx, dword [edi + 0x90]
or eax, 0x40
push eax
push dword [ebp - 0x280]
mov eax, dword [ebp - 0x284]
sub eax, ecx
push eax
push 0
push ecx
push dword [edi + 0xc]
push dword [edi + 0x14]
call esi
cmp word [ebp - 0x298], 0
je case.default.0x439d6a
mov ecx, edi
call fcn.004379d0
xor eax, eax
jmp 0x438c70
mov eax, dword [edi + 0x7c]
test eax, eax
je case.default.0x43a462
push eax
mov ecx, edi
call fcn.00437a90
jmp case.default.0x43a462
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x2a4]
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
mov esi, eax
mov dword [ebp - 0x22c], esi
push esi
lea eax, [ebp - 0x278]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.00433ab0
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x2a4]
call dword [sym.imp.USER32.dll_EndPaint]
test esi, esi
je case.default.0x439d6a
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
xor eax, eax
jmp 0x438c70
push ecx
push edx
push dword [ebp + 0xc]
push dword [ebp - 0x2a4]
call dword [sym.imp.USER32.dll_DefWindowProcW]
or eax, 1
jmp 0x438c70
mov ecx, edi
call fcn.00437e60
mov ecx, edi
call fcn.00438060
mov ecx, edi
call fcn.00437bb0
mov eax, dword [edi + 8]
lea ecx, [ebp - 0x258]
xorps xmm0, xmm0
mov dword [ebp - 0x268], 0x30
push ecx
movups xmmword [ebp - 0x260], xmm0
push eax
mov dword [ebp - 0x264], 0
movups xmmword [ebp - 0x250], xmm0
mov dword [ebp - 0x260], eax
movq qword [ebp - 0x240], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x268]
push eax
push 0
push 0x434
push dword [edi + 0x2c]
call esi
jmp case.default.0x43a462
mov eax, dword [ecx]
cmp eax, dword [edi + 0x2c]
mov eax, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x2a8], eax
jne 0x4393c1
mov eax, dword [ecx + 8]
cmp eax, 0xfffffdee
je 0x4391fd
cmp eax, 0xfffffdf7
jne 0x4393c1
lea eax, [ebp - 0x288]
mov ecx, edi
push eax
push dword [edi + 0xac]
push 1
push 0
push dword [edi + 0xa4]
push dword [edi + 0xa8]
call fcn.00434f50
lea eax, [ebp - 0x288]
push eax
push 1
push 0x41f
push dword [edi + 0x2c]
call esi
push 2
lea eax, [ebp - 0x288]
push eax
push 0
push dword [edi + 8]
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 0x15
push 0
push 0
push dword [ebp - 0x284]
push dword [ebp - 0x288]
push 0
push dword [edi + 0x2c]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0
push dword [edi + 0x30]
push 0x30
push dword [edi + 0x2c]
call esi
push 0
push 0
push dword [edi + 0xac]
mov ecx, edi
push dword [edi + 0xa4]
push 0x7d5
push dword [edi + 0x2c]
call fcn.00433a20
mov eax, 1
jmp 0x438c70
cmp dword [edi + 0xac], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x2ac], eax
je 0x4393bb
push eax
push 0
lea esi, [ecx + 0x10]
mov ecx, edi
mov dword [eax], esi
push dword [edi + 0xac]
push dword [edi + 0xa4]
push 0x7d4
push dword [edi + 8]
call fcn.00433a20
test eax, eax
jne case.default.0x439d6a
mov edx, dword [edi + 0xac]
lea edi, [ebp - 0x2b8]
mov dword [ebp - 0x2b8], 0x50
push edi
mov edi, dword [ebp - 0x2b0]
mov ecx, dword [edx + 4]
push esi
push dword [edi + 0xa4]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 8]
call eax
push 0x4e
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0
call dword [ebp - 0x2a8]
mov ecx, edi
mov dword [ebp - 0x280], eax
call fcn.004366f0
mov dword [ebp - 0x27c], eax
mov ecx, edi
lea eax, [ebp - 0x228]
push eax
push dword [edi + 0xac]
push 1
push 1
push dword [edi + 0xa4]
push dword [edi + 0xa8]
call fcn.00434f50
lea eax, [ebp - 0x254]
mov dword [ebp - 0x254], 0x1c
push eax
push 2
push dword [edi + 0x24]
xorps xmm0, xmm0
mov dword [ebp - 0x23c], 0
movups xmmword [ebp - 0x24c], xmm0
mov dword [ebp - 0x250], 4
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov eax, dword [ebp - 0x228]
cmp eax, dword [edi + 0x90]
jne 0x43931b
cmp dword [ebp - 0x240], 0
jne case.default.0x439d6a
mov eax, dword [edi + 0xa0]
push dword [edi + 8]
and eax, 0xfffb3fff
or eax, 0x400
mov dword [ebp - 0x29c], eax
call dword [sym.imp.USER32.dll_GetDC]
push dword [edi + 0x30]
mov dword [ebp - 0x2a0], eax
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x29c]
mov esi, eax
lea eax, [ebp - 0x288]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x2b0]
push dword [ebp - 0x2a0]
call dword [sym.imp.USER32.dll_DrawTextW]
push esi
mov esi, dword [ebp - 0x2a0]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
push dword [edi + 8]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov edx, dword [ebp - 0x220]
mov ecx, 0x4f9d20
mov eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x288]
sub edx, dword [ebp - 0x228]
cmp eax, edx
mov eax, dword [ebp - 0x2ac]
cmovg ecx, dword [ebp - 0x2b0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x298]
jmp 0x4393c1
mov dword [eax], 0x4f9d20
mov esi, dword [edi + 0xc]
mov edx, dword [ecx]
cmp edx, esi
je 0x4393d3
cmp edx, dword [edi + 0x14]
jne case.default.0x43a462
mov eax, dword [ecx + 8]
cmp eax, 0xfffffec0
ja 0x439642
je 0x4394a6
cmp eax, 0xfffffebb
je 0x43942c
cmp eax, 0xfffffebe
je 0x439405
cmp eax, 0xfffffebf
je 0x43949a
jmp case.default.0x43a462
cmp edx, esi
jne 0x43940d
xor eax, eax
jmp 0x439411
mov eax, dword [ecx + 0xc]
inc eax
push 0
push 0
push 0
push eax
push 0x7d3
push dword [edi + 8]
mov ecx, edi
call fcn.00433a20
jmp case.default.0x43a462
xor eax, eax
cmp edx, dword [edi + 0x14]
sete al
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x2ac], eax
jne 0x43946b
cmp byte [edi + 0x9c], 0
je 0x43946b
mov esi, dword [edi + 0x98]
mov ecx, edi
push esi
push eax
call fcn.00438190
push esi
mov ecx, edi
call fcn.00437cd0
mov ecx, edi
call fcn.00437e60
jmp case.default.0x43a462
push eax
mov ecx, edi
call fcn.00434dc0
mov esi, dword [ebp - 0x2ac]
mov ecx, edi
push eax
push esi
mov dword [ebp - 0x2b8], eax
call fcn.00438190
test esi, esi
jne 0x43949a
mov esi, dword [ebp - 0x2b8]
mov ecx, edi
push esi
call fcn.00437cd0
mov ecx, edi
call fcn.00437e60
jmp case.default.0x43a462
mov eax, dword [ecx + 0x14]
test byte [eax], 1
je case.default.0x43a462
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x4394c8
mov eax, dword [eax + 4]
cmp eax, dword [edi + 0x94]
jl case.0x439d6a.8
xor eax, eax
cmp edx, dword [edi + 0x14]
sete al
add eax, ecx
lea ecx, [ebp - 0x288]
push ecx
push eax
mov ecx, edi
mov dword [ebp - 0x2ac], eax
call fcn.00435150
lea eax, [ebp - 0x248]
push eax
push dword [edi + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x280]
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 4]
sub eax, ecx
add eax, dword [ebp - 0x288]
mov dword [ebp - 0x2a0], eax
je case.default.0x439d6a
mov eax, dword [ebp - 0x27c]
mov esi, dword [ebp - 0x2ac]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x21c], eax
test esi, esi
jne 0x43955a
lea eax, [ecx - 1]
mov dword [ebp - 0x228], eax
push 0xfffffffffffffff0
push dword [edi + 0x1c]
call dword [sym.imp.USER32.dll_GetWindowLongW]
shr eax, 0x1c
test al, 1
je 0x43957a
push 2
call dword [ebp - 0x2a8]
sub dword [ebp - 0x220], eax
push 2
push 0
push 0
push 0
lea eax, [ebp - 0x228]
push eax
push 0
push dword [ebp - 0x2a0]
push dword [edi + 8]
call dword [sym.imp.USER32.dll_ScrollWindowEx]
test esi, esi
jne 0x4395a7
cmp byte [edi + 0x9c], 0
jne 0x4395ed
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x238]
push 0
push eax
push dword [edi + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
test esi, esi
jne 0x43962b
mov eax, dword [ebp - 0x280]
mov ecx, edi
add eax, dword [ebp - 0x2a0]
push eax
call fcn.00437cd0
mov ecx, edi
call fcn.00437e60
mov ecx, edi
call fcn.00438060
push dword [edi + 0x14]
mov esi, dword [sym.imp.USER32.dll_UpdateWindow]
call esi
push dword [edi + 0x20]
call esi
push dword [edi + 0x24]
call esi
xor eax, eax
jmp 0x438c70
mov ecx, edi
call fcn.00437e60
push dword [edi + 0x24]
call dword [sym.imp.USER32.dll_UpdateWindow]
xor eax, eax
jmp 0x438c70
cmp eax, 0xfffffec9
je 0x439668
cmp eax, 0xfffffffb
jne case.default.0x43a462
push 0
push 0
push 0
push 0
push eax
push edx
mov ecx, edi
call fcn.00433a20
jmp case.default.0x43a462
push 0
push 0
push dword [edi + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
xor eax, eax
jmp 0x438c70
mov ecx, edi
call fcn.00433020
jmp case.default.0x43a462
mov eax, dword [edi + 0x38]
test eax, eax
je 0x43969c
cmp byte [edi + 0x3c], 0
jne 0x43969c
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_Destroy]
movzx eax, word [0x53a8c8]
push 0
push eax
push dword [ebp - 0x2a4]
call dword [sym.imp.USER32.dll_SetPropW]
mov dword [edi], vtable.CTreeList.0
mov esi, dword [edi + 0xc8]
test esi, esi
je 0x43970c
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x439702
mov eax, dword [esi]
test eax, eax
je 0x4396e0
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4396f7
push eax
call fcn.004c3683
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004c34a9
add esp, 8
mov dword [edi + 0xc8], 0
lea ecx, [edi + 0x40]
call fcn.00432d60
mov eax, dword [edi + 4]
mov dword [ebp - 4], 6
mov dword [edi], vtable.CThemedWindow.0
test eax, eax
je 0x43972f
push eax
call dword [0x53a8b8]
push 0xd8
push edi
call fcn.004c34a9
mov esi, dword [ebp - 0x298]
add esp, 8
push esi
push dword [ebp - 0x2b4]
push dword [ebp + 0xc]
push dword [ebp - 0x2a4]
call dword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x438c70
cmp byte [edi + 0xbc], 0
mov ecx, 0xffffff65
mov eax, 0x7d7
cmovne eax, ecx
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x2a4]
push 0xfffffffffffffff4
push eax
mov dword [ebp - 0x24c], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [ebp - 0x2b4]
mov word [ebp - 0x240], cx
lea ecx, [ebp - 0x24c]
push ecx
push eax
push 0x4e
push dword [ebp - 0x2a4]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x23e], 0
call dword [sym.imp.USER32.dll_GetParent]
push eax
call esi
mov eax, dword [ebp - 0x2b4]
add eax, 0xffffffdf
cmp eax, 0x4a
ja case.default.0x43a462
movzx eax, byte [eax + 0x43a5e4]
jmp dword [eax*4 + 0x43a5d0]
push 0xa2
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je case.default.0x43a462
xor esi, esi
push esi
push esi
push 0x1200
push dword [edi + 0x14]
call dword [sym.imp.USER32.dll_SendMessageW]
inc eax
test eax, eax
jle 0x4398aa
test esi, esi
jne 0x439847
cmp byte [edi + 0x9c], 0
je 0x439847
mov eax, dword [edi + 0x98]
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x268]
push eax
push esi
push 0x120c
push dword [edi + 0xc]
mov dword [ebp - 0x268], 1
jmp 0x439888
push esi
mov ecx, edi
call fcn.00434dc0
mov dword [ebp - 0x268], 1
mov dword [ebp - 0x264], eax
test esi, esi
jne 0x439875
lea eax, [ebp - 0x268]
push eax
push esi
push 0x120c
push dword [edi + 0xc]
jmp 0x439888
lea eax, [ebp - 0x268]
push eax
lea eax, [esi - 1]
push eax
push 0x120c
push dword [edi + 0x14]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x1200
push dword [edi + 0x14]
inc esi
call dword [sym.imp.USER32.dll_SendMessageW]
inc eax
cmp esi, eax
jl 0x439812
mov ecx, edi
call fcn.00437e60
jmp case.default.0x43a462
mov ecx, dword [edi + 0x7c]
test ecx, ecx
je case.default.0x43a462
cmp dword [ebp - 0x2b4], 0x28
jne 0x4398d1
call fcn.00437640
jmp 0x4398d6
call fcn.00437990
mov dword [ebp - 0x2a0], eax
test eax, eax
je case.default.0x43a462
push eax
mov ecx, edi
call fcn.00434d40
push dword [ebp - 0x2a0]
mov ecx, edi
mov esi, eax
call fcn.00438110
push esi
mov ecx, edi
call fcn.00434b80
jmp case.default.0x43a462
mov esi, dword [edi + 0x7c]
mov dword [ebp - 0x29c], esi
test esi, esi
je case.default.0x43a462
lea eax, [ebp - 0x254]
mov dword [ebp - 0x254], 0x1c
push eax
push 2
push dword [edi + 0x1c]
xorps xmm0, xmm0
mov dword [ebp - 0x23c], 0
movups xmmword [ebp - 0x24c], xmm0
mov dword [ebp - 0x250], 2
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov eax, dword [ebp - 0x244]
xor edx, edx
mov dword [ebp - 0x2a0], edx
test eax, eax
je 0x4399d8
nop word [eax + eax]
cmp dword [ebp - 0x2b4], 0x22
jne 0x439a0c
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x4399a1
mov eax, dword [esi + 0x20]
shr eax, 4
test al, 1
je 0x4399a1
mov eax, dword [ebp - 0x244]
mov esi, ecx
mov dword [ebp - 0x29c], esi
jmp 0x439a5e
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4399bb
mov esi, eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x29c], esi
jmp 0x439a5e
mov eax, dword [esi + 8]
test eax, eax
je 0x4399d0
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x4399fc
mov eax, dword [eax + 8]
test eax, eax
jne 0x4399c2
test esi, esi
je case.default.0x43a462
push esi
mov ecx, edi
call fcn.00434d40
push dword [ebp - 0x29c]
mov ecx, edi
mov esi, eax
call fcn.00438110
push esi
mov ecx, edi
call fcn.00434b80
jmp case.default.0x43a462
mov eax, dword [ebp - 0x244]
mov esi, ecx
mov dword [ebp - 0x29c], ecx
jmp 0x439a5e
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x439a41
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x439a39
nop word [eax + eax]
mov eax, dword [ecx + 0x20]
shr eax, 4
test al, 1
je 0x439a33
mov ecx, edx
mov edx, dword [ecx + 0x18]
test edx, edx
jne 0x439a20
mov eax, dword [ebp - 0x244]
mov edx, dword [ebp - 0x2a0]
jmp 0x439a4e
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4399d0
cmp dword [ecx + 4], 0
je 0x4399d0
test ecx, ecx
je 0x4399d0
mov esi, ecx
mov dword [ebp - 0x29c], esi
inc edx
mov dword [ebp - 0x2a0], edx
cmp edx, eax
jb 0x439970
jmp 0x4399d8
mov esi, dword [edi + 0x7c]
test esi, esi
je case.default.0x43a462
cmp dword [ebp - 0x2b4], 0x27
mov ecx, dword [esi + 0x20]
jne 0x439b12
mov eax, ecx
shr eax, 6
test al, 1
je case.default.0x43a462
shr ecx, 4
test cl, 1
mov ecx, edi
push 0
jne 0x439afb
push 0
push esi
push 0
push 0x7d1
push dword [edi + 8]
call fcn.00433a20
test eax, eax
jne case.default.0x43a462
or dword [esi + 0x20], 0x30
mov ecx, esi
call fcn.004355c0
mov dword [ebp - 0x2ac], eax
test eax, eax
je case.default.0x43a462
push esi
mov ecx, edi
call fcn.00434d40
mov esi, eax
mov ecx, edi
push esi
push esi
call fcn.00437ab0
push dword [ebp - 0x2ac]
lea eax, [esi + 1]
push eax
jmp 0x438c49
push 0x28
push 0x100
push dword [ebp - 0x2a4]
call fcn.00438970
jmp 0x438c70
and ecx, 0x50
cmp cl, 0x50
jne 0x439b29
push 0
push esi
mov ecx, edi
call fcn.00434c50
jmp case.default.0x43a462
mov ecx, dword [esi + 8]
mov dword [ebp - 0x2ac], ecx
test ecx, ecx
je case.default.0x43a462
lea eax, [edi + 0x40]
cmp ecx, eax
je case.default.0x43a462
push esi
mov ecx, edi
call fcn.00434d40
push dword [ebp - 0x2ac]
mov ecx, edi
mov esi, eax
call fcn.00438110
push esi
mov ecx, edi
call fcn.00434b80
jmp case.default.0x43a462
cmp eax, 0x201
ja 0x43a2d3
add eax, 0xfffffefe
cmp eax, 0x36
ja case.default.0x43a462
movzx eax, byte [eax + 0x43a648]
jmp dword [eax*4 + 0x43a630]
cmp ecx, dword [edi + 0x28]
jne case.default.0x43a462
call fcn.004486b0
test al, al
je case.default.0x43a462
mov eax, dword [0x53a8dc]
test eax, eax
jne 0x438c70
call fcn.00447510
mov eax, dword [eax + 0x6c]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [0x53a8dc], eax
jmp 0x438c70
cmp edx, 0x64
jne case.default.0x43a462
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push 1
lea eax, [ebp - 0x230]
push eax
push dword [ebp - 0x2a4]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
lea eax, [ebp - 0x230]
mov ecx, edi
push eax
push dword [edi + 0x2c]
call fcn.00438780
jmp case.default.0x43a462
lea eax, [ebp - 0x254]
mov dword [ebp - 0x254], 0x1c
push eax
push 2
push dword [edi + 0x1c]
xorps xmm0, xmm0
mov dword [ebp - 0x23c], 0
movups xmmword [ebp - 0x24c], xmm0
mov dword [ebp - 0x250], 7
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov eax, dword [ebp - 0x2b4]
movzx ecx, ax
cmp ecx, 8
ja case.default.0x439d6a
jmp dword [ecx*4 + 0x43a680]
shr eax, 0x10
mov ecx, edi
push eax
mov dword [ebp - 0x240], eax
call fcn.00438910
jmp case.default.0x43a462
mov eax, dword [ebp - 0x248]
mov ecx, edi
push eax
mov dword [ebp - 0x240], eax
call fcn.00438910
jmp case.default.0x43a462
xor eax, eax
mov ecx, edi
push eax
mov dword [ebp - 0x240], eax
call fcn.00438910
jmp case.default.0x43a462
mov eax, dword [ebp - 0x240]
mov ecx, edi
inc eax
push eax
mov dword [ebp - 0x240], eax
call fcn.00438910
jmp case.default.0x43a462
mov eax, dword [ebp - 0x240]
mov ecx, edi
dec eax
push eax
mov dword [ebp - 0x240], eax
call fcn.00438910
jmp case.default.0x43a462
mov eax, dword [ebp - 0x240]
mov ecx, edi
add eax, dword [ebp - 0x244]
push eax
mov dword [ebp - 0x240], eax
call fcn.00438910
jmp case.default.0x43a462
mov eax, dword [ebp - 0x240]
mov ecx, edi
sub eax, dword [ebp - 0x244]
push eax
mov dword [ebp - 0x240], eax
call fcn.00438910
jmp case.default.0x43a462
test ecx, ecx
je case.default.0x43a462
lea eax, [ebp - 0x254]
mov dword [ebp - 0x254], 0x1c
push eax
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x23c], 0
push ecx
movups xmmword [ebp - 0x24c], xmm0
mov dword [ebp - 0x250], 7
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov eax, dword [ebp - 0x2b4]
movzx ecx, ax
cmp ecx, 8
ja case.default.0x439d6a
jmp dword [ecx*4 + 0x43a6a4]
mov esi, dword [ebp - 0x298]
mov ecx, edi
shr eax, 0x10
push eax
push esi
mov dword [ebp - 0x240], eax
call fcn.00435f00
jmp 0x438c56
mov eax, dword [ebp - 0x248]
mov ecx, edi
mov esi, dword [ebp - 0x298]
push eax
push esi
mov dword [ebp - 0x240], eax
call fcn.00435f00
jmp 0x438c56
mov esi, dword [ebp - 0x298]
xor eax, eax
push eax
push esi
mov ecx, edi
mov dword [ebp - 0x240], eax
call fcn.00435f00
jmp 0x438c56
mov eax, dword [ebp - 0x240]
mov ecx, edi
mov esi, dword [ebp - 0x298]
inc eax
push eax
push esi
mov dword [ebp - 0x240], eax
call fcn.00435f00
jmp 0x438c56
mov eax, dword [ebp - 0x240]
mov ecx, edi
mov esi, dword [ebp - 0x298]
dec eax
push eax
push esi
mov dword [ebp - 0x240], eax
call fcn.00435f00
jmp 0x438c56
mov eax, dword [ebp - 0x240]
mov ecx, edi
add eax, dword [ebp - 0x244]
mov esi, dword [ebp - 0x298]
push eax
push esi
mov dword [ebp - 0x240], eax
call fcn.00435f00
jmp 0x438c56
mov eax, dword [ebp - 0x240]
mov ecx, edi
sub eax, dword [ebp - 0x244]
mov esi, dword [ebp - 0x298]
push eax
push esi
mov dword [ebp - 0x240], eax
call fcn.00435f00
jmp 0x438c56
cmp dword [edi + 0x5c], 0
je case.default.0x43a462
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov dword [ebp - 0x22c], eax
sub ecx, dword [edi + 0xc4]
cmp ecx, 0x2ee
jbe 0x439f4c
mov esi, dword [edi + 0xc8]
test esi, esi
je 0x439ea8
mov eax, dword [esi + 4]
test eax, eax
jne 0x439e9d
push dword [esi]
call fcn.004c3200
mov dword [esi + 4], eax
cmp eax, 0x501662
je 0x439f4c
mov esi, dword [edi + 0xc8]
test esi, esi
je 0x439efc
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x439ef2
mov eax, dword [esi]
test eax, eax
je 0x439ed0
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x439ee7
push eax
call fcn.004c3683
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004c34a9
add esp, 8
mov dword [edi + 0xc8], 0
push 0xc
call fcn.004c3653
mov esi, eax
add esp, 4
mov dword [ebp - 0x21c], esi
mov dword [ebp - 4], 1
test esi, esi
je 0x439f35
push 0x501662
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004c3320
mov dword [esi], eax
jmp 0x439f37
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0xc8], esi
test esi, esi
je 0x43a503
cmp dword [edi + 0x7c], 0
je 0x43a0fa
push 0xc
call fcn.004c3653
mov esi, eax
mov dword [ebp - 0x2a0], eax
add esp, 4
mov dword [ebp - 0x21c], esi
mov dword [ebp - 4], 2
test esi, esi
je 0x439f95
push 0x501662
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004c3320
mov dword [esi], eax
jmp 0x439f9d
xor esi, esi
mov dword [ebp - 0x2a0], esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x29c], esi
test esi, esi
je 0x43a503
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x2ac], eax
cmp eax, esi
jne 0x439fd5
lea ecx, [ebp - 0x29c]
call fcn.00404db0
mov esi, dword [edi + 0x7c]
jmp 0x43a0e7
test eax, eax
jne 0x43a004
mov eax, dword [esi]
test eax, eax
je 0x439fc2
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantInit]
call eax
test eax, eax
je 0x439fc2
lea ecx, [ebp - 0x29c]
call fcn.00404db0
mov esi, dword [edi + 0x7c]
mov dword [ebp - 0x29c], esi
jmp 0x43a0f6
push dword [eax]
mov eax, dword [sym.imp.OLEAUT32.dll_VariantInit]
call eax
push dword [esi]
mov dword [ebp - 0x2a8], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edx, dword [ebp - 0x2ac]
mov ecx, eax
mov eax, dword [ebp - 0x2a8]
mov esi, eax
cmp eax, ecx
mov dword [ebp - 0x2b8], ecx
mov edx, dword [edx]
cmova esi, ecx
test esi, esi
je 0x43a08d
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax]
sub eax, edx
mov dword [ebp - 0x2ac], eax
nop dword [eax]
movzx ecx, word [edx + eax]
lea edx, [edx + 2]
mov eax, ecx
dec esi
mov dword [ebp - 0x2a0], eax
movzx eax, word [edx - 2]
mov edi, eax
mov dword [ebp - 0x21c], edi
mov edi, dword [ebp - 0x2b0]
cmp ax, cx
jne 0x43a09d
mov eax, dword [ebp - 0x2ac]
test esi, esi
jne 0x43a050
mov ecx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2a8]
cmp eax, ecx
jae 0x43a0b9
mov dword [ebp - 0x2a8], 0xffffffff
jmp 0x43a0ca
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x21c]
movzx eax, ax
movzx ecx, cx
sub ecx, eax
mov dword [ebp - 0x2a8], ecx
jmp 0x43a0ca
xor eax, eax
cmp dword [ebp - 0x2a8], ecx
setne al
mov dword [ebp - 0x2a8], eax
lea ecx, [ebp - 0x29c]
call fcn.00404db0
cmp dword [ebp - 0x2a8], 0
mov esi, dword [edi + 0x7c]
mov dword [ebp - 0x29c], esi
jne 0x43a0f6
mov ecx, esi
call fcn.00437640
mov esi, eax
mov dword [ebp - 0x29c], eax
test esi, esi
jne 0x43a103
mov esi, dword [edi + 0x54]
mov dword [ebp - 0x29c], esi
mov eax, dword [ebp - 0x22c]
mov dword [edi + 0xc4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2c0], 0
push 0xc
mov word [ebp - 0x2c0], ax
call fcn.004c3653
add esp, 4
mov dword [ebp - 0x22c], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x43a16e
mov dword [eax + 4], 0
mov dword [eax + 8], 1
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [ebp - 0x22c]
mov dword [ecx], eax
test eax, eax
je 0x43a4f9
jmp 0x43a170
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2b0], ecx
test ecx, ecx
je 0x43a503
push 0xc
mov dword [ebp - 4], 4
call fcn.004c3653
add esp, 4
mov dword [ebp - 0x22c], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x43a1bb
lea ecx, [ebp - 0x2b0]
push ecx
lea ecx, [edi + 0xc8]
push ecx
mov ecx, eax
call fcn.004048f0
jmp 0x43a1bd
xor eax, eax
mov dword [ebp - 0x2a0], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x43a50d
lea ecx, [edi + 0xc8]
call fcn.00404db0
mov ecx, dword [ebp - 0x2a0]
mov dword [edi + 0xc8], ecx
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 4], 0xffffffff
call fcn.00404db0
nop dword [eax + eax]
mov dword [ebp - 0x22c], 0x104
lea edx, [ebp - 0x22c]
mov ecx, dword [esi + 4]
push edx
lea edx, [ebp - 0x218]
push edx
mov eax, dword [ecx]
push 0
push esi
mov eax, dword [eax + 8]
call eax
mov ecx, dword [edi + 0xc8]
mov edx, eax
mov dword [ebp - 0x21c], edx
test ecx, ecx
je 0x43a24c
mov ecx, dword [ecx]
test ecx, ecx
je 0x43a24c
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edx, dword [ebp - 0x21c]
jmp 0x43a24e
xor eax, eax
mov ecx, dword [edi + 0xc8]
test ecx, ecx
je 0x43a25c
mov ecx, dword [ecx]
jmp 0x43a25e
xor ecx, ecx
push eax
push ecx
push edx
call fcn.004c95b0
add esp, 0xc
test eax, eax
je 0x43a2b6
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x43a282
mov eax, dword [esi + 0x20]
shr eax, 4
test al, 1
je 0x43a282
mov esi, ecx
jmp 0x43a2a5
mov eax, dword [esi + 0x10]
test eax, eax
je 0x43a28d
mov esi, eax
jmp 0x43a2a5
mov eax, dword [esi + 8]
test eax, eax
je 0x43a2a2
mov esi, dword [eax + 0x10]
test esi, esi
jne 0x43a2a5
mov eax, dword [eax + 8]
test eax, eax
jne 0x43a294
mov esi, dword [edi + 0x54]
cmp esi, dword [ebp - 0x29c]
jne 0x43a200
jmp case.default.0x43a462
push esi
mov ecx, edi
call fcn.00438110
push esi
mov ecx, edi
call fcn.00434d40
push eax
mov ecx, edi
call fcn.00434b80
jmp case.default.0x43a462
cmp eax, 0x2000
ja 0x43a454
je 0x43a427
sub eax, 0x203
je 0x43a34b
sub eax, 1
je 0x43a34b
sub eax, 6
jne 0x43a3cf
mov eax, edx
shr eax, 0x10
movsx esi, ax
add esi, dword [edi + 0x8c]
mov eax, esi
mov dword [edi + 0x8c], esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x28
jl case.default.0x43a462
mov eax, 0x66666667
imul esi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
neg ecx
shl eax, 3
sub esi, eax
push ecx
mov ecx, edi
mov dword [edi + 0x8c], esi
call fcn.00438800
jmp case.default.0x43a462
mov eax, dword [ebp - 0x298]
lea edx, [ebp - 0x2a0]
push edx
lea edx, [ebp - 0x2b0]
shr eax, 0x10
push edx
lea edx, [ebp - 0x22c]
cwde
push edx
movsx ecx, cx
push eax
push ecx
mov ecx, edi
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2a0], 0
call fcn.004359d0
test al, 0xe0
je 0x43a3cf
mov esi, dword [ebp - 0x2a0]
mov ecx, edi
push esi
call fcn.00438110
push 0
xor eax, eax
mov ecx, edi
cmp dword [ebp + 0xc], 0x203
push 0
push esi
push dword [ebp - 0x2b0]
sete al
lea eax, [eax*2 - 5]
push eax
push dword [edi + 8]
call fcn.00433a20
cmp dword [ebp + 0xc], 0x31a
jne case.default.0x43a462
mov eax, dword [edi + 4]
test eax, eax
je 0x43a3ea
push eax
call dword [0x53a8b8]
mov dword [edi + 4], 0
mov eax, dword [0x53a8ac]
test eax, eax
je case.default.0x43a462
call eax
test eax, eax
je case.default.0x43a462
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x53a8b0]
mov eax, dword [eax]
call eax
push eax
push dword [ebp - 0x2a4]
call esi
mov dword [edi + 4], eax
jmp case.default.0x43a462
mov eax, dword [edx + 0x20]
test ecx, ecx
je 0x43a447
or eax, 0x40
cmp dword [edx + 0x1c], 0
mov dword [edx + 0x20], eax
jne case.default.0x439d6a
and eax, 0xffffffef
mov dword [edx + 0x20], eax
xor eax, eax
jmp 0x438c70
and eax, 0xffffffbf
mov dword [edx + 0x20], eax
xor eax, eax
jmp 0x438c70
add eax, 0xffffdfff
cmp eax, 4
ja case.default.0x43a462
jmp dword [eax*4 + 0x43a6c8]
test ecx, ecx
mov ecx, edi
setne al
movzx eax, al
push eax
push edx
call fcn.00434c50
movzx eax, al
jmp 0x438c70
mov eax, dword [edx + 0x1c]
jmp 0x438c70
push edx
mov ecx, edi
call fcn.00437a90
xor eax, eax
jmp 0x438c70
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 4]
mov dword [ebp - 0x21c], eax
mov eax, dword [ecx]
push 8
mov dword [ebp - 0x2ac], eax
call fcn.004c3653
lahf
xchg ecx, eax
or byte [eax], al
add esp, 4
mov dword [ebp - 0x22c], eax
test eax, eax
je 0x43a4cc
mov dword [eax], vtable.CListViewData.0
mov dword [eax + 4], esi
jmp 0x43a4ce
xor eax, eax
push dword [ebp - 0x21c]
mov ecx, edi
push 0x436760
push eax
push dword [ebp - 0x2ac]
call fcn.004363e0
jmp 0x438c70
push edx
mov ecx, edi
call fcn.00434d40
jmp 0x438c70
push 0x8007000e
call fcn.004c3020
push 0x8007000e
call fcn.004c3020
push 0x8007000e
call fcn.004c3020
nop
jl 0x43a4b0
inc ebx
add al, al
nop
inc ebx
add byte [eax], ch
nop
inc ebx
add byte [edi + 0x4000438e], ch
nop
inc ebx
add bl, dh
xchg ecx, eax
inc ebx
add ch, ch
mov es, word [ebx]
dec byte [esi - 0x6eceffbd]
inc ebx
add byte [eax - 0x58ffbc6a], cl
nop
inc ebx
add byte [eax - 0x74], dl
inc ebx
add byte [eax], al
or ecx, dword [ebx]
add dword [ebx], ecx
add al, byte [edx]
or ecx, dword [ebx]
add ecx, dword [ebx]
or ecx, dword [ebx]
add al, 11
or ecx, dword [ebx]
or eax, dword [185273099]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or eax, dword [esi]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or eax, dword [edi]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [eax]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ecx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ah, byte [esi - 112]
or byte [ecx - 1703804861], bl
inc ebx
add byte [esi - 0x1cffbc68], dh
xchg edi, eax
inc ebx
add byte [eax - 0x74], dl
inc ebx
add byte [eax], al
add byte [esp + eax], al
add dword [edx], eax
add dword [edx], eax
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add edx, dword [eax + case.0x439b89.258]
int3