Function at 0x6601f7c5
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 0x6601fb4d
test ah, 1
jne 0x6601fb4d
cmp dword [ebp + 0x10], 0
jne 0x6601f82a
mov edx, dword [ebx]
test byte [edx + 3], 8
je 0x6601f82a
mov edx, dword [edi + 0x58]
test byte [edx + 0x99], 0x20
jne 0x6601fb4d
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x6601fae7
mov eax, dword [ebp - 0x10]
and dword [ebp + 8], 0
and dword [ebp - 0xc], 0
mov eax, dword [eax + 0x18]
test eax, eax
je 0x6601f852
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 0x66034e2f
test eax, eax
je 0x6601f87e
mov eax, dword [eax + 0x74]
mov eax, dword [eax]
mov al, byte [eax + 0x37]
cmp al, 0x1d
je 0x66034e2f
cmp al, 0x1f
je 0x66034e2f
cmp dword [ebp - 4], 0
jne 0x6601fafa
cmp esi, dword [edi + 0xa0]
jne 0x66034e40
mov ecx, dword [edi + 0x1c]
lea eax, [edi + 0x1c]
push eax
call dword [ecx + 0x18]
test eax, eax
mov dword [ebp - 4], eax
je 0x66034e38
mov eax, dword [esi + 0x24]
mov ecx, eax
shr ecx, 7
test cl, 1
je 0x6601f8ba
or byte [ebp + 0xb], 2
test eax, 0x800000
je 0x66034e4d
test byte [ebx + 0x2c], 8
je 0x6601fb15
mov eax, dword [ebx]
mov al, byte [eax + 0x37]
cmp al, 0x15
je 0x66034e6e
test byte [esi + 0x13c], 8
je 0x6601fb15
mov dword [ebp - 0x1c], 1
push dword [ebp - 0x1c]
lea eax, [ebp - 0xf0]
push 0x81
push eax
push ebx
call fcn.6601fcfb
test byte [ebx + 0x2c], 1
je 0x6601fb1e
mov eax, dword [ebp - 0x20]
mov dword [eax + 0xe08], esi
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov eax, 0x8000000
test dword [ecx], eax
je 0x6601f939
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx + 0x58]
test byte [ecx + 0x99], 0x10
jne 0x66034e88
cmp dword [ebp + 0x10], 0
jne 0x6601f980
mov ecx, dword [ebp - 0x10]
test dword [ecx], eax
je 0x6601f980
mov eax, dword [esi + 0x30]
test byte [eax + 0x20], 0x10
lea eax, [ebp - 0x30]
push eax
je 0x66034f44
push esi
call fcn.6601fe8d
push dword [ebp - 0xc]
push esi
call fcn.6601ff24
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.6601ff46
mov edx, dword [0x6610e6fc]
mov ecx, dword [esi + 0x58]
call fcn.6601ff06
mov edx, dword [0x6610e6f8]
mov ecx, dword [esi + 0x5c]
mov ebx, eax
call fcn.6601ff06
mov edx, dword [0x6610e6fc]
mov ecx, dword [esi + 0x60]
mov dword [ebp - 8], eax
call fcn.6601ff06
mov edx, dword [0x6610e6f8]
mov ecx, dword [esi + 0x64]
mov dword [ebp - 0x14], eax
call fcn.6601ff06
mov ecx, 0xffffc000
mov dword [ebp - 0x18], eax
cmp ebx, ecx
mov eax, 0x3fff
jl 0x66034f52
cmp ebx, eax
jg 0x66034f59
cmp dword [ebp - 8], ecx
jl 0x66034f60
cmp dword [ebp - 8], eax
jg 0x66034f68
cmp dword [ebp - 0x14], eax
jg 0x66034f70
cmp dword [ebp - 0x18], eax
jg 0x66034f78
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
test byte [eax + 3], 8
je 0x6601fa1c
push esi
call fcn.6601ff8b
cmp ax, 3
je 0x66034f80
mov eax, dword [ebp - 0x34]
mov ax, word [eax + 8]
test ax, ax
je 0x66034f8f
cmp dword [ebp - 0x1c], 0
je 0x6601fb31
mov eax, dword [ebp - 0x34]
movzx edi, word [eax + 0xa]
push 0
push dword [0x6610e6c8]
push dword [ebp + 0xc]
call fcn.6601ffaa
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 0x6601fa8b
push esi
call fcn.6601ff8b
cmp ax, 3
je 0x66034f9a
test edi, edi
mov dword [esi + 0x3c], edi
je 0x66034fb6
mov eax, dword [ebp - 0x20]
or byte [esi + 0x27], 1
and dword [eax + 0xe08], 0
test edi, edi
je 0x66034fcd
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x6601fb39
test byte [esi + 0x24], 0x60
jne 0x66034ffd
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
sar eax, 0x1f
test al, al
je 0x6601fb84
cmp dword [ebp + 0x10], 0
push esi
jne 0x66035012
push edi
call fcn.660212c4
jmp 0x6601fb84
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x66034e25
mov dword [ebp - 4], eax
jmp 0x6601f835
mov eax, dword [esi + 0x24]
or byte [ebp + 0xb], 0x44
shr eax, 0x10
test al, 1
je 0x6601f8a9
or byte [ebp + 0xa], 1
jmp 0x6601f8a9
and dword [ebp - 0x1c], 0
jmp 0x6601f8f0
push ebx
call fcn.6601fd63
test eax, eax
jge 0x6601f90f
jmp 0x66034fda
movzx edi, ax
jmp 0x6601fa3d
mov ecx, dword [eax + 0x28]
mov ecx, dword [ecx]
cmp byte [ecx + 0x37], 0x13
jne 0x6601fab7
jmp 0x66034fe5
mov edx, eax
shl edx, 0x17
sar edx, 0x1f
test dl, dl
je 0x6601fb9f
mov edx, dword [0x6610e6f8]
mov ecx, dword [esi + 0x5c]
call fcn.6601ff06
mov edx, dword [0x6610e6fc]
mov ecx, dword [esi + 0x58]
mov dword [esi + 0x6c], eax
call fcn.6601ff06
push dword [ebp + 0xc]
mov dword [esi + 0x68], eax
push esi
call fcn.66021f99
cmp dword [esi + 0x78], 0
je 0x6601fb96
test byte [esi + 0x27], 0x10
jne 0x6601fb96
push esi
call fcn.6602152c
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc
test ecx, ecx
jne 0x6601fb84
jmp 0x6603501c
call fcn.66099b88
jmp 0x6601faf2
and dword [ebp - 0xc], 0xfffffffb
jmp 0x6601f87e
push 7
pop eax
jmp 0x6601fb98
call fcn.660143aa
mov dword [ebp - 4], eax
jmp 0x6601f8a9
cmp dword [0x6610e72c], 0
je 0x66034e65
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
cmp byte [eax + 0x37], 8
je 0x6601f8c5
or byte [ebp + 0xb], 8
jmp 0x6601f8c5
test byte [esi + 0x134], 4
jne 0x6601f8e9
cmp al, al
jne 0x6601f8dc
jmp 0x6601fb15
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 [0x6610e6c8]
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.660709ef
movsx eax, ax
cmp eax, 2
je 0x66034ec6
cmp eax, 5
jne 0x66034f17
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 0x66034efc
push 0
push edi
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
push esi
call fcn.66070a38
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 0x6601fa8b
lea eax, [ebp - 0x30]
push eax
push esi
call fcn.6601fe8d
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 0x66034ecc
push dword [ebp - 4]
push esi
call fcn.66070be1
jmp 0x6601f974
mov ebx, ecx
jmp 0x6601f9dd
mov ebx, eax
jmp 0x6601f9dd
mov dword [ebp - 8], ecx
jmp 0x6601f9ef
mov dword [ebp - 8], eax
jmp 0x6601f9ef
mov dword [ebp - 0x14], eax
jmp 0x6601f9f8
mov dword [ebp - 0x18], eax
jmp 0x6601fa01
mov edi, SysReAllocStringLen
mov dword [ebp - 8], edi
mov ebx, edi
jmp 0x6601fa1c
lea edi, [ebp - 0xf0]
jmp 0x6601fa3d
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.6601ff46
jmp 0x6601fa8b
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xa0], esi
jne 0x6601fa96
and dword [eax + 0x40], edi
jmp 0x6601fa96
call fcn.66072549
test eax, eax
jge 0x6601fb96
push eax
call fcn.66071e9f
jmp 0x6601fb98
test byte [eax + 0x15b], 8
je 0x6601fab7
push esi
call fcn.6606e9b3
jmp 0x6601fab7
push 1
push esi
call fcn.660cca09
test eax, eax
jl 0x66034fd2
or byte [esi + 0x27], 8
jmp 0x6601fac1
call fcn.66074764
jmp 0x6601fb84
test eax, 0x80000000
je 0x6601fb84
lea eax, [ebp - 0x30]
push eax
push esi
call fcn.6601fe8d
lea eax, [ebp - 0x30]
lea ecx, [esi + 0x58]
push eax
call fcn.6601ff46
push esi
push 0
jmp 0x6601fadd