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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x551771
mov eax, dword fs:[0]
push eax
sub esp, 0x140
mov eax, dword [0x5b2920]
xor eax, esp
mov dword [esp + 0x138], eax
push ebx
push esi
push edi
mov eax, dword [0x5b2920]
xor eax, esp
push eax
lea eax, [esp + 0x150]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov ebx, ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], esi
call fcn.004e9d36
mov dword [esp + 0x158], 0
mov esi, dword [esi + 0x24]
push esi
lea eax, [esp + 0x3c]
push eax
mov ecx, ebx
mov dword [esp + 0x54], esi
call fcn.004f6b49
mov byte [esp + 0x158], 1
mov eax, dword [esp + 0x38]
cmp dword [eax - 0xc], 0
jg 0x42e0d4
add eax, 0xfffffff0
mov byte [esp + 0x158], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x42e95d
push 0xf000
push esi
mov ecx, ebx
call fcn.004f6316
and eax, 2
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call fcn.004edd60
push 0xf000
push esi
mov ecx, ebx
call fcn.004f6316
push esi
mov ecx, ebx
call fcn.004f63b2
mov ecx, ebx
mov dword [esp + 0x74], eax
call fcn.004f390e
mov ecx, eax
xor edx, edx
and ecx, 0x100
cmp ecx, 0x100
sete dl
and al, 1
sub al, 1
neg al
mov edi, ebx
mov dword [esp + 0x30], edx
sbb eax, eax
add eax, 1
mov dword [esp + 0x10], eax
mov eax, esi
call fcn.0042eb50
push 0
mov ecx, ebx
mov dword [esp + 0x1c], eax
call fcn.004ec9d5
mov eax, dword [ebx + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x1106
push eax
call edi
mov ecx, dword [ebx + 0x20]
push 0
push 0
push 0x111c
push ecx
mov dword [esp + 0x3c], eax
call edi
movsx edx, ax
xor eax, eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x80]
push ecx
push esi
mov ecx, ebx
mov dword [esp + 0x20], edx
call fcn.004f62d7
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 0x10]
push eax
lea ecx, [esp + 0x20]
call fcn.004ea204
mov ecx, dword [ebx + 0x20]
push 0
push 0
push 0x31
push ecx
call edi
push eax
call fcn.004ea4bd
mov edi, eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], vtable.CFont.0
lea edx, [esp + 0xe4]
push edx
mov byte [esp + 0x15c], 2
mov eax, dword [edi + 4]
push 0x5c
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [esp + 0x18]
sub eax, 0
je 0x42e20d
sub eax, 1
je 0x42e205
mov eax, dword [ebx + 0xa0]
jmp 0x42e217
mov eax, dword [ebx + 0x9c]
jmp 0x42e213
mov eax, dword [ebx + 0x98]
test eax, eax
je 0x42e22c
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push eax
lea ecx, [esp + 0x44]
call fcn.004ea4cb
lea edi, [esp + 0x40]
push edi
lea ecx, [esp + 0x20]
call fcn.004ea5a3
push 0
lea ecx, [esp + 0xb8]
push ecx
push esi
mov ecx, ebx
mov dword [esp + 0xbc], eax
call fcn.004f62b7
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xd0], edx
lea edx, [esp + 0xd4]
push edx
mov dword [esp + 0xd0], ecx
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov eax, dword [esp + 0x2c]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
push 1
lea ecx, [esp + 0x54]
push ecx
push esi
mov ecx, ebx
call fcn.004f62b7
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0xd4]
mov esi, dword [sym.imp.USER32.dll_OffsetRect]
lea ecx, [eax + edx + 2]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x54]
add edx, eax
mov eax, dword [esp + 0x18]
sub eax, 0
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
je 0x42e329
sub eax, 1
je 0x42e308
mov ecx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x6c]
push ecx
push eax
lea ecx, [esp + 0xbc]
push ecx
call esi
mov ecx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x6c]
push ecx
push eax
lea edx, [esp + 0x58]
push edx
jmp 0x42e34e
mov ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0x74]
push ecx
push eax
lea eax, [esp + 0xbc]
push eax
call esi
mov ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0x74]
push ecx
push eax
lea ecx, [esp + 0x58]
push ecx
jmp 0x42e34e
mov ecx, dword [ebx + 0x80]
mov eax, dword [ebx + 0x7c]
push ecx
push eax
lea edx, [esp + 0xbc]
push edx
call esi
mov ecx, dword [ebx + 0x80]
mov eax, dword [ebx + 0x7c]
push ecx
push eax
lea eax, [esp + 0x58]
push eax
call esi
cmp dword [esp + 0x34], 0
je 0x42e370
mov eax, dword [ebx + 0x5c]
lea edi, [esp + 0xc4]
lea esi, [esp + 0x1c]
call fcn.0042e9b0
mov edx, dword [ebx + 0x60]
push edx
jmp 0x42e397
mov ecx, dword [ebx + 0x20]
push 0
push 0
push 0x111f
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
lea edi, [esp + 0xc4]
lea esi, [esp + 0x1c]
call fcn.0042e9b0
mov eax, dword [ebx + 0x54]
push eax
lea ecx, [esp + 0x20]
call fcn.004e9bfd
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x54]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xac], edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x50]
mov edx, eax
sub edx, esi
cmp dword [esp + 0x30], 0
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x5c]
mov ecx, esi
mov dword [esp + 0xa4], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x6c], edx
je 0x42e411
lea ecx, [esi + esi]
mov edx, eax
sub edx, ecx
mov dword [esp + 0x60], edx
add edx, esi
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x80], eax
add ecx, esi
sub eax, ecx
cmp dword [esp + 0x14], 0
mov dword [esp + 0x84], edi
mov edi, eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x5c]
lea eax, [edi + esi]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x80], edi
mov dword [esp + 0x88], eax
jne 0x42e45b
mov dword [esp + 0x14], 0x12
cmp dword [ebx + 0x64], 0
je 0x42e570
mov ecx, dword [ebx + 0x20]
push 0
push 0
push 0x111f
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebx + 0x58]
push eax
mov eax, dword [esp + 0x18]
push edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x8c]
push eax
shr esi, 1
add esi, edi
sar ecx, 1
push esi
mov eax, 1
lea ebx, [esp + 0x2c]
call fcn.0042eaa0
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
add esp, 0x10
cmp dword [ebx + 0x64], 0
je 0x42e570
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebx + 0x20]
push ecx
push 1
push 0x110a
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x42e520
mov eax, dword [ebx + 0x20]
push 0
push 0
push 0x111f
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, eax
mov eax, dword [esp + 0x14]
cdq
push ecx
mov ecx, dword [ebx + 0x58]
sub eax, edx
mov edx, dword [esp + 0x88]
sar eax, 1
push ecx
lea ecx, [eax + edx]
push ecx
shr esi, 1
add esi, edi
mov ecx, eax
push esi
mov eax, 1
lea ebx, [esp + 0x2c]
call fcn.0042eaa0
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
add esp, 0x10
cmp dword [ebx + 0x64], 0
je 0x42e570
mov edx, dword [ebx + 0x20]
push 0
push 0
push 0x111f
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
mov eax, dword [ebx + 0x58]
push eax
mov eax, dword [esp + 0x1c]
cdq
sub eax, edx
sar eax, 1
add eax, dword [esp + 0x8c]
shr esi, 1
push eax
lea ecx, [esi + edi]
push ecx
mov ecx, 1
mov eax, esi
lea ebx, [esp + 0x2c]
call fcn.0042eaa0
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
add esp, 0x10
cmp dword [esp + 0x10], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x34], eax
je 0x42e688
push eax
mov ecx, ebx
call fcn.004f634e
test eax, eax
je 0x42e67f
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
sub eax, edi
sub eax, 9
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x8c]
sub eax, ecx
sub eax, 9
cdq
push 0
sub eax, edx
mov edx, dword [ebx + 0x20]
push 0
sar eax, 1
push 0x111f
add eax, ecx
sar edi, 1
add edi, dword [esp + 0x8c]
push edx
mov dword [esp + 0x20], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebx + 0x58]
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [eax + 9]
push edx
lea ecx, [edi + 9]
push ecx
push eax
push edi
lea eax, [esp + 0x34]
call fcn.0042ea10
mov eax, dword [esp + 0x28]
add esp, 0x18
add eax, 4
push eax
lea edx, [edi + 2]
mov dword [esp + 0x74], eax
push edx
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0x28]
call fcn.004e9f0d
mov ecx, dword [esp + 0x70]
push ecx
lea edx, [edi + 7]
push edx
lea ecx, [esp + 0x24]
call fcn.004e9c6a
mov eax, dword [esp + 0x4c]
push 0xf00
push eax
mov ecx, ebx
call fcn.004f6316
test al, 0x20
jne 0x42e678
lea eax, [edi + 4]
mov edi, dword [esp + 0x10]
lea ecx, [edi + 2]
push ecx
push eax
lea edx, [esp + 0xe4]
push edx
lea ecx, [esp + 0x28]
mov dword [esp + 0x7c], eax
call fcn.004e9f0d
mov eax, dword [esp + 0x70]
add edi, 7
push edi
push eax
lea ecx, [esp + 0x24]
call fcn.004e9c6a
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x18]
add eax, 1
jmp 0x42e68c
mov eax, dword [esp + 0x18]
cmp dword [ebx + 0x64], 0
je 0x42e72f
cmp eax, 1
jle 0x42e72f
add eax, 0xffffffff
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x34]
mov edx, dword [ebx + 0x20]
push ecx
push 3
push 0x110a
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 1
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x20]
push 0x110a
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x42e720
mov ecx, dword [ebx + 0x20]
push 0
push 0
push 0x111f
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebx + 0x58]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x88]
shr esi, 1
sub esi, dword [esp + 0x14]
push edx
push eax
add esi, edi
push esi
mov eax, 1
lea ebx, [esp + 0x2c]
call fcn.0042eaa0
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
add esp, 0x10
add dword [esp + 0x10], esi
sub dword [esp + 0x18], 1
jne 0x42e6aa
cmp dword [esp + 0x30], 0
je 0x42e7b0
mov eax, dword [esp + 0x6c]
sub eax, dword [esp + 0x64]
sub eax, 0xd
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x60]
sar ecx, 1
sub eax, 0xd
cdq
sub eax, edx
neg ecx
sar eax, 1
push ecx
neg eax
push eax
lea ecx, [esp + 0x68]
push ecx
call dword [sym.imp.USER32.dll_InflateRect]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
add edx, 0xd
add eax, 0xd
cmp dword [esp + 0x74], 0
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
je 0x42e799
mov edx, dword [esp + 0x20]
push 0xc400
push 4
lea ecx, [esp + 0x68]
push ecx
push edx
jmp 0x42e7aa
mov ecx, dword [esp + 0x20]
push 0xc000
push 4
lea eax, [esp + 0x68]
push eax
push ecx
call dword [sym.imp.USER32.dll_DrawFrameControl]
mov edx, dword [ebx + 0x20]
push 0
push 0
push 0x1108
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.004f699c
test eax, eax
mov dword [esp + 0x30], eax
je 0x42e8b4
mov eax, dword [eax + 4]
lea ecx, [esp + 0x80]
push ecx
push 0
push eax
mov edi, 0x10
call fcn.004f3785
mov edx, dword [eax + 0x78]
mov ecx, dword [edx]
call fcn.0042f040
test eax, eax
je 0x42e819
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
sub edi, dword [esp + 0x94]
sub eax, dword [esp + 0x90]
jmp 0x42e81b
mov eax, edi
sub esi, eax
mov eax, dword [esp + 0x14]
sub eax, edi
mov edi, dword [esp + 0x4c]
cdq
shr esi, 1
add dword [esp + 0xa0], esi
mov esi, dword [esp + 0xa4]
sub eax, edx
push 0xf000
sar eax, 1
push edi
mov ecx, ebx
add esi, eax
call fcn.004f6316
test al, 0x20
jne 0x42e885
push edi
mov ecx, ebx
call fcn.004f634e
test eax, eax
jne 0x42e871
push eax
mov eax, dword [ebx + 0x20]
push 9
push 0x110a
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, edi
je 0x42e885
mov edx, dword [esp + 0xa0]
push 1
push esi
push edx
mov edx, dword [esp + 0x88]
jmp 0x42e897
mov edx, dword [esp + 0xa0]
push 1
push esi
push edx
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x2c]
push ecx
push edx
push eax
call fcn.004f3785
mov eax, dword [eax + 0x78]
mov ecx, dword [eax]
call fcn.0042ee60
push 1
lea ecx, [esp + 0x20]
call fcn.004e9ba1
mov esi, eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax - 0xc]
push ecx
mov ecx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0xe0]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x58]
push eax
add ecx, 1
push ecx
push edx
call dword [sym.imp.GDI32.dll_TextOutW]
mov eax, dword [esp + 0xb0]
push eax
lea ecx, [esp + 0x20]
call fcn.004ea5a3
push esi
lea ecx, [esp + 0x20]
call fcn.004e9ba1
mov ecx, dword [esp + 0x48]
push ecx
lea ecx, [esp + 0x20]
call fcn.004e9bfd
lea ecx, [esp + 0x1c]
call fcn.004ea237
mov byte [esp + 0x158], 1
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], vtable.CFont.0
call fcn.00424150
mov byte [esp + 0x158], 0
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42e969
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x158], 0xffffffff
call fcn.004ea27e
mov ecx, dword [esp + 0x150]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0050fe87
mov esp, ebp
pop ebp
ret 4