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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x42da1d
mov eax, dword fs:[0]
push eax
sub esp, 0x8f0
mov eax, dword [0x43eec0]
xor eax, esp
mov dword [esp + 0x8e8], eax
push ebx
push esi
push edi
mov eax, dword [0x43eec0]
xor eax, esp
push eax
lea eax, [esp + 0x900]
mov dword fs:[0], eax
mov edi, ecx
call fcn.00404e64
push 0x5c
pop esi
push esi
xor ebx, ebx
lea eax, [esp + 0x68]
push ebx
push eax
call fcn.00413fa0
add esp, 0xc
lea eax, [esp + 0x64]
lea ecx, [edi + 0x9c]
push eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], 0x40000000
mov dword [esp + 0x7c], ebx
call fcn.004040fa
mov dword [esp + 0x14], ebx
call fcn.00403cbe
push eax
lea ecx, [esp + 0x20]
call fcn.00402274
mov dword [esp + 0x908], ebx
lea esi, [edi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax - 0xc]
cmp eax, ebx
mov dword [esp + 0x10], ebx
jle 0x4284b8
push dword [esp + 0x10]
mov ecx, esi
call fcn.004015c8
movzx eax, ax
mov ecx, 0x263b
cmp ax, cx
jne 0x42848d
push dword [esp + 0x1c]
push ebx
push 0xc2
push dword [edi + 0xbc]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x433699
lea ecx, [esp + 0x20]
call fcn.004021cd
xor eax, eax
cmp dword [esp + 0x14], ebx
push 0x5c
sete al
push ebx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xcc]
push eax
call fcn.00413fa0
xor eax, eax
add esp, 0xc
cmp dword [esp + 0x14], ebx
lea ecx, [edi + 0x9c]
setne al
mov dword [esp + 0xc4], 0x5c
mov dword [esp + 0xc8], 1
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xc4]
push eax
call fcn.004040fa
jmp 0x4284a5
push dword [esp + 0x10]
mov ecx, esi
call fcn.004015c8
movzx eax, ax
push eax
lea ecx, [esp + 0x20]
call fcn.00401f9e
inc dword [esp + 0x10]
mov eax, dword [esi]
mov ecx, dword [esp + 0x10]
cmp ecx, dword [eax - 0xc]
jl 0x4283f6
push dword [esp + 0x1c]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 0xc2
push dword [edi + 0xbc]
call esi
lea eax, [esp + 0x4c]
push eax
push dword [edi + 0xbc]
call dword [sym.imp.USER32.dll_GetClientRect]
push dword [edi + 0xbc]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.0040dce8
push ebx
push ebx
push 0xba
push dword [edi + 0xbc]
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], ebx
call esi
test eax, eax
jle 0x42868b
push 0x3e8
lea eax, [esp + 0x128]
push eax
push dword [esp + 0x18]
lea esi, [edi + 0x9c]
mov ecx, esi
call fcn.004040c6
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0x24]
call fcn.004026c6
push dword [esp + 0x10]
mov byte [esp + 0x90c], 1
mov eax, dword [esp + 0x24]
mov eax, dword [eax - 0xc]
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.0040407f
mov ecx, dword [esp + 0x14]
lea esi, [eax + ecx]
lea ecx, [esi - 1]
push ecx
push eax
lea ecx, [edi + 0x9c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], esi
call fcn.0040409b
dec esi
push esi
lea eax, [edi + 0x9c]
push eax
lea esi, [esp + 0x44]
call fcn.0040295d
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x4c]
cmp ecx, eax
jle 0x428657
mov eax, dword [esp + 0x24]
dec eax
push eax
push eax
lea ecx, [edi + 0x9c]
call fcn.0040409b
push 0x433bb0
push ebx
push 0xc2
push dword [edi + 0xbc]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [esp + 0x14], ebx
jl 0x428657
mov esi, dword [esp + 0x24]
push 2
add esi, 0xfffffffe
pop eax
sub eax, dword [esp + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
jmp 0x4285f4
mov esi, dword [esp + 0x14]
lea eax, [esi + 1]
push eax
push esi
lea ecx, [edi + 0x9c]
call fcn.0040409b
push 0x433bb8
push ebx
push 0xc2
push dword [edi + 0xbc]
call dword [sym.imp.USER32.dll_SendMessageW]
add esi, 2
push esi
lea eax, [edi + 0x9c]
push eax
lea esi, [esp + 0x34]
call fcn.0040295d
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x4c]
sub eax, 0xa
cmp ecx, eax
jl 0x428657
dec dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add ecx, eax
jns 0x4285f0
mov byte [esp + 0x908], bl
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00402479
inc dword [esp + 0x10]
push ebx
push ebx
push 0xba
push dword [edi + 0xbc]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [esp + 0x10], eax
jl 0x428512
mov eax, dword [esp + 0x28]
push dword [eax + 4]
push dword [edi + 0xbc]
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [edi + 0x90], ebx
je 0x428876
push 2
mov ecx, edi
call fcn.0040b512
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [esp + 0x3c]
push ecx
push dword [eax + 0x20]
call esi
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
call fcn.0040dbbd
push ebx
push 2
mov ecx, edi
call fcn.0040b512
mov ecx, eax
call fcn.0040b66d
push ebx
push 1
mov ecx, edi
call fcn.0040b512
mov ecx, eax
call fcn.0040b66d
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x90]
jmp 0x42872f
cmp eax, ebx
jl 0x4287b3
cmp eax, dword [edi + 0x7c]
jge 0x4287b3
mov ecx, dword [edi + 0x78]
push 0xfffffffffffffffb
pop edx
sub edx, dword [ecx + eax*4]
add dword [esp + 0x10], edx
dec eax
jns 0x428711
sub dword [esp + 0x10], 5
jns 0x4287b8
lea eax, [esp + 0x2c]
push eax
push dword [edi + 0x20]
call esi
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x30]
push 0xe
push eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x34]
mov ecx, edi
sub eax, dword [esp + 0x18]
push eax
push ebx
push ebx
push ebx
call fcn.0040b720
push 0x3ee
mov ecx, edi
call fcn.0040b512
lea ecx, [esp + 0x2c]
push ecx
push dword [eax + 0x20]
call esi
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
sub ecx, dword [esp + 0x30]
sub eax, dword [esp + 0x2c]
push 0xe
sub eax, dword [esp + 0x14]
push ecx
push eax
push ebx
push ebx
push ebx
push 0x3ee
mov ecx, edi
call fcn.0040b512
mov ecx, eax
call fcn.0040b720
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x10]
jmp 0x4287bc
call fcn.00403b1d
mov eax, dword [esp + 0x44]
mov esi, dword [edi + 0x90]
dec esi
mov dword [esp + 0x10], eax
js 0x428876
jmp 0x4287d3
mov eax, dword [esp + 0x10]
cmp esi, ebx
jl 0x4287b3
cmp esi, dword [edi + 0x7c]
jge 0x4287b3
mov edx, dword [edi + 0x78]
mov ecx, esi
shl ecx, 2
add edx, ecx
cmp esi, dword [edi + 0x7c]
mov dword [esp + 0x18], edx
jge 0x4287b3
mov edx, dword [edi + 0x78]
add edx, ecx
cmp esi, dword [edi + 0x90]
mov dword [esp + 0x24], edx
jge 0x4287b3
mov edx, dword [edi + 0x8c]
mov ecx, dword [ecx + edx]
push ebx
push ebx
lea edx, [esi + 0x64]
push edx
push dword [edi + 0x20]
mov edx, dword [esp + 0x38]
sub edx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x2c]
push dword [edx]
mov edx, dword [esp + 0x3c]
push dword [esp + 0x38]
sub eax, dword [edx]
push eax
push 0x50000000
push ecx
push str.BUTTON
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExW]
push ebx
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.00402937
push dword [eax + 4]
push 0x30
push dword [esp + 0x24]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, dword [edi + 0x7c]
jge 0x4287b3
mov eax, dword [edi + 0x78]
push 0xfffffffffffffffb
pop ecx
sub ecx, dword [eax + esi*4]
add dword [esp + 0x10], ecx
dec esi
jns 0x4287cf
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.00402479
xor eax, eax
inc eax
mov ecx, dword [esp + 0x900]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x8e8]
xor ecx, esp
call fcn.00411d1d
mov esp, ebp
pop ebp
ret