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

Disassembly:
push esp
and al, 0x3c
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebx + 0x74], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x78], ecx
mov dword [ebx + 0x7c], edx
push 2
mov dword [ebx + 0x80], eax
call esi
mov ecx, dword [ebx + 0x7c]
sub ecx, eax
push 0x14
mov dword [ebx + 0x74], ecx
call esi
sub dword [ebx + 0x80], eax
push 0x58
call fcn.004732ab
add esp, 4
mov dword [esp + 0x1c], eax
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x90], ecx
je 0x4170cf
mov ecx, eax
call fcn.0047c7c5
mov ecx, dword [esp + 0x1c]
mov dword [ecx], vtable.CDropScrollBar.0
mov dword [ecx + 0x54], 0
push 0x64
mov dword [esp + 0x94], 0xffffffff
push ebx
lea eax, [ebx + 0x74]
mov dword [ebx + 0x70], ecx
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x134]
push 0x40000005
call eax
mov eax, dword [edi + 0x18]
add eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x1c]
push 2
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
call esi
mov ecx, dword [edi + 0x14]
add ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub ecx, eax
mov eax, dword [edi + 0x18]
push edx
push ecx
push eax
mov eax, dword [esp + 0x24]
push eax
lea eax, [ebx + 0x60]
push eax
call dword [sym.imp.USER32.dll_SetRect]
lea eax, [ebx + 0x60]
push eax
mov ecx, ebx
call fcn.0047a351
push 0x6c
call fcn.004732ab
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
mov dword [esp + 0x90], 1
je 0x41716c
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x94]
push ecx
push edx
mov esi, eax
call fcn.00416250
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
jmp 0x41716e
xor eax, eax
push 0x65
mov dword [esp + 0x94], 0xffffffff
push ebx
mov dword [ebx + 0x5c], eax
mov edx, dword [eax]
lea ecx, [ebx + 0x60]
push ecx
mov ecx, eax
mov eax, dword [edx + 0x134]
push 0x40000100
call eax
mov ecx, dword [ebx + 0x5c]
mov eax, dword [ebx + 0xc0]
mov dword [ecx + 0x64], eax
mov ecx, dword [ebx + 0x5c]
push 5
call fcn.00480ab6
mov eax, dword [ebx + 0x5c]
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x1a1
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebx + 0xa4]
imul ecx, eax
add ecx, 2
push 0
mov dword [esp + 0x18], ecx
call esi
push 1
mov dword [esp + 0x30], eax
call esi
mov edx, dword [ebx + 0x94]
mov ecx, dword [edi + 0x18]
mov esi, eax
mov eax, dword [edx + 0x100]
mov edx, dword [ebx + 0xa4]
push 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x5c]
mov eax, dword [eax + 0x20]
push 0
push 0x1a1
push eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], edx
call dword [sym.imp.USER32.dll_SendMessageA]
sub esi, dword [edi + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x94]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x48]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebx + 0x94]
mov ecx, dword [eax + 0xf0]
mov eax, esi
mov esi, dword [esp + 0x24]
cdq
idiv esi
cmp eax, ecx
jge 0x4172af
mov eax, dword [edi + 0x18]
sub eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
add eax, dword [esp + 0x4c]
cmp ecx, 0xffffffff
je 0x41728a
cmp ecx, dword [esp + 0x30]
jg 0x41728a
imul esi, ecx
mov ecx, eax
sub ecx, esi
sub ecx, 2
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov dword [esp + 0x20], ecx
sub eax, ecx
jmp 0x41730b
mov edx, dword [esp + 0x14]
mov esi, eax
sub esi, edx
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x20], ecx
add ecx, edx
cmp ecx, eax
jle 0x41730f
sub eax, dword [esp + 0x20]
jmp 0x41730b
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x4172e1
cmp eax, dword [esp + 0x30]
jg 0x4172e1
mov ecx, dword [esp + 0x20]
imul esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [ecx + esi]
cmp edx, eax
jle 0x4172d8
sub eax, ecx
mov dword [esp + 0x14], eax
mov esi, eax
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x41730f
mov ecx, dword [edi + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
lea edx, [ecx + esi]
cmp edx, eax
jle 0x4172f7
sub eax, ecx
jmp 0x41730b
push 0x14
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cmp esi, eax
jge 0x41730f
push 0x14
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0xa0]
mov ecx, dword [eax]
xor edx, edx
cmp ecx, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [ebx + 0xa8], ecx
je 0x417385
nop
mov eax, dword [ebx + 0xa8]
cmp dword [eax + 0x20], 0x10
mov ecx, dword [eax + 0x1c]
jb 0x417344
mov eax, dword [eax + 0xc]
jmp 0x417347
add eax, 0xc
mov esi, dword [ebx + 0x5c]
push ecx
push eax
lea edi, [esp + 0x2c]
call fcn.004167b0
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x18]
jle 0x417363
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebx + 0xa0]
cmp dword [ebx + 0xa8], eax
jne 0x417330
mov edi, dword [esp + 0x44]
xor edx, edx
mov ecx, dword [ebx + 0x7c]
sub ecx, dword [ebx + 0x74]
mov eax, dword [esp + 0x18]
lea eax, [eax + ecx + 8]
mov ecx, dword [ebx + 0x68]
sub ecx, dword [ebx + 0x60]
cmp eax, ecx
jge 0x4173a0
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x48]
cmp eax, ecx
jge 0x4173ae
mov eax, ecx
mov ecx, dword [esp + 0x2c]
mov edi, dword [edi + 0x1c]
mov esi, ecx
sub esi, edi
cmp eax, esi
jle 0x4173c7
mov edi, ecx
sub edi, eax
jns 0x4173c7
xor edi, edi
jmp 0x4173cb
cmp edi, edx
jne 0x4173d1
cmp eax, ecx
jle 0x4173d1
mov eax, ecx
mov ecx, dword [esp + 0x14]
push 0x44
push ecx
push eax
lea edx, [eax + 0x64]
mov eax, dword [esp + 0x2c]
push eax
mov dword [ebx + 0x54], edx
lea edx, [ecx + 0x64]
push edi
push 0x4f0c40
mov ecx, ebx
mov dword [ebx + 0x58], edx
call fcn.00480cc5
mov edx, dword [ebx + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetClientRect]
lea ecx, [esp + 0x34]
push ecx
push edx
call esi
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
lea edi, [ebx + 0x84]
mov dword [edi], eax
mov eax, dword [esp + 0x40]
mov dword [edi + 4], ecx
mov ecx, dword [ebx + 0x20]
push edi
mov dword [edi + 8], edx
push ecx
mov dword [edi + 0xc], eax
call esi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 2
call esi
mov edx, dword [ebx + 0x8c]
sub edx, eax
push 0x14
mov dword [edi], edx
call esi
mov ecx, dword [ebx + 0x90]
sub ecx, eax
xor esi, esi
mov dword [ebx + 0x88], ecx
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], esi
mov byte [esp + 0x5c], 0
push esi
push 0x4cc8cf
lea ecx, [esp + 0x60]
mov dword [esp + 0x98], 2
call fcn.00415b60
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x90], 3
mov eax, dword [ebx + 0xa0]
mov ecx, dword [eax]
cmp ecx, eax
mov dword [ebx + 0xa8], ecx
je 0x417500
lea esp, [esp]
mov edi, dword [ebx + 0xa8]
push 0xffffffffffffffff
push esi
add edi, 8
push edi
lea ecx, [esp + 0x64]
call fcn.00415990
mov edx, dword [edi + 0x1c]
mov dword [esp + 0x74], edx
mov eax, dword [edi + 0x20]
mov edx, dword [ebx + 0x5c]
mov dword [esp + 0x78], eax
mov ecx, dword [edi + 0x24]
mov dword [esp + 0x7c], ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.00416870
mov eax, dword [ebx + 0xa8]
mov ecx, dword [eax]
mov edx, ecx
mov dword [ebx + 0xa8], ecx
cmp edx, dword [ebx + 0xa0]
jne 0x4174b0
mov eax, dword [ebx + 0x5c]
mov esi, dword [ebx + 0x70]
call fcn.00416cd0
mov eax, dword [ebx + 0x70]
mov ecx, dword [eax + 0x20]
push 1
push 2
push ecx
call dword [sym.imp.USER32.dll_ShowScrollBar]
mov edx, dword [ebx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SetCapture]
push eax
call fcn.0047dae0
cmp dword [esp + 0x70], 0x10
jb 0x417540
mov eax, dword [esp + 0x5c]
push eax
call fcn.004732db
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x88]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.00491285
mov esp, ebp
pop ebp
ret 4