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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
and dword [ebp - 4], 0
mov ebx, dword [esi + 0x28]
mov edi, dword [esi + 0x30]
and dword [esi + 0x50], 0
mov dword [ebp - 0x38], edi
mov eax, dword [ebx]
mov ecx, dword [edi + 0x34]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], ecx
mov eax, dword [eax]
mov dword [ebp - 0x34], ebx
mov ecx, eax
and ecx, 0x20000000
jne 0x6601fe19
test ah, 1
jne 0x6601fe19
cmp dword [ebp + 0x10], 0
jne 0x6601faf6
mov edx, dword [ebx]
test byte [edx + 3], 8
je 0x6601faf6
mov edx, dword [edi + 0x58]
test byte [edx + 0x99], 0x20
jne 0x6601fe19
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x6601fdb3
mov eax, dword [ebp - 0x10]
and dword [ebp + 8], 0
and dword [ebp - 0xc], 0
mov eax, dword [eax + 0x18]
test eax, eax
je 0x6601fb1e
lea ecx, [ebp - 0xc]
push ecx
lea ecx, [ebp + 8]
push ecx
push esi
call eax
mov eax, dword [edi + 0x58]
test byte [eax + 0x99], 0x10
jne 0x66034b88
test eax, eax
je 0x6601fb4a
mov eax, dword [eax + 0x74]
mov eax, dword [eax]
mov al, byte [eax + 0x37]
cmp al, 0x1d
je 0x66034b88
cmp al, 0x1f
je 0x66034b88
cmp dword [ebp - 4], 0
jne 0x6601fdc6
cmp esi, dword [edi + 0xa0]
jne 0x66034b99
mov ecx, dword [edi + 0x1c]
lea eax, [edi + 0x1c]
push eax
call dword [ecx + 0x18]
test eax, eax
mov dword [ebp - 4], eax
je 0x66034b91
mov eax, dword [esi + 0x24]
mov ecx, eax
shr ecx, 7
test cl, 1
je 0x6601fb86
or byte [ebp + 0xb], 2
test eax, 0x800000
je 0x66034ba6
test byte [ebx + 0x2c], 8
je 0x6601fde1
mov eax, dword [ebx]
mov al, byte [eax + 0x37]
cmp al, 0x15
je 0x66034bc7
test byte [esi + 0x13c], 8
je 0x6601fde1
mov dword [ebp - 0x1c], 1
push dword [ebp - 0x1c]
lea eax, [ebp - 0xf0]
push 0x81
push eax
push ebx
call fcn.6601ffc7
test byte [ebx + 0x2c], 1
je 0x6601fdea
mov eax, dword [ebp - 0x20]
mov dword [eax + 0xe48], esi
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov eax, 0x8000000
test dword [ecx], eax
je 0x6601fc05
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx + 0x58]
test byte [ecx + 0x99], 0x10
jne 0x66034be1
cmp dword [ebp + 0x10], 0
jne 0x6601fc4c
mov ecx, dword [ebp - 0x10]
test dword [ecx], eax
je 0x6601fc4c
mov eax, dword [esi + 0x30]
test byte [eax + 0x20], 0x10
lea eax, [ebp - 0x30]
push eax
je 0x66034c9d
push esi
call fcn.66020159
push dword [ebp - 0xc]
push esi
call fcn.660201f0
push eax
lea eax, [ebp - 0x30]
push dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_AdjustWindowRectEx]
lea eax, [ebp - 0x30]
lea ecx, [esi + 0x58]
push eax
call fcn.66020212
mov edx, dword [0x6610f700]
mov ecx, dword [esi + 0x58]
call fcn.660201d2
mov edx, dword [0x6610f6fc]
mov ecx, dword [esi + 0x5c]
mov ebx, eax
call fcn.660201d2
mov edx, dword [0x6610f700]
mov ecx, dword [esi + 0x60]
mov dword [ebp - 8], eax
call fcn.660201d2
mov edx, dword [0x6610f6fc]
mov ecx, dword [esi + 0x64]
mov dword [ebp - 0x14], eax
call fcn.660201d2
mov ecx, 0xffffc000
mov dword [ebp - 0x18], eax
cmp ebx, ecx
mov eax, 0x3fff
jl 0x66034cab
cmp ebx, eax
jg 0x66034cb2
cmp dword [ebp - 8], ecx
jl 0x66034cb9
cmp dword [ebp - 8], eax
jg 0x66034cc1
cmp dword [ebp - 0x14], eax
jg 0x66034cc9
cmp dword [ebp - 0x18], eax
jg 0x66034cd1
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
test byte [eax + 3], 8
je 0x6601fce8
push esi
call fcn.66020257
cmp ax, 3
je 0x66034cd9
mov eax, dword [ebp - 0x34]
mov ax, word [eax + 8]
test ax, ax
je 0x66034ce8
cmp dword [ebp - 0x1c], 0
je 0x6601fdfd
mov eax, dword [ebp - 0x34]
movzx edi, word [eax + 0xa]
push 0
push dword [0x6610f6c8]
push dword [ebp + 0xc]
call fcn.66020276
push eax
push dword [ebp - 4]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 8]
push ebx
push dword [ebp + 8]
push dword [esi + 0x84]
push edi
push dword [ebp - 0xc]
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov edi, eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
test byte [eax + 3], 8
je 0x6601fd57
push esi
call fcn.66020257
cmp ax, 3
je 0x66034cf3
test edi, edi
mov dword [esi + 0x3c], edi
je 0x66034d0f
mov eax, dword [ebp - 0x20]
or byte [esi + 0x27], 1
and dword [eax + 0xe48], 0
test edi, edi
je 0x66034d26
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x6601fe05
test byte [esi + 0x24], 0x60
jne 0x66034d56
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
sar eax, 0x1f
test al, al
je 0x6601fe50
cmp dword [ebp + 0x10], 0
push esi
jne 0x66034d6b
push edi
call fcn.66021436
jmp 0x6601fe50
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x66034b7e
mov dword [ebp - 4], eax
jmp 0x6601fb01
mov eax, dword [esi + 0x24]
or byte [ebp + 0xb], 0x44
shr eax, 0x10
test al, 1
je 0x6601fb75
or byte [ebp + 0xa], 1
jmp 0x6601fb75
and dword [ebp - 0x1c], 0
jmp 0x6601fbbc
push ebx
call fcn.6602002f
test eax, eax
jge 0x6601fbdb
jmp 0x66034d33
movzx edi, ax
jmp 0x6601fd09
mov ecx, dword [eax + 0x28]
mov ecx, dword [ecx]
cmp byte [ecx + 0x37], 0x13
jne 0x6601fd83
jmp 0x66034d3e
mov edx, eax
shl edx, 0x17
sar edx, 0x1f
test dl, dl
je 0x6601fe6b
mov edx, dword [0x6610f6fc]
mov ecx, dword [esi + 0x5c]
call fcn.660201d2
mov edx, dword [0x6610f700]
mov ecx, dword [esi + 0x58]
mov dword [esi + 0x6c], eax
call fcn.660201d2
push dword [ebp + 0xc]
mov dword [esi + 0x68], eax
push esi
call fcn.6602210b
cmp dword [esi + 0x78], 0
je 0x6601fe62
test byte [esi + 0x27], 0x10
jne 0x6601fe62
push esi
call fcn.6602169e
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc
test ecx, ecx
jne 0x6601fe50
jmp 0x66034d75
call fcn.6609a8f5
jmp 0x6601fdbe
and dword [ebp - 0xc], 0xfffffffb
jmp 0x6601fb4a
push 7
pop eax
jmp 0x6601fe64
call fcn.66014495
mov dword [ebp - 4], eax
jmp 0x6601fb75
cmp dword [0x6610f730], 0
je 0x66034bbe
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
cmp byte [eax + 0x37], 8
je 0x6601fb91
or byte [ebp + 0xb], 8
jmp 0x6601fb91
test byte [esi + 0x134], 4
jne 0x6601fbb5
cmp al, al
jne 0x6601fba8
jmp 0x6601fde1
mov eax, dword [esi + 0x84]
mov edi, SysReAllocStringLen
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x6610f6c8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
push esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], edi
call fcn.660711d8
movsx eax, ax
cmp eax, 2
je 0x66034c1f
cmp eax, 5
jne 0x66034c70
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x48], edi
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [esi + 0x30]
push 0
push 0x220
mov eax, dword [eax + 0x2c]
push dword [eax + 0x3c]
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
test edi, edi
je 0x66034c55
push 0
push edi
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
push esi
call fcn.66071221
push 0xffffffffffffffec
push edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, dword [ebp - 0xc]
push eax
push 0xffffffffffffffec
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x6601fd57
lea eax, [ebp - 0x30]
push eax
push esi
call fcn.66020159
push 0
lea eax, [ebp - 0x30]
push dword [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_AdjustWindowRect]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
jmp 0x66034c25
push dword [ebp - 4]
push esi
call fcn.660713ca
jmp 0x6601fc40
mov ebx, ecx
jmp 0x6601fca9
mov ebx, eax
jmp 0x6601fca9
mov dword [ebp - 8], ecx
jmp 0x6601fcbb
mov dword [ebp - 8], eax
jmp 0x6601fcbb
mov dword [ebp - 0x14], eax
jmp 0x6601fcc4
mov dword [ebp - 0x18], eax
jmp 0x6601fccd
mov edi, SysReAllocStringLen
mov dword [ebp - 8], edi
mov ebx, edi
jmp 0x6601fce8
lea edi, [ebp - 0xf0]
jmp 0x6601fd09
lea eax, [ebp - 0x6c]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x6c]
lea ecx, [esi + 0x58]
push eax
call fcn.66020212
jmp 0x6601fd57
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xa0], esi
jne 0x6601fd62
and dword [eax + 0x40], edi
jmp 0x6601fd62
call fcn.66072d39
test eax, eax
jge 0x6601fe62
push eax
call fcn.6607268f
jmp 0x6601fe64
test byte [eax + 0x163], 8
je 0x6601fd83
push esi
call fcn.6606f041
jmp 0x6601fd83
push 1
push esi
call fcn.660cdc8f
test eax, eax
jl 0x66034d2b
or byte [esi + 0x27], 8
jmp 0x6601fd8d
call fcn.66074f5e
jmp 0x6601fe50
test eax, 0x80000000
je 0x6601fe50
lea eax, [ebp - 0x30]
push eax
push esi
call fcn.66020159
lea eax, [ebp - 0x30]
lea ecx, [esi + 0x58]
push eax
call fcn.66020212
push esi
push 0
jmp 0x6601fda9