Function at 0x4209e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x47196e
mov eax, dword fs:[0]
push eax
sub esp, 0x128
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48a3c0]
xor eax, esp
push eax
lea eax, [esp + 0x13c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x14c]
mov eax, dword [0x490ba8]
xor ebx, ebx
cmp eax, ebx
je 0x420a2d
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0x28], eax
jmp 0x420a31
mov dword [esp + 0x28], ebx
mov eax, dword [ebp + 0xa10]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0xb
push eax
call esi
mov ecx, dword [ebp + 0xa10]
push ebx
push ebx
push 0x184
push ecx
mov dword [ebp + 0xad4], ebx
call esi
lea edx, [esp + 0x128]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x130]
mov eax, dword [esp + 0x128]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x44], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x134]
push ecx
lea edx, [esp + 0x40]
push edx
mov dword [esp + 0x50], eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push ebx
sub eax, 0xd53e8000
push 0x989680
sbb ecx, 0x19db1de
push ecx
push eax
call fcn.004691e0
xor ecx, ecx
sub eax, 0x278d00
cdq
sbb ecx, ebx
push ebx
add eax, 0xb6109100
push 0x989680
adc edx, 2
push edx
push eax
mov dword [esp + 0x2c], ecx
call fcn.004691a0
mov dword [esp + 0x18], eax
mov eax, edx
lea ecx, [esp + 0x128]
mov dword [esp + 0x1c], edx
push ecx
lea edx, [esp + 0x1c]
push edx
sar eax, 0x1f
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov eax, dword [0x48e57c]
mov edx, dword [eax + 0xc]
mov ecx, 0x48e57c
call edx
add eax, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 0x144], ebx
movzx eax, word [esp + 0x12e]
movzx ecx, word [esp + 0x12a]
movzx edx, word [esp + 0x128]
push eax
push ecx
push edx
push 0x47abe8
lea edi, [esp + 0x44]
call fcn.004543e0
mov ecx, dword [ebp + 0xc0]
mov eax, dword [ebp + 0xbc]
add esp, 0x10
mov dword [esp + 0x38], ecx
add ecx, eax
mov dword [esp + 0x30], eax
jne 0x420b74
cmp dword [ebp + 0xc4], ebx
jbe 0x421cdd
cmp eax, ebx
jbe 0x421067
push 0x30
mov dword [esp + 0x40], ebx
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x420bb7
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ebx
mov dword [eax], vtable.CSomImageWnd.0
mov dword [eax + 0x28], ebx
mov dword [eax + 0x2c], ebx
jmp 0x420bb9
xor eax, eax
push 0x4c
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 8
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], 3
mov dword [esp + 0x60], ebx
call fcn.004607ac
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x144], 1
cmp eax, ebx
je 0x420c07
push eax
call fcn.004563e0
jmp 0x420c09
xor eax, eax
mov byte [esp + 0x144], bl
mov edx, dword [ebp + 0xa10]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0x18b
mov edi, 3
push edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0x1f
mov dword [esp + 0x78], 6
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], edi
call esi
mov ecx, dword [ebp + 0xa10]
push eax
push 2
lea eax, [esp + 0x44]
push eax
push ebx
push ebx
push 0x18b
push ecx
call esi
lea ecx, [ebp + 0xa0c]
push eax
mov dword [esp + 0x34], ecx
call fcn.00440650
mov esi, dword [esp + 0x40]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], 0x491bf0
call fcn.0044f7a0
mov ecx, dword [esi + 0x1c]
cmp ecx, ebx
je 0x420ca5
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
push ebx
push ebx
push ebx
push esi
call eax
mov edx, dword [0x48e57c]
mov eax, dword [edx + 0xc]
mov ecx, 0x48e57c
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x20], esi
push 0x9cea
mov byte [esp + 0x148], 2
call fcn.00454520
mov ecx, eax
add esp, 4
cmp ecx, ebx
je 0x420cea
lea edx, [esp + 0x20]
push edx
mov eax, 0x9cea
call fcn.00454600
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov byte [esp + 0x148], 3
mov ecx, dword [esp + 0x64]
push esi
push ecx
call fcn.0044f030
lea eax, [esi - 0x10]
add esp, 0xc
mov byte [esp + 0x144], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x420d28
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x38], ebx
jne 0x420d4e
lea ecx, [esp + 0x2c]
push ecx
lea ebx, [ebp + 0xb08]
mov dword [esp + 0x30], 1
call fcn.00453f00
mov dword [eax], 1
xor ebx, ebx
mov eax, dword [ebp + 0xc4]
cmp eax, ebx
jbe 0x4210b3
push eax
mov esi, 0x490608
call fcn.00445f30
mov edi, eax
mov dword [esp + 0x20], edi
cmp edi, ebx
je 0x421067
push 0x50
mov dword [esp + 0xa8], ebx
call fcn.004607ac
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x144], 4
cmp eax, ebx
je 0x420d9f
mov esi, eax
call fcn.004025d0
jmp 0x420da1
xor eax, eax
mov byte [esp + 0x144], bl
push 0x34
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0x1f
mov dword [esp + 0xb4], 6
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 3
mov dword [esp + 0xc8], 1
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x420e07
mov esi, eax
call fcn.00423190
jmp 0x420e09
xor eax, eax
push 0x34
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 4
mov dword [esp + 0xd4], 6
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], 3
mov dword [esp + 0xe8], 1
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x420e68
mov esi, eax
call fcn.004231e0
jmp 0x420e6a
xor eax, eax
push 0x34
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], 4
mov dword [esp + 0xf4], 6
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], 3
mov dword [esp + 0x108], ebx
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x420ec5
mov esi, eax
call fcn.00423190
jmp 0x420ec7
xor eax, eax
mov edx, dword [ebp + 0xa10]
push ebx
push ebx
push 0x18b
push edx
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], 2
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi]
push ecx
mov ecx, dword [esp + 0x28]
push 4
lea edx, [esp + 0xac]
push edx
push eax
call fcn.00440650
mov eax, dword [edi + 0x4c]
lea esi, [edi + 0x4c]
cmp dword [eax - 0xc], ebx
jne 0x420f35
mov eax, dword [edi + 0x1c]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0xa8]
push eax
mov eax, dword [edi + 0x14]
push eax
push str.color0x383838_s____s
push ebp
call fcn.0044f030
mov ecx, dword [esi]
add esp, 0x10
cmp dword [ecx - 0xc], ebx
jne 0x420f5d
lea esi, [edi + 0x1c]
mov esi, dword [esi]
mov eax, ebp
call fcn.004277b0
mov edx, dword [esp + 0x34]
mov eax, dword [edi + 0x20]
push edx
push eax
call fcn.00460e36
add esp, 8
test eax, eax
jl 0x42103d
mov ecx, dword [esp + 0x14c]
mov edx, dword [ecx + 0xa10]
lea eax, [esp + 0x3c]
push eax
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, dword [esp + 0x44]
sub esi, dword [esp + 0x3c]
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
sub esi, 0x55
cmp eax, esi
jle 0x420fbe
and dword [ebp + 4], 0xfffffffd
push 0x11
push esi
mov eax, ebp
call fcn.00456270
mov dword [ebp + 0x40], esi
mov edi, dword [esp + 0x108]
xor eax, eax
mov ecx, 0x491c80
mov edx, edi
call fcn.0044f7f0
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx]
add eax, 0x21
push 6
push eax
mov eax, dword [edx + 0x24]
push edi
call eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, 0x9d8f
call fcn.00454940
mov byte [esp + 0x144], 5
mov esi, dword [eax]
mov eax, edi
call fcn.00427e50
lea eax, [esp + 0x2c]
mov byte [esp + 0x144], bl
call fcn.004568e0
mov eax, dword [edi + 4]
mov edx, eax
and edx, 1
jne 0x42103d
mov ecx, dword [edi + 0x1c]
or eax, 1
mov dword [edi + 4], eax
cmp ecx, ebx
je 0x42103d
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
push ebx
push 1
push ebx
push edi
call edx
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x50]
cmp ecx, ebx
je 0x421060
mov edi, dword [esp + 0xe8]
push eax
mov ebx, ecx
call fcn.004201e0
xor ebx, ebx
mov ebp, dword [esp + 0x14c]
cmp dword [esp + 0x38], ebx
jbe 0x421cdd
push 0x30
mov dword [esp + 0x40], ebx
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x421501
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ebx
mov dword [eax], vtable.CSomImageWnd.0
mov dword [eax + 0x28], ebx
mov dword [eax + 0x2c], ebx
jmp 0x421503
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x28], ebx
jbe 0x421067
mov edi, dword [esp + 0x24]
mov esi, 0x490608
call fcn.00445a60
mov edi, eax
mov dword [esp + 0x2c], edi
cmp edi, ebx
je 0x421427
cmp dword [edi + 8], 1
jne 0x421427
cmp dword [edi + 0x10], 2
je 0x421427
cmp dword [esp + 0x20], 3
jne 0x421127
cmp dword [esp + 0x30], 4
jbe 0x421127
lea ecx, [esp + 0xa0]
push ecx
lea ebx, [ebp + 0xb08]
mov dword [esp + 0xa4], 1
call fcn.00453f00
xor ebx, ebx
cmp dword [eax], ebx
je 0x42143f
push 0x50
mov dword [esp + 0xa8], ebx
call fcn.004607ac
add esp, 4
mov dword [esp + 0xa0], eax
mov byte [esp + 0x144], 8
cmp eax, ebx
je 0x421154
mov esi, eax
call fcn.004025d0
jmp 0x421156
xor eax, eax
mov byte [esp + 0x144], bl
push 0x34
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0x1f
mov dword [esp + 0xb4], 6
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 3
mov dword [esp + 0xc8], 1
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x4211bc
mov esi, eax
call fcn.00423190
jmp 0x4211be
xor eax, eax
push 0x34
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 4
mov dword [esp + 0xd4], 6
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], 3
mov dword [esp + 0xe8], 1
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x42121d
mov esi, eax
call fcn.004231e0
jmp 0x42121f
xor eax, eax
push 0x34
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], 4
mov dword [esp + 0xf4], 6
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], 3
mov dword [esp + 0x108], ebx
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x42127a
mov esi, eax
call fcn.00423190
jmp 0x42127c
xor eax, eax
mov edx, dword [ebp + 0xa10]
push ebx
push ebx
push 0x18b
push edx
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], 2
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi]
push ecx
push 4
lea edx, [esp + 0xac]
push edx
push eax
lea ecx, [ebp + 0xa0c]
call fcn.00440650
mov eax, dword [edi + 0x4c]
lea esi, [edi + 0x4c]
cmp dword [eax - 0xc], ebx
jne 0x4212ec
mov eax, dword [edi + 0x1c]
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0xa8]
push eax
mov eax, dword [edi + 0x14]
push eax
push str.color0x383838_s____s
push ebp
call fcn.0044f030
mov ecx, dword [esi]
add esp, 0x10
cmp dword [ecx - 0xc], ebx
jne 0x421314
lea esi, [edi + 0x1c]
mov esi, dword [esi]
mov eax, ebp
call fcn.004277b0
mov edx, dword [esp + 0x34]
mov eax, dword [edi + 0x20]
push edx
push eax
call fcn.00460e36
add esp, 8
test eax, eax
jl 0x4213f9
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 0xa10]
add eax, 0xa10
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, dword [esp + 0x44]
sub esi, dword [esp + 0x3c]
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
sub esi, 0x55
cmp eax, esi
jle 0x42137a
and dword [ebp + 4], 0xfffffffd
push 0x11
push esi
mov eax, ebp
call fcn.00456270
mov dword [ebp + 0x40], esi
mov edi, dword [esp + 0x108]
xor eax, eax
mov ecx, 0x491c80
mov edx, edi
call fcn.0044f7f0
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx]
add eax, 0x21
push 6
push eax
mov eax, dword [edx + 0x24]
push edi
call eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x9d8f
call fcn.00454940
mov byte [esp + 0x144], 9
mov esi, dword [eax]
mov eax, edi
call fcn.00427e50
lea eax, [esp + 0x18]
mov byte [esp + 0x144], bl
call fcn.004568e0
mov eax, dword [edi + 4]
mov edx, eax
and edx, 1
jne 0x4213f9
mov ecx, dword [edi + 0x1c]
or eax, 1
mov dword [edi + 4], eax
cmp ecx, ebx
je 0x4213f9
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
push ebx
push 1
push ebx
push edi
call edx
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x50]
cmp ecx, ebx
je 0x42141c
mov edi, dword [esp + 0xe8]
push eax
mov ebx, ecx
call fcn.004201e0
xor ebx, ebx
inc dword [esp + 0x20]
mov ebp, dword [esp + 0x14c]
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x28]
jb 0x4210c1
jmp 0x421067
push 0x4c
mov dword [esp + 0x40], ebx
call fcn.004607ac
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x144], 6
cmp eax, ebx
je 0x421465
push eax
call fcn.004563e0
jmp 0x421467
xor eax, eax
mov byte [esp + 0x144], bl
mov dword [esp + 0x40], eax
lea esi, [ebp + 0xa10]
mov eax, esi
mov dword [esp + 0x44], 0x1f
mov dword [esp + 0x48], 6
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], 3
call fcn.004452b0
push eax
push 1
lea ecx, [esp + 0x44]
push ecx
mov eax, esi
call fcn.004452b0
push eax
lea ecx, [ebp + 0xa0c]
call fcn.00440650
lea edx, [esp + 0x18]
push edx
mov ecx, 0x9cf1
call fcn.00454940
mov byte [esp + 0x144], 7
mov eax, dword [eax]
push 0x8030
push eax
mov eax, dword [esp + 0x48]
push eax
call fcn.0044f030
add esp, 0xc
lea eax, [esp + 0x18]
mov byte [esp + 0x144], bl
call fcn.004568e0
xor ebx, ebx
jmp 0x421067
xor eax, eax
push 0x4c
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 8
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], 3
mov dword [esp + 0x60], ebx
call fcn.004607ac
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x144], 0xa
cmp eax, ebx
je 0x421551
push eax
call fcn.004563e0
jmp 0x421553
xor eax, eax
mov byte [esp + 0x144], bl
mov ecx, dword [ebp + 0xa10]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
lea edi, [ebp + 0xa10]
push 0x18b
push ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0x1f
mov dword [esp + 0x78], 6
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], 3
call esi
push eax
mov eax, dword [edi]
push 2
lea edx, [esp + 0x44]
push edx
push ebx
push ebx
push 0x18b
push eax
call esi
lea ecx, [ebp + 0xa0c]
push eax
mov dword [esp + 0x34], ecx
call fcn.00440650
mov esi, dword [esp + 0x40]
mov dword [esi + 0x2c], 3
mov dword [esi + 0x28], 0x491bf0
call fcn.0044f7a0
mov ecx, dword [esi + 0x1c]
cmp ecx, ebx
je 0x4215f4
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
push ebx
push ebx
push ebx
push esi
call eax
mov edx, dword [0x48e57c]
mov eax, dword [edx + 0xc]
mov ecx, 0x48e57c
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x2c], esi
push 0x9ceb
mov byte [esp + 0x148], 0xb
call fcn.00454520
mov ecx, eax
add esp, 4
cmp ecx, ebx
je 0x421639
lea edx, [esp + 0x2c]
push edx
mov eax, 0x9ceb
call fcn.00454600
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
push eax
mov byte [esp + 0x148], 0xc
mov ecx, dword [esp + 0x64]
push esi
push ecx
call fcn.0044f030
lea eax, [esi - 0x10]
add esp, 0xc
mov byte [esp + 0x144], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x421677
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x30], ebx
jne 0x42169d
lea ecx, [esp + 0x18]
push ecx
lea ebx, [ebp + 0xb08]
mov dword [esp + 0x1c], 2
call fcn.00453f00
mov dword [eax], 1
xor ebx, ebx
mov eax, dword [ebp + 0xc4]
cmp eax, ebx
jbe 0x4219e0
push eax
mov esi, 0x490608
call fcn.00445f30
mov ebp, eax
mov dword [esp + 0x28], ebp
cmp ebp, ebx
je 0x421cdd
push 0x50
mov dword [esp + 0xa8], ebx
call fcn.004607ac
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x144], 0xd
cmp eax, ebx
je 0x4216ee
mov esi, eax
call fcn.004025d0
jmp 0x4216f0
xor eax, eax
mov byte [esp + 0x144], bl
push 0x34
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0x1f
mov dword [esp + 0xb4], 6
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 3
mov dword [esp + 0xc8], 1
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x421756
mov esi, eax
call fcn.00423190
jmp 0x421758
xor eax, eax
push 0x34
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 4
mov dword [esp + 0xd4], 6
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], 3
mov dword [esp + 0xe8], 1
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x4217b7
mov esi, eax
call fcn.004231e0
jmp 0x4217b9
xor eax, eax
push 0x34
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], 4
mov dword [esp + 0xf4], 6
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], 3
mov dword [esp + 0x108], ebx
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x421814
mov esi, eax
call fcn.00423190
jmp 0x421816
xor eax, eax
mov edx, dword [edi]
push ebx
push ebx
push 0x18b
push edx
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], 2
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp]
push ecx
mov ecx, dword [esp + 0x28]
push 4
lea edx, [esp + 0xac]
push edx
push eax
call fcn.00440650
mov eax, dword [ebp + 0x4c]
lea esi, [ebp + 0x4c]
cmp dword [eax - 0xc], ebx
jne 0x421881
mov eax, dword [ebp + 0x1c]
mov ebp, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
push ecx
push str.color0x383838_s____s
push ebp
call fcn.0044f030
mov edx, dword [esi]
add esp, 0x10
cmp dword [edx - 0xc], ebx
jne 0x4218ad
mov esi, dword [esp + 0x28]
add esi, 0x1c
mov esi, dword [esi]
mov eax, ebp
call fcn.004277b0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
push ecx
push eax
call fcn.00460e36
add esp, 8
test eax, eax
jl 0x4219b6
mov eax, dword [edi]
lea edx, [esp + 0x3c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, dword [esp + 0x44]
sub esi, dword [esp + 0x3c]
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
sub esi, 0x55
cmp eax, esi
jle 0x42190b
mov ecx, dword [ebp + 0x1c]
and dword [ebp + 4], 0xfffffffd
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
push 0x11
push esi
push ebp
call eax
mov dword [ebp + 0x40], esi
mov edi, dword [esp + 0x108]
mov esi, edi
mov dword [edi + 0x2c], ebx
mov dword [edi + 0x28], 0x491c80
call fcn.0044f7a0
mov ecx, dword [edi + 0x1c]
cmp ecx, ebx
je 0x421935
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
push ebx
push ebx
push ebx
push edi
call eax
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx]
add eax, 0x21
push 6
push eax
mov eax, dword [edx + 0x24]
push edi
call eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x9d8f
call fcn.00454940
mov byte [esp + 0x144], 0xe
mov esi, dword [eax]
mov eax, edi
call fcn.00427e50
mov byte [esp + 0x144], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x421993
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [edi + 4]
mov ecx, eax
and ecx, 1
jne 0x4219b6
mov ecx, dword [edi + 0x1c]
or eax, 1
mov dword [edi + 4], eax
cmp ecx, ebx
je 0x4219b6
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
push ebx
push 1
push ebx
push edi
call eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x50]
mov ecx, dword [esp + 0xc8]
cmp ecx, ebx
je 0x421cdd
mov edi, dword [esp + 0xe8]
push eax
mov ebx, ecx
call fcn.004201e0
jmp 0x421cdb
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x28], ebx
jbe 0x421cdd
mov esi, dword [0x490bb8]
mov dword [esp + 0x20], ebx
mov ecx, dword [0x490bbc]
sub ecx, esi
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x24], eax
jae 0x421c0a
mov ecx, dword [esp + 0x20]
lea edi, [ecx + esi]
cmp edi, ebx
je 0x421c0a
cmp dword [edi + 8], 1
jne 0x421c0a
mov eax, 2
cmp dword [edi + 0x10], eax
jne 0x421c0a
cmp dword [esp + 0x30], 3
jne 0x421a72
cmp dword [esp + 0x38], 4
jbe 0x421a72
lea edx, [esp + 0x18]
push edx
lea ebx, [ebp + 0xb08]
mov dword [esp + 0x1c], eax
call fcn.00453f00
xor ebx, ebx
cmp dword [eax], ebx
je 0x421c27
push 0x50
mov dword [esp + 0x40], ebx
call fcn.004607ac
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x144], 0x11
cmp eax, ebx
je 0x421a99
mov esi, eax
call fcn.004025d0
jmp 0x421a9b
xor eax, eax
mov byte [esp + 0x144], bl
push 0x34
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0x1f
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], 3
mov dword [esp + 0x60], 1
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x421ae9
mov esi, eax
call fcn.00423190
jmp 0x421aeb
xor eax, eax
push 0x34
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 4
mov dword [esp + 0x6c], 6
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 3
mov dword [esp + 0x80], 1
call fcn.004607ac
add esp, 4
cmp eax, ebx
je 0x421b35
mov esi, eax
call fcn.004231e0
jmp 0x421b37
xor eax, eax
push ebx
push ebx
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0xa10]
push 0x18b
push eax
mov dword [esp + 0x94], 4
mov dword [esp + 0x98], 6
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], 3
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi]
push ecx
push 3
lea edx, [esp + 0x44]
push edx
push eax
lea ecx, [ebp + 0xa0c]
call fcn.00440650
mov eax, dword [edi + 0x4c]
mov edx, dword [edi + 0x14]
cmp dword [eax - 0xc], ebx
jne 0x421bc2
mov ecx, dword [edi + 0x1c]
mov eax, dword [esp + 0x40]
push ecx
push edx
push str.color0x383838_s____s
push eax
call fcn.0044f030
mov esi, dword [edi + 0x1c]
jmp 0x421bd8
mov ecx, eax
mov eax, dword [esp + 0x40]
push ecx
push edx
push str.color0x383838_s____s
push eax
call fcn.0044f030
mov esi, dword [edi + 0x4c]
mov eax, dword [esp + 0x50]
add esp, 0x10
call fcn.004277b0
mov eax, dword [esp + 0x60]
mov edi, dword [edi + 0x50]
cmp eax, ebx
je 0x421c00
push edi
mov edi, dword [esp + 0x84]
mov ebx, eax
call fcn.004201e0
xor ebx, ebx
inc dword [esp + 0x30]
mov esi, dword [0x490bb8]
mov eax, dword [esp + 0x24]
add dword [esp + 0x20], 0x64
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x28]
jb 0x4219fc
jmp 0x421cdd
push 0x4c
mov dword [esp + 0x40], ebx
call fcn.004607ac
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x144], 0xf
cmp eax, ebx
je 0x421c4d
push eax
call fcn.004563e0
jmp 0x421c4f
xor eax, eax
mov byte [esp + 0x144], bl
mov dword [esp + 0x40], eax
lea esi, [ebp + 0xa10]
mov eax, esi
mov dword [esp + 0x44], 0x1f
mov dword [esp + 0x48], 6
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], 3
call fcn.004452b0
push eax
push 1
lea ecx, [esp + 0x44]
push ecx
mov eax, esi
call fcn.004452b0
push eax
lea ecx, [ebp + 0xa0c]
call fcn.00440650
lea edx, [esp + 0x18]
push edx
mov ecx, 0x9cf1
call fcn.00454940
mov byte [esp + 0x144], 0x10
mov eax, dword [eax]
push 0x8037
push eax
mov eax, dword [esp + 0x48]
push eax
call fcn.0044f030
add esp, 0xc
lea eax, [esp + 0x18]
call fcn.004568e0
xor ebx, ebx
mov ebp, dword [esp + 0x14c]
mov ecx, dword [ebp + 0xa10]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 1
lea esi, [ebp + 0xa10]
push 0xb
push ecx
call edi
mov eax, dword [ebp + 0xb8c]
mov edx, dword [esi]
push ebx
push eax
push 0x197
push edx
call edi
mov eax, dword [esi]
push 0x105
push ebx
push ebx
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
mov dword [esp + 0x144], 0xffffffff
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x421d4b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x13c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret 4