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

Disassembly:
xor ecx, ecx
jmp 0x1004cc2
mov dword [ebp - 0x234], 1
jmp 0x1004dc8
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2f4
mov eax, dword [0x10b1090]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x210], eax
mov eax, dword [ebx + 0x1c]
push edi
mov dword [ebp - 0x254], esi
test eax, eax
je 0x1002c65
mov ecx, dword [eax]
mov eax, dword [esi + 0xc]
and dword [ebp - 0x238], 0
and dword [ebp - 0x258], 0
test eax, eax
jl 0x1004d42
cmp eax, ecx
jge 0x1004d42
mov ecx, dword [ebx + 0x1c]
mov ecx, dword [ecx + 4]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi]
push edi
mov dword [ebp - 0x258], edi
call dword [eax + 0xc]
push 1
mov dword [ebp - 0x238], eax
mov eax, dword [edi]
push edi
call dword [eax + 0x14]
cmp dword [esi + 8], 1
jne 0x1004d42
mov ecx, dword [ebx + 0x10]
call fcn.01004226
test al, 2
je 0x1004d42
mov eax, dword [ebx + 0x10]
push 0
push 0xd
add eax, 0x1c
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x24]
test eax, eax
je 0x10052d8
mov eax, dword [ebx + 0x10]
push 0
push 0x10
add eax, 0x1c
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x24]
test eax, eax
je 0x10052d8
push dword [esi + 0xc]
mov ecx, ebx
call fcn.010059f8
xor edx, edx
mov dword [ebp - 0x260], eax
mov eax, dword [esi + 0x2c]
cmp eax, 0xffffffff
setne dl
or dword [ebp - 0x25c], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x21c], edx
cmp dword [esi + 0x64], ecx
jne 0x10540a7
cmp dword [esi + 0x68], ecx
jne 0x10540a7
xor edi, edi
mov dword [ebp - 0x24c], ecx
inc edi
cmp dword [esi + 8], edi
jne 0x1005f28
mov edi, dword [esi + 0xc]
xor ecx, ecx
cmp edi, eax
mov eax, dword [esi + 0x30]
sete cl
mov dword [ebp - 0x214], ecx
cmp edi, eax
je 0x1004047
cmp dword [esi + 0x8c], 0
jne 0x1004047
cmp eax, 0xfffffffe
je 0x1066e4a
and dword [ebp - 0x234], 0
mov edi, dword [ebp - 0x238]
xor eax, eax
cmp edi, eax
je 0x1066e8d
mov eax, dword [edi]
push edi
call dword [eax + 0x64]
mov dword [ebp - 0x218], eax
mov eax, dword [edi]
push edi
call dword [eax + 0x6c]
cmp dword [ebp - 0x218], 0xffff
mov dword [ebp - 0x268], eax
je 0x1066e57
mov eax, dword [ebx + 0x10]
xor edi, edi
cmp dword [eax + 0x3c], edi
je 0x1066fb6
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
cmp eax, ecx
jne 0x1066e9e
mov dword [ebp - 0x224], 5
mov eax, dword [esi + 8]
cmp eax, 2
je 0x10060c3
cmp dword [ebp - 0x24c], 0
jne 0x10540b5
mov ecx, dword [ebp - 0x234]
push 0
push dword [ebp - 0x21c]
push dword [ebp - 0x214]
push eax
call fcn.01005bc0
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x218], 0
jne 0x10441de
mov eax, dword [esi + 0x88]
test eax, eax
jne 0x10540cc
cmp dword [ebp - 0x24c], 0
jne 0x10540c4
cmp byte [esi + 0x82], 0
jbe 0x1004ea7
movzx eax, word [ebx + 0x2e]
test ax, ax
jge 0x10442e8
cmp ax, 0xfffe
je 0x1066ee7
mov al, byte [esi + 0x54]
or dword [ebp - 0x230], 0xffffffff
xor edi, edi
mov byte [ebp - 0x228], al
cmp dword [ebp - 0x24c], edi
jne 0x1004ecf
mov al, byte [esi + 0x81]
test al, al
ja 0x1066f46
cmp dword [ebp - 0x220], 0xffffffff
je 0x1004f00
push dword [ebp - 0x228]
lea eax, [esi + 0x10]
push edi
push eax
push dword [ebp - 0x220]
mov eax, dword [ebx + 0x10]
push dword [ebp - 0x224]
push dword [ebp - 0x210]
push dword [eax + 0x3c]
call fcn.0100445d
cmp dword [ebp - 0x230], 0xffffffff
jne 0x1066f83
cmp dword [esi + 0x74], edi
jg 0x10456d0
cmp dword [esi + 0x7c], edi
jg 0x100c7fb
mov ecx, dword [ebx + 0x10]
call fcn.01004226
test al, 2
je 0x106703b
and dword [ebp - 0x218], 0
mov esi, dword [ebp - 0x254]
mov ecx, dword [ebx + 0x10]
lea eax, [ebp - 0x264]
push eax
push dword [esi + 8]
call fcn.01004304
mov ecx, dword [ebx + 0x10]
sub eax, dword [ecx + 0x108]
add esi, 0x10
sub eax, dword [ebp - 0x264]
lea edi, [ebp - 0x290]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x254]
cmp dword [eax], 0
movsd dword es:[edi], dword [esi]
je 0x1067062
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 0x78]
mov dword [ebp - 0x26c], eax
mov eax, dword [ecx + 0x74]
mov dword [ebp - 0x270], eax
call fcn.01004226
test al, 2
je 0x10670af
mov eax, dword [ebx + 0x10]
mov edi, dword [eax + 0x7c]
mov esi, dword [eax + 0x80]
mov ecx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x28c]
sub ecx, esi
sub eax, dword [ebp - 0x270]
sub ecx, edi
sub ecx, dword [ebp - 0x290]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x214], eax
test ecx, ecx
jle 0x10052d8
test eax, eax
jle 0x10052d8
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [ebp - 0x270]
add dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x26c]
sub dword [ebp - 0x23c], eax
mov ecx, dword [ebx + 0x10]
add dword [ebp - 0x248], edi
sub dword [ebp - 0x240], esi
and dword [ebp - 0x220], 0
and dword [ebp - 0x224], 0
lea eax, [ebp - 0x2f4]
push eax
call fcn.01004007
mov eax, dword [ebp - 0x2f4]
cmp dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x2f0]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x294], ecx
jl 0x1067147
cmp dword [ebp - 0x214], ecx
jl 0x1067147
xor esi, esi
cmp dword [ebp - 0x218], esi
jne 0x10671bd
mov ecx, dword [ebp - 0x240]
sub ecx, dword [ebp - 0x248]
mov eax, dword [ebp - 0x250]
cmp ecx, eax
jle 0x10050ba
sub eax, dword [ebp - 0x240]
push esi
add eax, dword [ebp - 0x248]
cdq
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0x8c], esi
jne 0x104569c
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax]
lea edx, [ebp - 0x228]
push edx
push esi
push dword [ebp - 0x260]
push dword [ebx + 0x14]
push eax
call dword [ecx + 0x10]
test eax, eax
jl 0x10052a9
cmp dword [ebp - 0x228], 0xfffffffe
je 0x10052a9
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax]
lea edx, [ebp - 0x22c]
push edx
push dword [ebp - 0x228]
push eax
call dword [ecx + 0x14]
test eax, eax
jl 0x10052a9
and dword [ebp - 0x21c], 0
lea eax, [ebp - 0x21c]
push eax
push 0x1004590
push dword [ebp - 0x22c]
call dword [fcn.01003e90]
test eax, eax
jl 0x1005299
push 0x40
lea eax, [ebp - 0x2d4]
push 0
push eax
mov dword [ebp - 0x2d8], 0x44
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x2d4], eax
movzx eax, word [ebp - 0x228]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x2c4], eax
mov eax, 0xff000000
add esp, 0xc
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x250]
cmp dword [ebp - 0x230], eax
push 8
mov dword [ebp - 0x2a8], 1
pop esi
jl 0x106729e
mov eax, dword [ebp - 0x294]
cmp dword [ebp - 0x214], eax
jl 0x10672bb
mov eax, dword [ebx + 0x10]
lea edx, [ebp - 0x214]
push edx
push 0
add eax, 0x1c
mov ecx, dword [eax]
lea edi, [ebx + 8]
push edi
push eax
call dword [ecx + 0x24]
test eax, eax
je 0x10456f0
mov eax, dword [ebx + 0x10]
lea edx, [ebp - 0x214]
push edx
push 1
add eax, 0x1c
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x24]
test eax, eax
je 0x10456f0
mov eax, dword [ebp - 0x254]
mov al, byte [eax + 0x54]
cmp al, 0xff
jne 0x1007f7e
cmp dword [ebp - 0x260], 0
jne 0x1005245
or dword [ebp - 0x2a8], 0x8000
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
lea edx, [ebp - 0x2d8]
push edx
push eax
call dword [ecx + 0x20]
cmp eax, 0x8000000a
je 0x1053156
test byte [ebp - 0x2a0], 8
jne 0x1005299
mov ecx, dword [ebx + 0x10]
call fcn.01004226
test al, 0x10
jne 0x1005299
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x1005f6f
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc0]
mov esi, eax
test esi, esi
jne 0x10672c4
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x10052a9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x250]
mov eax, dword [ebp - 0x230]
add esi, 4
sub eax, esi
test eax, eax
jle 0x10052cb
cmp dword [ebp - 0x218], 0
jne 0x1067394
cmp dword [ebp - 0x220], 0
jne 0x10675ab
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01001feb
leave
ret 8
cmp dword [esi + 0x30], 0xffffffff
mov dword [ebp - 0x214], edx
jne 0x10336c5
mov dword [ebp - 0x234], ecx
cmp dword [esi + 0x8c], ecx
jne 0x10336c5
lea edx, [ebp - 0x25c]
push edx
lea edx, [ebp - 0x268]
lea eax, [ebx + 8]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x9c]
mov dword [ebp - 0x218], eax
jmp 0x1004e00
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x90]
jmp 0x100528f
cmp byte [esi + 0x81], 0
jbe 0x1004e32
jmp 0x1066ec9
movzx eax, al
or dword [ebp - 0x2a0], esi
mov dword [ebp - 0x29c], eax
jmp 0x1005232
cmp byte [esi + 0x80], 0
jbe 0x1004f1f
push esi
push dword [ebp - 0x210]
mov ecx, ebx
call fcn.0100c820
jmp 0x1004f1f
mov dword [ebp - 0x234], edi
jmp 0x1005f4a
cmp dword [ebp - 0x25c], 0xffffffff
movzx eax, byte [esi + 0x54]
push eax
lea eax, [esi + 0x10]
mov ecx, ebx
push eax
jne 0x1066ed1
push dword [ebp - 0x268]
push dword [ebp - 0x218]
push dword [ebp - 0x210]
call fcn.01044217
jmp 0x1004e6c
movsx ecx, ax
cmp ecx, dword [esi + 0x20]
jne 0x1004e9d
cmp dword [ebp - 0x214], 0
je 0x10446df
push esi
push dword [ebp - 0x260]
jmp 0x1053f72
cmp dword [esi + 0x60], 0
je 0x1004ea7
mov eax, dword [esi + 8]
xor ecx, ecx
cmp eax, 3
sete cl
test ecx, ecx
jne 0x1044301
cmp eax, 1
jne 0x1004ea7
lea edi, [ebx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x22c]
push edx
push eax
call dword [ecx + 0x24]
mov eax, dword [edi]
push edi
call dword [eax + 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x294]
push edx
lea edx, [ebp - 0x228]
push edx
push eax
call dword [ecx + 0x28]
mov ecx, dword [ebx + 0x10]
call fcn.01004226
test al, 2
je 0x1044756
mov eax, dword [ebp - 0x22c]
sub eax, dword [ebp - 0x228]
cmp eax, 1
jg 0x1044301
push esi
push dword [ebx + 0x2c]
mov ecx, ebx
call fcn.0103f2ae
movsx edi, ax
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
cmp dword [esi], 0
je 0x1066f04
mov eax, dword [0x10442e4]
cdq
sub eax, edx
sar eax, 1
push 0
push eax
sub edi, eax
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [esi + 0x34]
push 0
neg eax
push eax
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
cmp edi, dword [ebp - 0x248]
jl 0x1004ea7
cmp edi, dword [ebp - 0x240]
jl 0x1044301
jmp 0x1004ea7
push 1
push 1
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
jmp 0x10050cc
test al, 2
je 0x1004dc1
jmp 0x1004047
cmp edi, dword [ebp - 0x23c]
jl 0x1044301
jmp 0x1004ea7
cmp byte [esi + 0x78], 0
jbe 0x1004f16
jmp 0x100c808
cmp dword [ebp - 0x218], esi
je 0x1005084
jmp 0x10050ba
mov eax, dword [ebp - 0x214]
jmp 0x1007f81
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax]
lea edx, [ebp - 0x228]
push edx
push 1
push 0
push dword [ebx + 0x14]
push eax
call dword [ecx + 0x10]
jmp 0x1005263
push dword [ebp - 0x210]
mov ecx, ebx
call fcn.01053f89
jmp 0x1004ea7
xor edi, edi
inc edi
mov dword [ebp - 0x24c], edi
jmp 0x1004d87
mov dword [ebp - 0x220], 1
jmp 0x1004e5f
push esi
push 0
jmp 0x1053f72
push dword [0x100460c]
movzx ecx, byte [esi + 0x54]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov byte [ebp - 0x22c], al
push dword [ebp - 0x22c]
lea eax, [esi + 0x10]
push 0
push eax
mov eax, dword [ebx + 0x10]
push 7
push dword [ebp - 0x224]
push dword [ebp - 0x210]
push dword [eax + 0x3c]
call fcn.0100445d
jmp 0x1004e7a
mov ecx, dword [ebx + 0x10]
call fcn.01004226
jmp 0x10456b2
test eax, eax
jne 0x1066e81
mov edi, dword [ebx + 0x1c]
mov edi, dword [edi + 4]
mov eax, dword [ebx + 0x10]
lea edx, [ebp - 0x25c]
push edx
mov edx, dword [esi + 0xc]
push 0x17
push dword [edi + edx*4]
add eax, 0x1c
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
jmp 0x1004e00
and dword [ebp - 0x218], 0
jmp 0x1004e00
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x24c], eax
jmp 0x1005f64
mov edi, dword [esi + 0xc]
cmp edi, eax
jne 0x1066eb4
mov dword [ebp - 0x224], 6
jmp 0x1004e26
xor eax, eax
cmp edi, ecx
sete al
add eax, 7
mov dword [ebp - 0x224], eax
jmp 0x1004e26
xor eax, eax
inc eax
jmp 0x1004e32
push dword [ebp - 0x25c]
push dword [ebp - 0x210]
call fcn.010a09ac
jmp 0x1004e6c
mov eax, dword [esi + 0xc]
cmp eax, 0xfffffffe
je 0x10442f4
movsx ecx, word [ebx + 0x2c]
cmp ecx, eax
je 0x10442f4
jmp 0x1004ea7
mov eax, dword [0x1069924]
cdq
sub eax, edx
sar eax, 1
push eax
sub edi, eax
push 0
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [esi + 0x38]
neg eax
push eax
push 0
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
cmp edi, dword [ebp - 0x244]
jge 0x10456bf
jmp 0x1004ea7
cmp dword [esi + 8], 2
mov byte [ebp - 0x228], al
jne 0x1004ecf
cmp al, 0xff
jae 0x1004ecf
mov ecx, dword [ebp - 0x234]
push edi
push dword [ebp - 0x21c]
push dword [ebp - 0x214]
push 2
call fcn.01005bc0
mov dword [ebp - 0x230], eax
jmp 0x1004ecf
or al, 0xff
sub al, byte [ebp - 0x228]
movzx eax, al
push eax
push edi
lea eax, [esi + 0x10]
push eax
push dword [ebp - 0x230]
mov eax, dword [ebx + 0x10]
push dword [ebp - 0x224]
push dword [ebp - 0x210]
push dword [eax + 0x3c]
call fcn.0100445d
jmp 0x1004f0d
cmp dword [ebp - 0x24c], edi
je 0x1066fc2
push 0xd
jmp 0x1066fd2
cmp dword [ebp - 0x234], edi
je 0x1066fe9
cmp dword [esi + 8], 2
je 0x1066fef
push 0x14
call dword [sym.imp.USER32.dll_GetSysColorBrush]
push eax
lea eax, [esi + 0x10]
push eax
push dword [ebp - 0x210]
call dword [sym.imp.USER32.dll_FillRect]
cmp dword [esi + 8], 2
jne 0x1066ffb
cmp dword [ebp - 0x214], edi
je 0x1004f1f
cmp dword [ebp - 0x234], edi
jne 0x106701d
cmp dword [ebp - 0x214], edi
je 0x1067019
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [ebx + 0x10]
cmp eax, dword [ecx + 4]
je 0x106701d
push 5
jmp 0x106701f
push 0xa
pop eax
push 0x100f
push eax
lea eax, [esi + 0x10]
push eax
push dword [ebp - 0x210]
call dword [sym.imp.USER32.dll_DrawEdge]
jmp 0x1004f1f
mov esi, dword [esi + 8]
xor eax, eax
inc eax
cmp esi, eax
jne 0x106704e
cmp dword [ebp - 0x238], 0
jne 0x1067057
cmp esi, 3
jne 0x1004f2f
mov dword [ebp - 0x218], eax
jmp 0x1004f36
cmp dword [ebp - 0x218], 0
jne 0x1004f7f
mov ecx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x290]
sub ecx, eax
cmp ecx, dword [ebp - 0x220]
jle 0x1004f7f
sub eax, dword [ebp - 0x288]
push 0
add eax, dword [ebp - 0x220]
cdq
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x290]
push eax
call dword [sym.imp.USER32.dll_InflateRect]
jmp 0x1004f7f
cmp dword [ebp - 0x218], 0
je 0x1004fa1
mov eax, dword [ebp - 0x254]
cmp dword [eax], 0
mov ecx, dword [ebp - 0x288]
je 0x1067139
mov edx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x220]
mov eax, ecx
sub eax, dword [ebp - 0x290]
lea edi, [edx + esi]
cmp edi, eax
jle 0x1067139
sub eax, esi
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0x6c]
sub ecx, dword [eax + 0x7c]
push edx
push dword [ebp - 0x21c]
push ecx
call esi
push dword [ebp - 0x264]
mov edi, eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0x70]
push dword [ebp - 0x21c]
sub ecx, dword [eax + 0x80]
add edi, dword [eax + 0x7c]
push ecx
call esi
mov esi, eax
mov eax, dword [ebx + 0x10]
add esi, dword [eax + 0x80]
jmp 0x1004fad
mov eax, dword [ebx + 0x10]
mov edi, dword [eax + 0x6c]
mov esi, dword [eax + 0x70]
jmp 0x1004fb3
push dword [ebp - 0x23c]
mov edi, dword [sym.imp.GDI32.dll_CreateRectRgn]
push dword [ebp - 0x240]
push dword [ebp - 0x244]
push dword [ebp - 0x248]
call edi
mov dword [ebp - 0x220], eax
test eax, eax
je 0x1005076
xor esi, esi
push esi
push esi
push esi
push esi
call edi
push eax
push dword [ebp - 0x210]
mov dword [ebp - 0x224], eax
call dword [sym.imp.GDI32.dll_GetClipRgn]
test eax, eax
jne 0x10671a6
push dword [ebp - 0x224]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [ebp - 0x224], esi
push dword [ebp - 0x220]
push dword [ebp - 0x210]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
jmp 0x1005076
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax]
push 0x104
lea edx, [ebp - 0x20c]
push edx
push dword [ebp - 0x238]
push eax
call dword [ecx + 0x2c]
cmp eax, esi
jge 0x10671e7
cmp eax, 0x8007007a
jne 0x10456df
xor eax, eax
lea edi, [ebp - 0x278]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebx + 0x10]
cmp dword [edi + 0x3c], esi
je 0x1067251
push 0x3c
lea eax, [ebp - 0x2d0]
push esi
push eax
mov dword [ebp - 0x2d4], 0x40
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x278]
push eax
push 0x8c24
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push esi
push dword [ebp - 0x210]
mov dword [ebp - 0x2d0], 0x2200
push dword [edi + 0x3c]
call dword [sym.imp.UxTheme.dll_DrawThemeTextEx]
jmp 0x1067272
push 0x8c24
lea eax, [ebp - 0x278]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x210]
call dword [sym.imp.USER32.dll_DrawTextW]
mov eax, dword [ebp - 0x270]
sub eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x250]
lea eax, [eax + ecx + 4]
xor ecx, ecx
cmp eax, dword [ebp - 0x230]
setle cl
mov dword [ebp - 0x218], ecx
jmp 0x10456df
push eax
push dword [ebp - 0x230]
or dword [ebp - 0x2a0], esi
push 0xff
call dword [sym.imp.KERNEL32.dll_MulDiv]
jmp 0x1007f87
push eax
push dword [ebp - 0x214]
jmp 0x10672a5
mov eax, dword [ebx + 0x10]
lea edx, [ebp - 0x214]
push edx
push 0x18
push dword [ebp - 0x258]
add eax, 0x1c
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
je 0x106730c
mov eax, dword [ebx + 0x10]
lea edx, [ebp - 0x214]
push edx
push 0x19
push dword [ebp - 0x258]
add eax, 0x1c
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
je 0x106730c
mov dword [ebp - 0x214], 0xff
lea eax, [ebp - 0x2ec]
push eax
push esi
call dword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x1005299
lea eax, [ebp - 0x280]
push eax
push 0x18
push dword [ebp - 0x2dc]
call dword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x1067379
push dword [ebp - 0x214]
mov eax, dword [ebp - 0x23c]
sub eax, dword [ebp - 0x278]
push esi
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
push eax
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x248]
push eax
push dword [ebp - 0x210]
call fcn.0109acde
push dword [ebp - 0x2dc]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
call esi
push dword [ebp - 0x2e0]
call esi
jmp 0x1005299
mov eax, dword [ebx + 0x10]
push 0
push 0x10
push dword [ebp - 0x238]
add eax, 0x1c
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
je 0x10052cb
mov eax, dword [ebx + 0x10]
push 0
push 0x12
push dword [ebp - 0x238]
add eax, 0x1c
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
je 0x10052cb
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax]
push 0x104
lea edx, [ebp - 0x20c]
push edx
push dword [ebp - 0x238]
push eax
call dword [ecx + 0x2c]
test eax, eax
jge 0x10673fa
cmp eax, 0x8007007a
jne 0x10052cb
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x278]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
add dword [ebp - 0x278], esi
lea esi, [ebp - 0x278]
lea edi, [ebp - 0x2e8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 0x10]
cmp dword [esi + 0x3c], 0
je 0x10674c5
push 0x3c
xor edi, edi
lea eax, [ebp - 0x2d0]
push edi
push eax
mov dword [ebp - 0x2d4], 0x40
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x2e8]
push eax
push 0xc24
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push dword [ebp - 0x210]
mov dword [ebp - 0x2d0], 0x2200
push dword [esi + 0x3c]
mov esi, dword [sym.imp.UxTheme.dll_DrawThemeTextEx]
call esi
and dword [ebp - 0x2d0], 0xfffffdff
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x278]
push eax
push 0x8824
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebx + 0x10]
push 1
push edi
push dword [ebp - 0x210]
push dword [eax + 0x3c]
call esi
jmp 0x1067572
mov edi, dword [ebp - 0x210]
push edi
call dword [sym.imp.GDI32.dll_GetTextColor]
xor esi, esi
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x24c], esi
je 0x10674f8
push 0xe
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x21c], esi
cmp dword [ebp - 0x234], esi
je 0x1067519
mov eax, dword [ebx + 0x10]
push dword [eax + 0x44]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x21c], eax
mov esi, dword [sym.imp.USER32.dll_DrawTextW]
push 0xc24
lea eax, [ebp - 0x2e8]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push edi
call esi
push 0x8824
lea eax, [ebp - 0x278]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push edi
call esi
cmp dword [ebp - 0x21c], 0
je 0x1067565
push dword [ebp - 0x21c]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x22c]
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [ebp - 0x258]
test eax, eax
je 0x10052cb
mov edx, dword [ebp - 0x2e0]
mov esi, dword [ebp - 0x270]
sub edx, dword [ebp - 0x2e8]
sub esi, dword [ebp - 0x278]
mov ecx, dword [eax]
xor ebx, ebx
cmp edx, esi
setg bl
push ebx
push eax
call dword [ecx + 0x14]
jmp 0x10052cb
push dword [ebp - 0x224]
push dword [ebp - 0x210]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
cmp dword [ebp - 0x224], 0
je 0x10675d2
push dword [ebp - 0x224]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0x220]
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x10052d8