Function at 0x4418b0
Capabilities:
Check for foreground window switch
Check for time delay via gettickcount
Check for unmoving mouse cursor
Log keystrokes
Log keystrokes via polling

Disassembly:
sub esp, 0x24c
push ebx
push ebp
push esi
push edi
push 1
call dword [sym.imp.GDI32.dll_GdiSetBatchLimit]
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
call edi
push eax
call dword [sym.imp.USER32.dll_GetThreadDesktop]
mov ebx, dword [esp + 0x260]
mov esi, eax
mov dword [esp + 0x40], esi
lea ebp, [ebx + 0x39c]
mov dword [ebx + 0xebc], 0
call fcn.004459b0
test eax, eax
jne 0x441925
push eax
call fcn.004458a0
add esp, 4
test eax, eax
jne 0x441925
push esi
call fcn.00445840
add esp, 4
test eax, eax
jne 0x441925
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c5f8
call fcn.00446e00
add esp, 8
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0xd
call esi
push 0xe
mov dword [0x4865a8], eax
call esi
mov dword [0x4865ac], eax
call edi
push 0x7f00
push 0
mov dword [0x486498], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [0x486510], eax
mov eax, dword [ebx + 4]
mov dword [0x4865b8], eax
mov eax, dword [0x4864f8]
mov ecx, dword [ebx + 0x30]
test eax, eax
mov dword [0x4865bc], ecx
je 0x44197c
mov dword [0x47c264], 0xcc0020
jmp 0x441996
mov ecx, ebx
call fcn.0041e460
neg eax
sbb eax, eax
and eax, 0x40000000
add eax, 0xcc0020
mov dword [0x47c264], eax
mov ecx, ebx
mov dword [0x4865c0], 0
call fcn.004255e0
test eax, eax
je 0x441b2c
mov eax, dword [esp + 0x260]
mov ebx, dword [sym.imp.USER32.dll_CopyRect]
mov edx, dword [eax + 0x7d4]
lea edi, [eax + 0x7e0]
add edx, 0x7f
shl edx, 4
add edx, eax
push edx
push edi
call ebx
push edi
push 0x486448
call ebx
mov eax, dword [esp + 0x260]
xor esi, esi
mov ecx, dword [eax + 0x7d4]
shl ecx, 7
lea edx, [ecx + eax + 0x8b0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x441a17
mov eax, dword [esp + 0x260]
mov ecx, dword [eax + 0x7d4]
shl ecx, 7
lea esi, [ecx + eax + 0x8b0]
push 0
push 0
push esi
push 0x479bf0
call dword [sym.imp.GDI32.dll_CreateDCA]
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [0x4864fc], eax
test eax, eax
je 0x441a86
mov ecx, dword [esp + 0x260]
mov dword [0x4865c0], 1
call fcn.004259f0
test eax, eax
jne 0x441a79
mov edx, dword [0x4864fc]
push 8
push edx
mov dword [0x486448], eax
mov dword [0x48644c], eax
call esi
mov dword [0x486450], eax
mov eax, dword [0x4864fc]
push 0xa
push eax
call esi
mov dword [0x486454], eax
mov eax, dword [0x4864fc]
test eax, eax
jne 0x441bc6
push 0
call dword [sym.imp.USER32.dll_GetWindowDC]
test eax, eax
mov dword [0x4864fc], eax
jne 0x441ab2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c5e0
call fcn.00446e00
add esp, 8
xor ebx, ebx
jmp 0x443297
mov ecx, dword [esp + 0x260]
push 1
push 0
call fcn.00425950
mov ecx, dword [esp + 0x260]
mov dword [edi], 0
push 8
mov dword [ecx + 0x7e4], 0
mov edx, dword [0x4864fc]
push edx
call esi
mov ecx, dword [esp + 0x260]
push 0xa
mov dword [ecx + 0x7e8], eax
mov edx, dword [0x4864fc]
push edx
call esi
mov ecx, dword [esp + 0x260]
push edi
mov dword [ecx + 0x7ec], eax
mov eax, dword [ecx + 0x7d4]
add eax, 0x7f
shl eax, 4
add eax, ecx
push eax
call ebx
push edi
push 0x486448
call ebx
mov ebx, dword [esp + 0x260]
jmp 0x441ba2
push 0
call dword [sym.imp.USER32.dll_GetWindowDC]
test eax, eax
mov dword [0x4864fc], eax
jne 0x441b58
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c5b4
call fcn.00446e00
add esp, 8
xor ebx, ebx
jmp 0x443297
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
lea edi, [ebx + 0x7e0]
mov dword [ebx + 0x7e4], 0
push 8
mov dword [edi], 0
mov ecx, dword [0x4864fc]
push ecx
call esi
mov dword [ebx + 0x7e8], eax
mov edx, dword [0x4864fc]
push 0xa
push edx
call esi
push edi
push 0x486448
mov dword [ebx + 0x7ec], eax
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [0x4864fc]
test eax, eax
jne 0x441bcd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c594
call fcn.00446e00
add esp, 8
xor ebx, ebx
jmp 0x443297
mov ebx, dword [esp + 0x260]
mov ecx, ebx
call fcn.0041e410
mov dword [0x47c240], eax
mov eax, dword [0x4864fc]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
xor edi, edi
mov dword [0x486558], eax
cmp eax, edi
jne 0x441c0b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c568
call fcn.00446e00
add esp, 8
xor ebx, ebx
jmp 0x443297
push 1
call fcn.00437d80
add esp, 4
test eax, eax
jne 0x441c34
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c544
call fcn.00446e00
add esp, 8
xor ebx, ebx
jmp 0x443297
mov dword [ebp], 0x28
mov word [ebp + 0xc], 1
mov cx, word [0x47c240]
mov word [ebp + 0xe], cx
mov edx, dword [0x486450]
mov eax, dword [0x486448]
xor ecx, ecx
mov cx, word [ebp + 0xe]
sub edx, eax
imul ecx, edx
add ecx, 0x1f
mov dword [ebp + 4], edx
mov eax, dword [0x486454]
mov ebx, dword [0x48644c]
sar ecx, 3
sub eax, ebx
and ecx, 0xfffffffc
imul ecx, eax
mov edx, ecx
mov dword [ebp + 8], eax
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x10], edi
mov dword [ebp + 0x20], edi
mov dword [ebp + 0x24], edi
mov dword [0x48651c], edx
mov eax, dword [ebp + 8]
mov dword [0x486514], eax
mov eax, dword [0x47c240]
mov ecx, dword [ebp + 4]
cmp eax, 8
mov dword [0x486518], ecx
jg 0x441df9
mov ecx, dword [esp + 0x260]
call fcn.0041e3f0
mov edx, dword [0x4864fc]
push 0xc
push edx
mov ebx, eax
call esi
mov edi, dword [0x47c240]
test ebx, ebx
jne 0x441e60
cmp eax, edi
jg 0x441e60
mov eax, dword [0x4864fc]
push 0x408
mov dword [esp + 0x14], eax
call fcn.004520a2
mov esi, eax
add esp, 4
test esi, esi
je 0x441d56
mov ebx, dword [esp + 0x10]
lea edi, [esi + 4]
push edi
push 0x100
push 0
push ebx
mov word [esi], 0x300
mov word [esi + 2], 0x100
call dword [sym.imp.GDI32.dll_GetSystemPaletteEntries]
test eax, eax
jne 0x441d75
mov ecx, ebx
push ecx
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
mov ebx, eax
test ebx, ebx
je 0x441d56
push edi
push 0x100
push 0
push ebx
call dword [sym.imp.GDI32.dll_GetPaletteEntries]
test eax, eax
jne 0x441d71
push esi
call fcn.00451fb9
add esp, 4
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c51c
call fcn.00446e00
add esp, 8
xor ebx, ebx
jmp 0x443297
mov ebx, dword [esp + 0x10]
test eax, eax
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], eax
jbe 0x441da5
lea ecx, [ebp + 0x29]
lea edx, [esi + 5]
mov edi, eax
mov al, byte [edx - 1]
add edx, 4
mov byte [ecx + 1], al
mov al, byte [edx - 4]
mov byte [ecx], al
mov al, byte [edx - 3]
mov byte [ecx - 1], al
mov byte [ecx + 2], 0
add ecx, 4
dec edi
jne 0x441d87
push esi
call dword [sym.imp.GDI32.dll_CreatePalette]
mov edi, eax
test edi, edi
jne 0x441dbd
push esi
call fcn.00451fb9
add esp, 4
jmp 0x441d56
push 0
push edi
push ebx
call dword [sym.imp.GDI32.dll_SelectPalette]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x441dde
push esi
call fcn.00451fb9
add esp, 4
push edi
jmp 0x441d50
push ebx
call dword [sym.imp.GDI32.dll_RealizePalette]
push esi
call fcn.00451fb9
mov ecx, dword [esp + 0x18]
add esp, 4
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esi, dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
push ebx
call esi
mov edx, dword [0x4864fc]
push ebx
push ebx
push 0x486500
push ebx
push ebp
push edx
call dword [sym.imp.GDI32.dll_CreateDIBSection]
cmp eax, ebx
mov dword [0x48653c], eax
je 0x443283
cmp dword [0x486500], ebx
je 0x443283
mov eax, dword [ebp + 0x14]
add eax, 0x20
push eax
call fcn.004520a2
add esp, 4
cmp eax, ebx
mov dword [0x486504], eax
jne 0x44202d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c4f8
jmp 0x44328f
mov edx, dword [0x4864fc]
push 0x428
mov dword [esp + 0x18], edx
call fcn.004520a2
mov esi, eax
add esp, 4
test esi, esi
je 0x442005
mov eax, edi
mov word [esi], 0x300
dec eax
je 0x441f65
sub eax, 3
je 0x441f04
sub eax, 4
je 0x441ea0
xor eax, eax
jmp 0x442005
mov eax, 0x100
xor edi, edi
mov dword [ebp + 0x20], eax
mov word [esi + 2], ax
lea eax, [ebp + 0x29]
xor ecx, ecx
test ebx, ebx
je 0x441ed0
mov dl, byte [ecx + 0x47bf40]
mov byte [eax + 1], dl
mov dl, byte [ecx + 0x47bf41]
mov byte [eax], dl
mov dl, byte [ecx + 0x47bf42]
jmp 0x441ee7
mov dl, byte [ecx + 0x47bbe0]
mov byte [eax + 1], dl
mov dl, byte [ecx + 0x47bbe1]
mov byte [eax], dl
mov dl, byte [ecx + 0x47bbe2]
mov byte [eax - 1], dl
xor edx, edx
mov byte [eax + 2], 0
mov dx, word [esi + 2]
inc edi
add ecx, 3
add eax, 4
cmp edi, edx
jl 0x441eb3
jmp 0x441fa6
mov eax, 0x10
xor edi, edi
mov dword [ebp + 0x20], eax
mov word [esi + 2], ax
lea eax, [ebp + 0x29]
xor ecx, ecx
test ebx, ebx
je 0x441f34
mov dl, byte [ecx + 0x47bf10]
mov byte [eax + 1], dl
mov dl, byte [ecx + 0x47bf11]
mov byte [eax], dl
mov dl, byte [ecx + 0x47bf12]
jmp 0x441f4b
mov dl, byte [ecx + 0x47bee0]
mov byte [eax + 1], dl
mov dl, byte [ecx + 0x47bee1]
mov byte [eax], dl
mov dl, byte [ecx + 0x47bee2]
mov byte [eax - 1], dl
xor edx, edx
mov byte [eax + 2], 0
mov dx, word [esi + 2]
inc edi
add ecx, 3
add eax, 4
cmp edi, edx
jl 0x441f17
jmp 0x441fa6
mov eax, 2
xor edi, edi
mov word [esi + 2], ax
mov dword [ebp + 0x20], eax
cmp word [esi + 2], di
jbe 0x441fa6
mov ecx, 0x47bbd9
lea eax, [ebp + 0x29]
mov dl, byte [ecx - 1]
inc edi
mov byte [eax + 1], dl
mov dl, byte [ecx]
mov byte [eax], dl
mov dl, byte [ecx + 1]
mov byte [eax - 1], dl
xor edx, edx
mov byte [eax + 2], 0
mov dx, word [esi + 2]
add ecx, 3
add eax, 4
cmp edi, edx
jl 0x441f81
push esi
call dword [sym.imp.GDI32.dll_CreatePalette]
mov edi, eax
test edi, edi
jne 0x441fc0
push esi
call fcn.00451fb9
add esp, 4
xor eax, eax
jmp 0x442005
mov eax, dword [esp + 0x14]
push 0
push edi
push eax
call dword [sym.imp.GDI32.dll_SelectPalette]
mov ebx, eax
test ebx, ebx
jne 0x441fe8
push esi
call fcn.00451fb9
add esp, 4
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
xor eax, eax
jmp 0x442005
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.GDI32.dll_RealizePalette]
push esi
call fcn.00451fb9
add esp, 4
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, edi
test eax, eax
mov dword [0x486560], eax
jne 0x441df9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c4d0
call fcn.00446e00
add esp, 8
xor ebx, ebx
jmp 0x443297
push ebx
call esi
mov ecx, dword [0x48653c]
mov edx, dword [0x486558]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp eax, ebx
mov dword [0x48655c], eax
jne 0x44205e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c4ac
jmp 0x44328f
mov edi, dword [esp + 0x260]
mov ecx, edi
call fcn.0041e3d0
mov ecx, eax
cmp ecx, 1
jge 0x442078
mov ecx, 0x14
mov esi, dword [0x486514]
mov eax, esi
cdq
idiv ecx
test edx, edx
jle 0x442091
mov eax, esi
dec ecx
cdq
idiv ecx
test edx, edx
jg 0x442087
push ecx
mov ecx, edi
call fcn.0041e500
mov ecx, edi
call fcn.0041e3e0
mov ecx, eax
mov eax, dword [0x486564]
cmp eax, ecx
mov dword [0x486520], ecx
jl 0x4420b7
mov dword [0x486564], ebx
mov esi, dword [0x486514]
cmp ecx, ebx
jle 0x4420cb
mov eax, esi
cdq
idiv ecx
mov dword [0x48652c], eax
xor eax, eax
mov ax, word [ebp + 0xe]
imul eax, dword [ebp + 4]
add eax, 0x1f
sar eax, 3
and al, 0xfc
imul eax, esi
cdq
idiv ecx
mov edx, dword [0x47c264]
xor ecx, ecx
push edx
mov edx, dword [0x4864fc]
mov dword [0x486530], eax
xor eax, eax
mov ax, word [ebp + 0xe]
imul eax, dword [ebp + 4]
add eax, 0x1f
sar eax, 3
and al, 0xfc
mov dword [0x486524], eax
mov cx, word [ebp + 0xe]
mov eax, dword [0x48644c]
mov dword [0x486528], ecx
mov ecx, dword [0x486448]
push eax
mov eax, dword [0x486454]
push ecx
mov ecx, dword [0x486450]
push edx
mov edx, dword [0x486558]
push eax
push ecx
push ebx
push ebx
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [0x48651c]
mov esi, dword [0x486500]
mov edi, dword [0x486504]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x264]
mov ecx, esi
call fcn.004203d0
push 0x47c250
call dword [sym.imp.USER32.dll_GetCursorPos]
push 1
mov ecx, esi
call fcn.004203f0
mov ecx, esi
call fcn.00421ce0
mov dword [0x47c248], eax
mov eax, dword [0x485b08]
cmp eax, ebx
mov dword [0x486540], ebx
je 0x443297
cmp dword [0x485b0c], ebx
jne 0x443297
mov ecx, dword [esp + 0x260]
call fcn.004204d0
test eax, eax
jbe 0x443297
mov ecx, dword [esp + 0x260]
call fcn.0041f2b0
test eax, eax
jne 0x443297
mov ecx, dword [0x486540]
mov eax, dword [0x4792ac]
cmp ecx, eax
je 0x442237
call fcn.004457a0
test eax, eax
jne 0x44222d
call fcn.004459b0
test eax, eax
jne 0x442237
push ebx
call fcn.004458a0
add esp, 4
test eax, eax
jne 0x442237
mov edx, dword [esp + 0x40]
push edx
call fcn.00445840
add esp, 4
test eax, eax
jne 0x442237
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c488
call fcn.00446e00
add esp, 8
jmp 0x442237
mov eax, dword [0x4792ac]
mov dword [0x486540], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x260]
mov dword [0x486580], eax
call fcn.0041e4e0
cmp eax, 0xffffffff
je 0x442276
mov ecx, dword [0x48657c]
cmp ecx, ebx
jbe 0x442276
sub ecx, dword [0x486580]
add ecx, eax
cmp eax, ecx
jl 0x44226b
mov eax, ecx
cmp eax, ebx
jge 0x442284
mov eax, 4
jmp 0x442284
cmp eax, ebx
jge 0x442284
cmp eax, 0xffffffff
je 0x442284
mov eax, 1
mov ecx, dword [0x47c260]
push eax
push ebx
push 0x4865b8
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, ebx
mov dword [0x4865b4], eax
je 0x443297
cmp eax, 0x80
je 0x443297
cmp eax, 1
je 0x443297
cmp eax, 0x81
je 0x443297
cmp eax, 0xffffffff
je 0x443297
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x48657c], eax
mov eax, dword [0x485b08]
cmp eax, ebx
je 0x443297
cmp dword [0x485b0c], ebx
jne 0x443297
mov edi, dword [esp + 0x260]
mov ecx, edi
call fcn.0041ea20
test eax, eax
je 0x442549
cmp dword [0x4865b0], ebx
je 0x442322
push 0x486458
mov dword [0x4865b0], ebx
call fcn.0044c0a0
add esp, 4
mov ecx, edi
call fcn.0041e3e0
mov ecx, eax
mov eax, dword [0x486564]
cmp eax, ecx
mov dword [0x486520], ecx
jl 0x442340
mov dword [0x486564], ebx
cmp ecx, ebx
jle 0x442351
mov eax, dword [0x486514]
cdq
idiv ecx
mov dword [0x48652c], eax
mov eax, dword [0x486530]
mov ecx, eax
cmp eax, ebx
mov dword [0x486550], ecx
je 0x443228
jl 0x443228
mov edx, dword [0x486554]
cmp eax, edx
mov eax, dword [0x486508]
jle 0x44239b
cmp eax, ebx
je 0x442395
push eax
call fcn.00451fb9
mov ecx, dword [0x486550]
add esp, 4
xor eax, eax
mov dword [0x486508], eax
mov dword [0x486554], ecx
cmp dword [0x47c248], ebx
je 0x4423cd
cmp eax, ebx
jne 0x4423bd
mov edx, dword [0x47c244]
add edx, ecx
push edx
call fcn.004520a2
add esp, 4
mov dword [0x486508], eax
cmp dword [0x47c248], ebx
je 0x4423cd
cmp eax, ebx
je 0x4431f9
push ebx
mov ecx, edi
call fcn.004212c0
mov eax, dword [0x486520]
xor esi, esi
cmp eax, ebx
jle 0x442527
cmp dword [0x485b08], ebx
je 0x443297
cmp dword [0x485b0c], ebx
jne 0x443297
mov eax, dword [0x486530]
mov edx, dword [0x486500]
imul eax, esi
add eax, edx
mov edx, dword [0x47c248]
cmp edx, ebx
mov dword [0x486548], eax
je 0x4424ee
mov ecx, dword [0x486550]
mov edi, dword [0x47c244]
add edi, ecx
mov dword [esp + 0x10], edi
mov edi, dword [0x4865b0]
cmp edi, ebx
jne 0x442489
push edx
push ecx
mov ecx, dword [0x486508]
push eax
lea eax, [esp + 0x1c]
push eax
push ecx
push 0x486458
call fcn.0044bfc0
add esp, 0x18
cmp eax, ebx
je 0x44246e
push eax
push 0x47c468
call fcn.00446e00
add esp, 8
jmp 0x442519
mov edx, dword [0x47c248]
mov ecx, dword [0x486550]
mov eax, dword [0x486548]
mov dword [0x4865b0], 1
push edx
push ecx
push eax
mov eax, dword [0x486508]
lea edx, [esp + 0x1c]
push edx
push eax
push 0x486458
call fcn.0044c020
add esp, 0x18
cmp eax, ebx
je 0x4424b8
push eax
push 0x479c10
call fcn.00446e00
add esp, 8
jmp 0x442519
mov edi, dword [esp + 0x260]
mov ecx, edi
call fcn.0041f080
test eax, eax
jne 0x44320a
mov ecx, dword [esp + 0x10]
mov eax, dword [0x486550]
cmp ecx, eax
jae 0x442509
mov edx, dword [0x486508]
push ecx
push eax
push edx
push esi
mov ecx, edi
call fcn.004213f0
jmp 0x442519
mov edi, dword [esp + 0x260]
mov ecx, edi
call fcn.0041f080
test eax, eax
jne 0x443219
mov eax, dword [0x486550]
mov ecx, dword [0x486548]
push eax
push ecx
push esi
mov ecx, edi
call fcn.00421490
mov eax, dword [0x486520]
inc esi
cmp esi, eax
jl 0x4423e4
mov ecx, 0xffffff9c
dec eax
mov dword [0x48650c], ebx
mov dword [0x47c258], ecx
mov dword [0x47c25c], ecx
mov dword [0x486564], eax
jmp 0x4431e8
mov eax, dword [0x486530]
mov ecx, eax
cmp eax, ebx
mov dword [0x486550], ecx
je 0x443275
jl 0x443275
mov edx, dword [0x486554]
cmp eax, edx
mov eax, dword [0x486508]
jle 0x442593
cmp eax, ebx
je 0x44258d
push eax
call fcn.00451fb9
mov ecx, dword [0x486550]
add esp, 4
xor eax, eax
mov dword [0x486508], eax
mov dword [0x486554], ecx
cmp dword [0x47c248], ebx
je 0x4425c5
cmp eax, ebx
jne 0x4425b5
mov edx, dword [0x47c244]
add edx, ecx
push edx
call fcn.004520a2
add esp, 4
mov dword [0x486508], eax
cmp dword [0x47c248], ebx
je 0x4425c5
cmp eax, ebx
je 0x443236
push 0x486598
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
jne 0x4425ec
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x4425ec
call fcn.004457a0
test eax, eax
jne 0x443244
mov ecx, edi
call fcn.0041e920
test eax, eax
mov ecx, edi
je 0x44264a
call fcn.0041e980
mov esi, dword [0x48652c]
cmp eax, esi
jg 0x44261b
mov ecx, dword [0x486520]
lea eax, [ecx - 1]
mov dword [0x486564], eax
jmp 0x44276b
cdq
idiv esi
mov ecx, dword [0x486520]
mov edx, ecx
sub edx, eax
jns 0x442638
lea edx, [ecx - 1]
mov dword [0x486564], edx
jmp 0x44276b
cmp edx, ecx
jl 0x44263f
lea edx, [ecx - 1]
mov dword [0x486564], edx
jmp 0x44276b
call fcn.0041e9d0
test eax, eax
je 0x442758
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
cmp esi, ebx
je 0x442758
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x442758
push ebx
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov edi, eax
mov eax, dword [0x486498]
cmp edi, eax
je 0x442758
push 1
push edi
push eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
test eax, eax
je 0x442758
push 0x486490
xor ebp, ebp
call dword [sym.imp.USER32.dll_GetCaretPos]
test eax, eax
je 0x4426d1
cmp dword [0x486490], ebx
je 0x4426d1
cmp dword [0x486494], ebx
je 0x4426d1
push 0x486490
push esi
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ebp, 1
mov eax, dword [0x486498]
push ebx
push edi
push eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
cmp ebp, ebx
je 0x442758
mov ecx, dword [0x486490]
mov eax, dword [0x47c250]
cmp eax, ecx
mov eax, dword [0x486494]
jne 0x4426ff
cmp dword [0x47c254], eax
je 0x442758
mov esi, dword [0x48652c]
mov dword [0x47c250], ecx
cmp eax, esi
mov dword [0x47c254], eax
jg 0x44271c
mov ecx, dword [0x486520]
jmp 0x442743
cdq
idiv esi
mov ecx, dword [0x486520]
mov edx, ecx
sub edx, eax
jns 0x44273f
lea eax, [ecx - 1]
mov dword [0x4865a0], 1
mov dword [0x486564], eax
jmp 0x442764
cmp edx, ecx
jl 0x442746
lea edx, [ecx - 1]
mov dword [0x486564], edx
mov dword [0x4865a0], 1
jmp 0x442764
mov ecx, dword [0x486520]
mov esi, dword [0x48652c]
mov edi, dword [esp + 0x260]
cmp dword [0x4864f8], ebx
je 0x44277f
mov eax, 0xcc0020
mov dword [0x47c264], eax
jmp 0x4427a5
mov ecx, edi
call fcn.0041e460
neg eax
mov ecx, dword [0x486520]
mov esi, dword [0x48652c]
sbb eax, eax
and eax, 0x40000000
add eax, 0xcc0020
mov dword [0x47c264], eax
mov edx, dword [0x486530]
mov edi, dword [0x486564]
imul edx, edi
mov ebp, dword [0x486500]
sub ecx, edi
add ebp, edx
push eax
mov dword [0x486548], ebp
mov ebp, dword [0x486504]
add edx, ebp
dec ecx
imul ecx, esi
mov dword [0x48654c], edx
mov edx, dword [0x48644c]
lea eax, [ecx + edx]
mov edx, dword [0x486448]
push eax
mov eax, dword [0x4864fc]
push edx
mov edx, dword [0x486518]
push eax
mov eax, dword [0x486558]
push esi
push edx
push ecx
push ebx
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ebp, eax
cmp ebp, ebx
je 0x442859
mov eax, dword [0x48654c]
mov ecx, dword [0x486550]
mov edi, dword [0x486548]
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x442851
mov ecx, dword [0x486550]
mov esi, dword [0x486548]
mov edi, eax
mov eax, ecx
shr ecx, 2
mov dword [0x486544], 1
mov dword [0x48656c], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x442877
mov dword [0x486544], ebx
jmp 0x442871
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x442871
call fcn.004457a0
test eax, eax
jne 0x443256
inc dword [0x48656c]
cmp dword [0x48656c], 0xc8
jle 0x442a49
cmp dword [0x485b08], ebx
je 0x443297
cmp dword [0x485b0c], ebx
jne 0x443297
cmp dword [0x486614], ebx
jne 0x442a0e
cmp dword [0x48661c], ebx
jne 0x442a0e
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
cmp esi, ebx
je 0x4428ce
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x44290a
lea ecx, [esp + 0x4c]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x442a0e
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
push edx
push eax
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov esi, eax
cmp esi, ebx
je 0x442a0e
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x442a0e
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x442a0e
lea ecx, [esp + 0x54]
push 0x104
push ecx
push esi
call dword [sym.imp.USER32.dll_GetClassNameA]
test eax, eax
je 0x442a0e
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
lea edx, [esp + 0x54]
push 0x479c0c
push edx
call esi
test eax, eax
je 0x44295c
lea eax, [esp + 0x54]
push 0x479bf8
push eax
call esi
test eax, eax
jne 0x442a0e
call fcn.004455e0
push ebx
push ebx
test eax, eax
push ebx
je 0x4429b5
mov edi, dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0x12
call edi
mov esi, dword [sym.imp.USER32.dll_keybd_event]
push eax
push 0x12
call esi
push ebx
push ebx
push ebx
push 0xd
call edi
push eax
push 0xd
call esi
push ebx
push 2
push ebx
push 0xd
call edi
push eax
push 0xd
call esi
push ebx
push 2
push ebx
push 0x12
call edi
push eax
push 0x12
call esi
push ebx
mov dword [0x48656c], ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4431e8
mov edi, dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0xa5
call edi
mov esi, dword [sym.imp.USER32.dll_keybd_event]
push eax
push 0xa5
call esi
push ebx
push ebx
push ebx
push 0xd
call edi
push eax
push 0xd
call esi
push ebx
push 2
push ebx
push 0xd
call edi
push eax
push 0xd
call esi
push ebx
push 2
push ebx
push 0xa5
call edi
push eax
push 0xa5
call esi
push ebx
mov dword [0x48656c], ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4431e8
call fcn.004459b0
test eax, eax
jne 0x442a49
push ebx
call fcn.004458a0
add esp, 4
test eax, eax
jne 0x442a49
mov ecx, dword [esp + 0x40]
push ecx
call fcn.00445840
add esp, 4
test eax, eax
jne 0x442a49
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c440
call fcn.00446e00
add esp, 8
cmp dword [0x48656c], 0xfa
jle 0x442a5b
mov dword [0x48656c], ebx
cmp ebp, ebx
je 0x442b72
cmp dword [0x486544], ebx
je 0x442b72
cmp dword [0x485b08], ebx
je 0x443297
cmp dword [0x485b0c], ebx
jne 0x443297
mov eax, dword [0x47c248]
mov dword [0x48656c], ebx
cmp eax, ebx
je 0x442b52
mov edx, dword [0x47c244]
mov ecx, dword [0x486550]
add edx, ecx
mov dword [esp + 0x10], edx
mov edx, dword [0x4865b0]
cmp edx, ebx
jne 0x442afd
mov edx, dword [0x486508]
push eax
mov eax, dword [0x486548]
push ecx
lea ecx, [esp + 0x18]
push eax
push ecx
push edx
push 0x486458
call fcn.0044bfc0
add esp, 0x18
cmp eax, ebx
je 0x442aee
push eax
push 0x47c468
call fcn.00446e00
add esp, 8
jmp 0x4431e8
mov eax, dword [0x47c248]
mov dword [0x4865b0], 1
mov ecx, dword [0x486548]
push eax
mov eax, dword [0x486550]
lea edx, [esp + 0x14]
push eax
mov eax, dword [0x486508]
push ecx
push edx
push eax
push 0x486458
call fcn.0044c020
add esp, 0x18
cmp eax, ebx
jne 0x44326d
mov ecx, dword [esp + 0x10]
mov edx, dword [0x486550]
mov eax, dword [0x486508]
push ecx
mov ecx, dword [0x486564]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x270]
call fcn.00421530
jmp 0x442b72
mov edx, dword [0x486550]
mov eax, dword [0x486548]
mov ecx, dword [0x486564]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x26c]
call fcn.00421740
mov ecx, dword [esp + 0x260]
call fcn.0041e520
test eax, eax
je 0x442ba0
mov edx, dword [0x486598]
mov eax, dword [0x47c258]
cmp edx, eax
jne 0x442bac
mov eax, dword [0x48659c]
mov ecx, dword [0x47c25c]
cmp eax, ecx
jne 0x442bac
cmp dword [0x4865a0], ebx
je 0x4431ce
cmp dword [0x485b08], ebx
je 0x443297
cmp dword [0x485b0c], ebx
jne 0x443297
push 0x486598
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
jne 0x442beb
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x442beb
call fcn.004457a0
test eax, eax
jne 0x443256
mov eax, dword [0x486598]
mov edx, dword [0x4865a8]
mov ecx, dword [0x48659c]
mov dword [esp + 0x1c], eax
add eax, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x4865ac]
add ecx, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], ecx
mov ecx, dword [0x486558]
mov dword [esp + 0x10], ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ah, 0x80
jne 0x443169
push 4
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ah, 0x80
jne 0x443169
push 2
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ah, 0x80
jne 0x443169
mov edx, dword [0x48659c]
mov eax, dword [0x486598]
push edx
push eax
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov edi, eax
test edi, edi
je 0x442d19
push edi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x442d19
push 0
push edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov esi, eax
mov eax, dword [0x486498]
cmp esi, eax
je 0x442d19
lea ecx, [esp + 0x158]
push 0x104
push ecx
push edi
call dword [sym.imp.USER32.dll_GetClassNameA]
test eax, eax
je 0x442ce0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
lea edx, [esp + 0x158]
push 0x479c0c
push edx
call edi
test eax, eax
je 0x442d19
lea eax, [esp + 0x158]
push 0x479bf8
push eax
call edi
test eax, eax
je 0x442d19
mov eax, dword [0x486498]
cmp esi, eax
je 0x442d0f
mov ebx, dword [sym.imp.USER32.dll_AttachThreadInput]
push 1
push esi
push eax
call ebx
test eax, eax
je 0x442d0f
call dword [sym.imp.USER32.dll_GetCursor]
mov ecx, dword [0x486498]
push 0
push esi
push ecx
mov edi, eax
call ebx
jmp 0x442d15
mov edi, dword [0x486510]
test edi, edi
jne 0x442d1f
mov edi, dword [0x486510]
test edi, edi
mov dword [esp + 0x18], edi
je 0x443169
mov eax, dword [0x48650c]
test eax, eax
je 0x442d3e
mov ecx, edi
cmp eax, ecx
je 0x443169
mov ecx, 6
xor eax, eax
mov edi, 0x4864c4
xor edx, edx
rep stosd dword es:[edi], eax
mov dword [esp + 0x2c], edx
mov ecx, 6
mov edi, 0x4864dc
mov dword [esp + 0x30], edx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], edx
lea eax, [esp + 0x2c]
mov dword [esp + 0x38], edx
push eax
push ecx
xor ebx, ebx
mov dword [esp + 0x44], edx
call dword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x443169
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
test ecx, ecx
jne 0x442d9c
test eax, eax
je 0x443169
mov edx, dword [esp + 0x30]
mov dword [0x4864bc], edx
mov edx, dword [esp + 0x34]
test eax, eax
mov dword [0x4864c0], edx
je 0x442dd2
push 0x4864c4
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
je 0x443169
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x442df0
push 0x4864dc
push 0x18
push ecx
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
je 0x443169
mov eax, dword [esp + 0x38]
mov ecx, dword [0x4864c8]
test ecx, ecx
jne 0x442e08
mov ecx, dword [0x4864e0]
test ecx, ecx
je 0x443169
xor ecx, ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x48]
push ecx
push eax
call fcn.00445280
mov esi, eax
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x4c]
push edx
push eax
call fcn.00445280
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov edi, eax
mov eax, dword [0x486538]
lea ebp, [edx + ecx]
add esp, 0x10
cmp eax, ebp
ja 0x442e7d
mov eax, dword [0x486534]
test eax, eax
je 0x442e63
push eax
call fcn.00451fb9
add esp, 4
mov dword [0x486534], 0
mov dword [0x486538], ebp
add ebp, 0x80
push ebp
call fcn.004520a2
add esp, 4
mov dword [0x486534], eax
mov eax, dword [0x486534]
xor ebp, ebp
cmp eax, ebp
jne 0x442e93
mov dword [0x486538], ebp
jmp 0x443015
mov eax, dword [esp + 0x38]
cmp eax, ebp
je 0x442f54
cmp dword [0x4864c8], ebp
jle 0x442f54
cmp dword [0x4864cc], ebp
jle 0x442f54
cmp esi, ebp
je 0x442f54
mov ebp, dword [esi + 8]
push 0
push esi
push 0
push ebp
push 0
push eax
mov eax, dword [esp + 0x28]
push eax
call dword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
je 0x442f4b
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x442efb
xor ecx, ecx
mov cx, word [esi + 0xe]
imul ecx, dword [esi + 4]
add ecx, 0x1f
sar ecx, 3
and ecx, 0xfffffffc
imul ecx, dword [esi + 8]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x14]
neg edx
mov dword [esi + 8], edx
mov ecx, dword [esp + 0x48]
cmp eax, ecx
ja 0x442f4b
mov ecx, dword [0x486534]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
push 0
push esi
push ecx
push ebp
push 0
push edx
push eax
call dword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
je 0x442f4b
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], 1
mov dword [0x4864a8], eax
mov dword [0x4864a4], eax
mov dword [0x4864f4], eax
mov ebx, eax
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor ebp, ebp
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x443015
cmp dword [0x4864e0], ebp
jle 0x443015
cmp dword [0x4864e4], ebp
jle 0x443015
cmp edi, ebp
je 0x443015
mov esi, dword [edi + 8]
mov ecx, dword [esp + 0x10]
push ebp
push edi
push ebp
push esi
push ebp
push eax
push ecx
call dword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
je 0x44300e
mov ebp, dword [edi + 0x14]
test ebp, ebp
jne 0x442fc0
mov eax, dword [edi + 8]
cdq
xor eax, edx
sub eax, edx
xor edx, edx
mov dx, word [edi + 0xe]
imul edx, dword [edi + 4]
add edx, 0x1f
sar edx, 3
and edx, 0xfffffffc
imul eax, edx
mov dword [edi + 0x14], eax
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x14]
neg eax
mov dword [edi + 8], eax
mov eax, dword [esp + 0x44]
cmp ecx, eax
ja 0x44300c
mov edx, dword [0x486534]
mov ecx, dword [esp + 0x3c]
push 0
push edi
lea eax, [ebx + edx]
mov edx, dword [esp + 0x18]
push eax
push esi
push 0
push ecx
push edx
call dword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
je 0x44300c
lea eax, [ebx + ebp]
mov dword [esp + 0x14], 1
mov dword [0x4864a8], eax
mov dword [0x4864a4], eax
xor ebp, ebp
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x38]
cmp eax, ebp
je 0x443028
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x44303b
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x44304f
mov ecx, dword [esp + 0x18]
mov dword [0x48650c], ecx
jmp 0x44305b
mov dword [0x4864a8], ebp
mov dword [0x4864a4], ebp
cmp eax, ebp
je 0x443169
mov edi, dword [esp + 0x260]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 0x7e0]
mov ecx, dword [esp + 0x20]
sub esi, eax
sub edx, eax
mov eax, dword [edi + 0x7e4]
mov dword [esp + 0x24], edx
sub ebx, eax
lea edx, [esp + 0x1c]
sub ecx, eax
mov dword [esp + 0x28], ebx
mov ebx, dword [sym.imp.USER32.dll_CopyRect]
push edx
push 0x4864ac
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], ecx
call ebx
mov ecx, dword [0x47c248]
mov esi, dword [0x486534]
cmp ecx, ebp
je 0x44314e
mov eax, dword [0x486550]
mov edx, dword [0x47c244]
add edx, eax
mov dword [esp + 0x14], edx
mov edx, dword [0x4865b0]
cmp edx, ebp
jne 0x443118
mov edx, dword [0x486508]
push ecx
push eax
mov eax, dword [0x486548]
lea ecx, [esp + 0x1c]
push eax
push ecx
push edx
push 0x486458
call fcn.0044bfc0
add esp, 0x18
test eax, eax
jne 0x443110
mov dword [0x4865b0], 1
jmp 0x443118
cmp dword [0x4865b0], ebp
je 0x44314e
mov eax, dword [0x47c248]
mov ecx, dword [0x4864a8]
mov edx, dword [0x486534]
push eax
mov eax, dword [0x486508]
push ecx
push edx
push 0x4864a4
push eax
push 0x486458
call fcn.0044c020
add esp, 0x18
test eax, eax
jne 0x44314e
mov esi, dword [0x486508]
push esi
push 0x4864a0
mov ecx, edi
call fcn.004217c0
lea ecx, [esp + 0x1c]
push ecx
push 0x486588
call ebx
jmp 0x4431b0
mov ecx, dword [esp + 0x260]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + 0x7e0]
mov esi, dword [esp + 0x20]
sub ebx, eax
sub edi, eax
mov eax, dword [ecx + 0x7e4]
mov dword [esp + 0x1c], ebx
sub edx, eax
sub esi, eax
mov dword [esp + 0x28], edx
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], esi
call fcn.00421850
xor ebp, ebp
mov eax, dword [0x486598]
mov ecx, dword [0x48659c]
mov dword [0x47c258], eax
mov dword [0x47c25c], ecx
mov dword [0x4865a0], ebp
xor ebx, ebx
mov eax, dword [0x486564]
dec eax
mov dword [0x486564], eax
jns 0x4431e8
mov edx, dword [0x486520]
dec edx
mov dword [0x486564], edx
cmp dword [0x485b08], ebx
jne 0x4421a4
jmp 0x443297
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c3ec
jmp 0x44328f
push 0x47c3a8
call fcn.00446ea0
add esp, 4
jmp 0x443297
push 0x47c364
call fcn.00446ea0
add esp, 4
jmp 0x443297
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c328
jmp 0x44328f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c2d0
jmp 0x44328f
push 1
mov ecx, edi
call fcn.0041ed00
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x443297
mov ecx, dword [esp + 0x260]
push 1
call fcn.0041ed00
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x443297
push eax
push 0x479c10
jmp 0x44328f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c290
jmp 0x44328f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x47c268
call fcn.00446e00
add esp, 8
cmp dword [0x4865b0], ebx
je 0x4432b2
push 0x486458
call fcn.0044c0a0
add esp, 4
mov dword [0x4865b0], ebx
mov edi, dword [esp + 0x260]
push ebx
mov ecx, edi
call fcn.004203f0
mov eax, dword [0x48655c]
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
cmp eax, ebx
je 0x4432e8
mov ecx, dword [0x486558]
cmp ecx, ebx
je 0x4432fa
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [0x48655c], ebx
mov eax, dword [0x486558]
cmp eax, ebx
je 0x4432fa
push eax
call esi
mov dword [0x486558], ebx
mov eax, dword [0x48653c]
cmp eax, ebx
je 0x443310
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [0x48653c], ebx
mov eax, dword [0x486560]
cmp eax, ebx
je 0x443326
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [0x486560], ebx
mov eax, dword [0x486508]
cmp eax, ebx
je 0x44333e
push eax
call fcn.00451fb9
add esp, 4
mov dword [0x486508], ebx
mov eax, dword [0x4865c0]
cmp eax, ebx
mov eax, dword [0x4864fc]
je 0x443355
cmp eax, ebx
je 0x443367
push eax
call esi
jmp 0x443361
cmp eax, ebx
je 0x443367
push eax
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov dword [0x4864fc], ebx
mov eax, dword [0x486504]
cmp eax, ebx
je 0x44337f
push eax
call fcn.00451fb9
add esp, 4
mov dword [0x486504], ebx
mov eax, dword [esp + 0x40]
push eax
call fcn.00445840
add esp, 4
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, edi
call fcn.00426140
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x24c
ret