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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x595a83
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x60f520]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
push edi
mov eax, dword [0x60f520]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x1c], edi
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x4c], ecx
test ecx, ecx
je 0x405d4e
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
push str.SetAllSplitterVisible
lea ecx, [esp + 0x24]
mov dword [esp + 0x7c], 0
call fcn.0040c2d0
push 0
push ecx
mov byte [esp + 0x80], 1
mov esi, esp
mov ecx, dword [esp + 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040c3c0
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [0x643590]
call fcn.0043bf50
mov byte [esp + 0x78], 0
or eax, 0xffffffff
mov edx, dword [esp + 0x20]
add edx, 0xfffffff0
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x405db0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [edi + 0x124], 0xffffffff
je 0x40677d
cmp dword [edi + 0x128], 0xffffffff
je 0x40677d
mov ecx, dword [edi + 0x138]
lea ebx, [edi + 0x138]
test ecx, ecx
je 0x40677d
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
test eax, 0xfffffffc
je 0x40677d
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0
push eax
mov dword [esp + 0x38], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [edi + 0x128], 0xffffffff
mov dword [edi + 0x124], 0xffffffff
call fcn.0040a110
push dword [esp + 0x34]
push dword [esp + 0x34]
mov esi, dword [eax + 0x100]
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
mov dword [esp + 0x44], esi
call fcn.00470480
push edi
mov ecx, esi
mov byte [esp + 0x7c], 2
call fcn.004712d0
mov ecx, dword [ebx]
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x40664b
test byte [edi + 0x134], 1
je 0x40664b
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
test eax, 0xfffffffc
je 0x40664b
cmp dword [ebp + 0xc], 0xffffffff
je 0x406651
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
sar eax, 2
cmp eax, 2
jb 0x405f77
cmp dword [esp + 0x34], 0x5a
jg 0x405f77
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x64]
cdq
sub eax, edx
sar eax, 1
sub eax, 0x2d
cmp dword [esp + 0x30], eax
jl 0x405f77
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x64]
cdq
sub eax, edx
sar eax, 1
add eax, 0x2d
cmp dword [esp + 0x30], eax
jg 0x405f77
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov byte [esp + 0x78], 3
xor esi, esi
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
test ecx, ecx
je 0x405f3a
lea ecx, [ecx]
mov eax, dword [ebx]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
cmp eax, esi
jbe 0x405f6d
mov eax, dword [ecx + esi*4]
lea ecx, [esp + 0x58]
mov eax, dword [eax + 0x104]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
push eax
call fcn.00409bc0
mov eax, dword [ebx]
inc esi
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
cmp esi, ecx
jb 0x405f00
call fcn.0040a110
mov esi, dword [eax + 0x100]
test esi, esi
je 0x405f5f
sub esp, 0xc
lea eax, [esp + 0x64]
mov ecx, esp
push eax
call fcn.00409b60
mov ecx, esi
call fcn.00472920
lea ecx, [esp + 0x58]
call fcn.00409c30
jmp 0x40676a
push str.invalid_vector_T__subscript
call fcn.005502ed
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x104], edi
je 0x405fcb
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x104]
mov ecx, dword [ebx]
lea eax, [esp + 0x24]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x3c]
movq xmm0, qword [esp + 0x58]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x58]
push eax
movq qword [esp + 0x5c], xmm0
call fcn.0040b0b0
mov eax, dword [esp + 0x28]
add esp, 4
cmp dword [esp + 0x3c], esi
jne 0x40613d
call fcn.00472d20
test eax, eax
jne 0x406139
push dword [esp + 0x34]
lea eax, [esp + 0x2c]
mov ecx, esi
push dword [esp + 0x34]
push eax
call fcn.00471d20
mov byte [esp + 0x78], 0xb
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x406098
mov ecx, dword [edi + 0x138]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x406022
mov ecx, dword [ecx + 4]
cmp dword [eax], ebx
je 0x406098
add eax, 4
cmp eax, ecx
jne 0x406017
lea eax, [esp + 0x58]
mov ecx, ebx
push eax
call fcn.004b0f50
push dword [esp + 0x34]
add dword [esp + 0x5c], 0xa
lea eax, [esp + 0x5c]
push dword [esp + 0x34]
add dword [esp + 0x64], 0xa
sub dword [esp + 0x68], 0xa
sub dword [esp + 0x6c], 0xa
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x406098
mov eax, dword [ebx]
mov ecx, ebx
push 1
push 0
call dword [eax + 0x148]
call fcn.0040a110
mov eax, dword [eax + 0x100]
add eax, 0x170
push eax
push ecx
mov eax, esp
push ebx
mov dword [eax], ebx
mov eax, dword [ebx]
call dword [eax + 4]
call fcn.00407ad0
xor ecx, ecx
cmp eax, 1
setne cl
test ecx, ecx
jne 0x406565
call fcn.0040a110
mov eax, dword [eax + 0x100]
mov edi, dword [eax + 0x170]
mov eax, dword [eax + 0x174]
mov dword [esp + 0x2c], eax
cmp edi, eax
je 0x406561
jmp 0x4060c0
mov esi, dword [edi]
mov dword [esp + 0x10], esi
test esi, esi
je 0x4060d0
mov eax, dword [esi]
push esi
call dword [eax + 4]
lea eax, [esp + 0x18]
mov ecx, esi
push eax
call fcn.00416e00
mov byte [esp + 0x78], 0xd
mov ecx, esi
mov eax, dword [eax]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x58]
push eax
call fcn.004b0f50
mov ecx, dword [esp + 0x20]
sub esp, 0x10
mov edx, esp
movdqu xmm0, xmmword [eax]
movdqu xmmword [edx], xmm0
call fcn.004b14f0
mov byte [esp + 0x78], 0xc
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40611c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x78], 0xb
test esi, esi
je 0x40612b
mov eax, dword [esi]
push esi
call dword [eax + 8]
add edi, 4
cmp edi, dword [esp + 0x2c]
jne 0x4060c0
jmp 0x406561
mov eax, dword [esp + 0x24]
xor esi, esi
test eax, eax
je 0x40614f
mov eax, dword [eax + 0x104]
mov esi, dword [eax + 0x204]
push dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x24]
push dword [esp + 0x34]
push eax
call fcn.00471d20
mov byte [esp + 0x78], 4
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x4061cd
cmp dword [edi + 0x204], 0
jne 0x40617f
test esi, esi
je 0x4061a0
call fcn.0040a110
mov eax, dword [eax + 0x100]
add eax, 0x170
push eax
push ecx
mov eax, esp
push ebx
mov dword [eax], ebx
mov eax, dword [ebx]
call dword [eax + 4]
call fcn.00407ad0
mov ecx, dword [edi + 0x138]
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
cmp edx, eax
je 0x4061bf
nop
cmp dword [edx], ebx
je 0x4061bb
add edx, 4
cmp edx, eax
jne 0x4061b0
cmp edx, eax
jne 0x4061cd
mov eax, dword [ebx]
mov ecx, ebx
push 1
push 0
call dword [eax + 0x148]
cmp dword [edi + 0x204], 0
jne 0x406565
cmp dword [edi + 0x208], 0
jne 0x406565
mov dword [esp + 0x50], 0
lea esi, [edi + 0x110]
mov byte [esp + 0x78], 5
mov eax, dword [esi + 4]
sub eax, dword [esi]
sar eax, 2
mov dword [esp + 0x2c], esi
cmp dword [edi + 0x200], eax
jne 0x40621a
or eax, 0xffffffff
mov dword [esp + 0x18], eax
jmp 0x406384
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov byte [esp + 0x78], 6
call fcn.0040a110
mov ebx, dword [eax + 0x100]
mov edi, dword [ebx + 0x170]
mov ebx, dword [ebx + 0x174]
cmp edi, ebx
je 0x40631d
mov esi, dword [edi]
mov dword [esp + 0x10], esi
test esi, esi
je 0x406266
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x78], 7
mov dword [esp + 0x18], 0
mov eax, dword [ecx + 0x114]
sub eax, dword [ecx + 0x110]
sar eax, 2
test eax, eax
je 0x4062fd
lea ebx, [ebx]
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.00416e00
mov edx, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x110]
cmp dword [eax + edx*4], ecx
mov eax, dword [esp + 0x28]
sete byte [esp + 0x17]
test eax, eax
je 0x4062c6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [esp + 0x18]
cmp byte [esp + 0x17], 0
jne 0x4062eb
mov ecx, dword [esp + 0x1c]
inc edx
mov dword [esp + 0x18], edx
mov eax, dword [ecx + 0x114]
sub eax, dword [ecx + 0x110]
sar eax, 2
cmp edx, eax
jb 0x406290
jmp 0x4062fd
lea eax, [esp + 0x18]
mov dword [esp + 0x18], edx
push eax
lea ecx, [esp + 0x5c]
call fcn.00409bc0
mov byte [esp + 0x78], 6
test esi, esi
je 0x40630c
mov eax, dword [esi]
push esi
call dword [eax + 8]
add edi, 4
cmp edi, ebx
jne 0x406256
mov ecx, dword [esp + 0x5c]
jmp 0x40631f
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x58]
mov esi, dword [eax + 0x200]
dec esi
js 0x40634a
mov eax, ebx
cmp ebx, ecx
je 0x40634a
cmp dword [eax], esi
je 0x406343
add eax, 4
cmp eax, ecx
jne 0x406336
jmp 0x40634a
cmp eax, ecx
je 0x40634a
dec esi
jns 0x406330
cmp esi, 0xffffffff
jne 0x406353
xor esi, esi
jmp 0x406354
inc esi
sub ecx, ebx
xor edx, edx
sar ecx, 2
xor eax, eax
test ecx, ecx
je 0x40636c
cmp dword [ebx + eax*4], esi
jae 0x406367
inc edx
inc eax
cmp eax, ecx
jb 0x406361
sub esi, edx
mov byte [esp + 0x78], 5
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], esi
call fcn.00409c30
mov esi, dword [esp + 0x2c]
call fcn.0040a110
xor edx, edx
mov dword [esp + 0x28], 0
mov eax, dword [eax + 0x100]
mov ebx, dword [eax + 0x170]
mov eax, dword [eax + 0x174]
mov ecx, eax
sub ecx, ebx
add ecx, 3
shr ecx, 2
cmp ebx, eax
cmova ecx, edx
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x40643d
mov edi, dword [ebx]
test edi, edi
je 0x4063cc
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov eax, dword [esp + 0x1c]
mov esi, dword [esi]
cmp esi, dword [eax + 0x114]
je 0x40641d
lea ebx, [ebx]
lea eax, [esp + 0x40]
mov ecx, edi
push eax
call fcn.00416e00
mov ecx, dword [esi]
cmp ecx, dword [eax]
mov eax, dword [esp + 0x40]
sete byte [esp + 0x17]
test eax, eax
je 0x406403
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp byte [esp + 0x17], 0
jne 0x4064e7
mov eax, dword [esp + 0x1c]
add esi, 4
cmp esi, dword [eax + 0x114]
jne 0x4063e0
mov esi, dword [esp + 0x2c]
test edi, edi
je 0x40642b
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [esp + 0x28]
add ebx, 4
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, dword [esp + 0x10]
jne 0x4063c0
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x3c]
jne 0x40655d
call fcn.0040a110
mov eax, dword [eax + 0x100]
mov ebx, dword [eax + 0x170]
mov eax, dword [eax + 0x174]
mov dword [esp + 0x28], eax
cmp ebx, eax
je 0x40655d
mov edi, edi
mov edi, dword [ebx]
mov dword [esp + 0x44], edi
test edi, edi
je 0x406480
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esp + 0x18]
cmp ecx, 0xffffffff
je 0x4064fd
mov eax, dword [esi + 4]
sub eax, dword [esi]
sar eax, 2
cmp ecx, eax
jbe 0x4064a2
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
sar ecx, 2
dec ecx
mov dword [esp + 0x18], ecx
mov eax, dword [esi]
lea esi, [eax + ecx*4]
mov ecx, edi
lea eax, [esp + 0x10]
push eax
call fcn.00416e00
push eax
push ecx
push esi
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x60]
push eax
mov ecx, esi
mov byte [esp + 0x88], 9
call fcn.0040a610
mov byte [esp + 0x78], 8
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4064e1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [esp + 0x18]
jmp 0x406541
push esi
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call fcn.00409ef0
jmp 0x406421
mov eax, dword [esp + 0x1c]
mov ecx, edi
mov esi, dword [eax + 0x114]
lea eax, [esp + 0x40]
push eax
call fcn.00416e00
push eax
push ecx
push esi
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x54]
push eax
mov ecx, esi
mov byte [esp + 0x88], 0xa
call fcn.0040a610
mov byte [esp + 0x78], 8
mov eax, dword [esp + 0x40]
test eax, eax
je 0x406541
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x78], 5
test edi, edi
je 0x406550
mov eax, dword [edi]
push edi
call dword [eax + 8]
add ebx, 4
cmp ebx, dword [esp + 0x28]
jne 0x406470
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x78], 2
test ebx, ebx
je 0x406574
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov esi, dword [edi + 0x13c]
mov dword [edi + 0x13c], 0
mov dword [edi + 0x138], 0
test esi, esi
je 0x4065b7
or ebx, 0xffffffff
lea eax, [esi + 4]
mov ecx, ebx
lock xadd dword [eax], ecx
jne 0x4065b7
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lea eax, [esi + 8]
lock xadd dword [eax], ebx
dec ebx
jne 0x4065b7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ebx, dword [esp + 0x38]
mov ecx, ebx
call fcn.00471a00
or dword [edi + 0x134], 8
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x3c]
je 0x4065dd
mov eax, dword [ecx]
push 1
call dword [eax + 0x104]
lea eax, [esp + 0x10]
mov ecx, edi
push eax
call fcn.00407780
mov byte [esp + 0x78], 0xe
mov esi, dword [esp + 0x10]
test esi, esi
je 0x40661c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x13c]
push eax
push ecx
call fcn.00409c60
add esp, 4
mov ecx, eax
call fcn.00456380
test eax, eax
je 0x40661c
mov dword [eax + 0x38], 0xffffffff
mov eax, dword [esp + 0x24]
cmp eax, ebx
jne 0x40663a
mov eax, dword [eax + 0x104]
or dword [eax + 0x134], 8
mov ecx, dword [esp + 0x24]
call fcn.004b1100
mov byte [esp + 0x78], 2
test esi, esi
je 0x406666
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x406666
cmp dword [ebp + 0xc], 0xffffffff
jne 0x406666
mov ecx, ebx
call fcn.0040a030
mov ecx, esi
call fcn.00471a00
or dword [edi + 0x134], 8
mov ecx, dword [0x6403e0]
test ecx, ecx
jne 0x4066a2
push 0x438
call fcn.00551c81
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x78], 0xf
test eax, eax
je 0x406695
mov ecx, eax
call fcn.00485ee0
mov ecx, eax
jmp 0x406697
xor ecx, ecx
mov byte [esp + 0x78], 2
mov dword [0x6403e0], ecx
mov eax, dword [ecx + 0x104]
test eax, eax
je 0x4066bc
mov dword [ecx + 0x104], 0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [esp + 0x10]
mov ecx, edi
push eax
call fcn.0040ba00
mov byte [esp + 0x78], 0x10
mov ecx, dword [eax]
push 0
mov eax, dword [ecx]
call dword [eax + 0xb4]
mov byte [esp + 0x78], 2
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4066ec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [esp + 0x10]
mov ecx, edi
push eax
call fcn.0040ba20
mov byte [esp + 0x78], 0x11
mov ecx, dword [eax]
push 0
mov eax, dword [ecx]
call dword [eax + 0xb4]
mov byte [esp + 0x78], 2
mov eax, dword [esp + 0x10]
test eax, eax
je 0x40671c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [edi + 0x9c], 0
jne 0x406746
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x8c]
test eax, eax
je 0x40673c
mov ecx, dword [edi + 0x40]
push edi
call fcn.004c2310
mov dword [edi + 0x9c], 1
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x8c]
test eax, eax
je 0x40676a
mov ecx, dword [edi + 0x40]
sub esp, 0x10
movdqu xmm0, xmmword [edi + 0x54]
mov eax, esp
mov edx, dword [ecx]
movdqu xmmword [eax], xmm0
call dword [edx + 0x2c]
mov byte [esp + 0x78], 0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x40677d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x78], 0xffffffff
test ecx, ecx
je 0x406792
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor eax, eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.0055199a
mov esp, ebp
pop ebp
ret 0x10