Function at 0x4695d0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4e68c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push 2
mov dword [esp + 0x1c], esi
mov dword [esp + 0x44], ebp
call fcn.00445f00
add esp, 4
cmp eax, ebp
mov dword [esp + 0x40], eax
je 0x46960b
mov word [eax], bp
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], ebp
cmp dword [esp + 0x70], ebp
mov dword [esp + 0x64], ebp
jne 0x469662
push esi
call fcn.0041fca8
mov esi, dword [esi + 0x2c]
add esp, 4
cmp esi, ebp
mov dword [esp + 0x70], esi
jne 0x469662
mov eax, dword [esp + 0x40]
cmp eax, ebp
je 0x46964a
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop esi
mov eax, 0x80070057
pop ebp
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
add esp, 0x60
ret 0xc
mov ecx, dword [esp + 0x6c]
mov ax, word [ecx]
push ebx
xor ebx, ebx
cmp ax, bp
mov dword [esp + 0x10], ebx
mov byte [esp + 0xe], bl
mov byte [esp + 0xd], bl
mov byte [esp + 0xf], bl
je 0x4696f5
cmp ax, 9
jb 0x46968d
cmp ax, 0xd
jbe 0x4696f1
cmp ax, 0x20
je 0x4696f1
cmp ax, 0x2d
jne 0x4696a1
or ebx, 0x8000000
jmp 0x4696e2
cmp ax, 0x7c
jne 0x4696af
or ebx, 0x10000000
jmp 0x4696e2
cmp ax, 0x2b
jne 0x4696bd
or ebx, 0x4000000
jmp 0x4696e2
cmp ax, 0x2e
jne 0x4696ca
mov byte [esp + 0xe], 1
jmp 0x4696e2
cmp ax, 0x2a
jne 0x4696d7
mov byte [esp + 0xd], 1
jmp 0x4696e2
cmp ax, 0x3d
jne 0x4696e2
mov byte [esp + 0xf], 1
add ecx, 2
mov dword [esp + 0x70], ecx
mov ax, word [ecx]
cmp ax, bp
jne 0x469681
mov dword [esp + 0x10], ebx
mov ax, word [ecx]
cmp ax, 9
jb 0x469704
cmp ax, 0xd
jbe 0x46970a
cmp ax, 0x20
jne 0x469713
add ecx, 2
mov dword [esp + 0x70], ecx
jmp 0x4696f5
xor eax, eax
mov ax, word [ecx]
cmp ax, bp
mov edx, ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edx
je 0x46973d
cmp ax, 0x2c
je 0x469739
mov ax, word [edx + 2]
add edx, 2
cmp ax, bp
jne 0x469727
mov dword [esp + 0x20], edx
mov cx, word [edx]
mov word [edx], bp
mov esi, dword [esp + 0x70]
push edi
mov di, word [esi]
cmp di, 0x2d
mov word [esp + 0x38], cx
jne 0x469937
lea ebx, [ebx]
mov eax, esi
mov ecx, str._center
mov edx, 6
lea esp, [esp]
movzx ebx, word [eax]
movsx ebp, byte [ecx]
or ebx, 0x20
or ebp, 0x20
add eax, 2
inc ecx
cmp ebp, ebx
jne 0x4697ae
dec edx
jns 0x469770
mov ax, word [eax]
cmp ax, 9
jb 0x469796
cmp ax, 0xd
jbe 0x4697a1
cmp ax, 0x20
je 0x4697a1
test ax, ax
jne 0x4697ae
mov dword [esp + 0x28], 0x40000000
jmp 0x4698dc
mov eax, esi
mov ecx, str._right
mov edx, 5
lea ebx, [ebx]
movzx ebx, word [eax]
movsx ebp, byte [ecx]
or ebx, 0x20
or ebp, 0x20
add eax, 2
inc ecx
cmp ebp, ebx
jne 0x4697fe
dec edx
jns 0x4697c0
mov ax, word [eax]
cmp ax, 9
jb 0x4697e6
cmp ax, 0xd
jbe 0x4697f1
cmp ax, 0x20
je 0x4697f1
test ax, ax
jne 0x4697fe
mov dword [esp + 0x28], 0x20000000
jmp 0x4698dc
mov eax, esi
mov ecx, str._vcenter
mov edx, 7
lea ebx, [ebx]
movzx ebx, word [eax]
movsx ebp, byte [ecx]
or ebx, 0x20
or ebp, 0x20
add eax, 2
inc ecx
cmp ebp, ebx
jne 0x46984f
dec edx
jns 0x469810
mov ax, word [eax]
cmp ax, 9
jb 0x469836
cmp ax, 0xd
jbe 0x469841
cmp ax, 0x20
je 0x469841
test ax, ax
jne 0x46984f
mov eax, dword [esp + 0x14]
or eax, 0x2000000
jmp 0x4698d8
mov eax, esi
mov ecx, str._rich
mov edx, 4
jmp 0x469860
movzx ebx, word [eax]
movsx ebp, byte [ecx]
or ebx, 0x20
or ebp, 0x20
add eax, 2
inc ecx
cmp ebp, ebx
jne 0x46989c
dec edx
jns 0x469860
mov ax, word [eax]
cmp ax, 9
jb 0x469886
cmp ax, 0xd
jbe 0x469891
cmp ax, 0x20
je 0x469891
test ax, ax
jne 0x46989c
mov eax, dword [esp + 0x14]
or eax, 0x800000
jmp 0x4698d8
push 5
push esi
push str._nroc
call fcn.004403f0
add esp, 0xc
test al, al
je 0x4698bb
mov eax, dword [esp + 0x14]
or eax, 0x400000
jmp 0x4698d8
push 3
push esi
push 0x4f5d0c
call fcn.004403f0
add esp, 0xc
test al, al
je 0x4698dc
mov eax, dword [esp + 0x14]
or eax, 0x200000
mov dword [esp + 0x14], eax
test di, di
je 0x469902
cmp di, 9
jb 0x4698ed
cmp di, 0xd
jbe 0x469902
cmp di, 0x20
je 0x469902
add esi, 2
mov dword [esp + 0x74], esi
mov di, word [esi]
test di, di
jne 0x4698e1
mov ax, word [esi]
cmp ax, 9
jb 0x469911
cmp ax, 0xd
jbe 0x469917
cmp ax, 0x20
jne 0x469920
add esi, 2
mov dword [esp + 0x74], esi
jmp 0x469902
mov di, word [esi]
cmp di, 0x2d
je 0x469760
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
xor ebp, ebp
mov ax, word [esp + 0x38]
mov edi, dword [esp + 0x28]
mov word [edx], ax
or ebx, edi
push 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebp
call fcn.00445f00
add esp, 4
cmp eax, ebp
mov dword [esp + 0x1c], eax
je 0x469962
mov word [eax], bp
push 2
mov dword [esp + 0x1c], ebp
call fcn.00445f00
add esp, 4
cmp eax, ebp
mov dword [esp + 0x18], eax
je 0x46997b
mov word [eax], bp
push 2
call fcn.00445f00
add esp, 4
cmp eax, ebp
mov dword [esp + 0x38], eax
je 0x469990
mov word [eax], bp
push 2
call fcn.00445f00
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x28], ebp
je 0x4699aa
mov word [ebp], 0
xor ebx, ebx
push 0x4ebd38
mov dword [esp + 0x44], ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax + eax + 2]
lea ecx, [esi + 2]
push ecx
call fcn.00445f00
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov edi, eax
mov esi, 0x4ebd38
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x80]
add esp, 4
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x74]
mov esi, SysReAllocStringLen
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
cmp word [eax], 0x2a
mov byte [esp + 0x6c], 5
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x7c], bl
jne 0x469a55
add eax, 2
mov byte [esp + 0x7c], 1
mov dword [esp + 0x74], eax
je 0x469a55
mov cx, word [eax]
cmp cx, 9
jb 0x469a46
cmp cx, 0xd
jbe 0x469a4c
cmp cx, 0x20
jne 0x469a55
add eax, 2
mov dword [esp + 0x74], eax
jmp 0x469a37
xor edi, edi
push edi
push 0x2c
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x80]
push edx
call fcn.0043b730
mov eax, dword [esp + 0x74]
cmp word [eax], di
jne 0x469b27
mov eax, dword [esp + 0x40]
cmp eax, edi
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x469a99
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push edi
push ecx
call esi
cmp ebp, edi
mov dword [esp + 0x40], edi
je 0x469aaf
mov edx, dword [0x51927c]
add ebp, 0xfffffff8
push ebp
push edi
push edx
call esi
mov eax, dword [esp + 0x38]
cmp eax, edi
je 0x469ac4
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push edi
push eax
call esi
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x469ada
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push edi
push ecx
call esi
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x469af4
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push edi
push edx
call esi
mov eax, dword [esp + 0x48]
cmp eax, edi
mov dword [esp + 0x1c], edi
je 0x469b0d
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push edi
push eax
call esi
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
add esp, 0x60
ret 0xc
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x40]
push ecx
push 1
push 0x2c
lea edx, [esp + 0x8c]
push edx
lea ecx, [esp + 0x64]
call fcn.0045a420
push eax
call fcn.0045d3f0
mov eax, dword [esp + 0x88]
add esp, 0x14
cmp word [eax], 0x2c
jne 0x469c72
push 1
push 0x2c
lea ecx, [esp + 0x7c]
add eax, 2
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x80], eax
call fcn.0045a420
push edi
lea edx, [esp + 0x1c]
push edx
push eax
call fcn.00449500
mov eax, dword [esp + 0x80]
add esp, 0xc
cmp word [eax], 0x2c
jne 0x469c72
mov ecx, eax
mov edi, 2
add ecx, edi
mov dword [esp + 0x74], ecx
push 0x2c
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x7c]
push edx
call fcn.00449550
mov eax, dword [esp + 0x80]
add esp, 0xc
cmp word [eax], 0x2c
jne 0x469c72
push 1
mov edx, eax
push 0x2c
lea ecx, [esp + 0x7c]
add edx, edi
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x80], edx
call fcn.0045a420
mov eax, dword [eax]
push eax
call fcn.00449d70
mov edx, dword [esp + 0x78]
add esp, 4
cmp word [edx], 0x2c
mov ebx, eax
jne 0x469c72
mov ecx, edx
push 1
add ecx, edi
push 0x2c
lea eax, [esp + 0x7c]
mov dword [esp + 0x7c], ecx
push eax
lea ecx, [esp + 0x54]
call fcn.0045a420
lea ecx, [esp + 0x54]
push ecx
push eax
call fcn.004495b0
mov edx, dword [esp + 0x7c]
add esp, 8
cmp word [edx], 0x2c
jne 0x469c72
push 0x2c
lea eax, [esp + 0x2c]
push eax
push 1
mov ebp, edx
push 0x2c
lea ecx, [esp + 0x84]
push ecx
add ebp, edi
lea ecx, [esp + 0x5c]
mov dword [esp + 0x88], ebp
call fcn.0045a420
push eax
call fcn.00449370
mov ebp, dword [esp + 0x34]
add esp, 0xc
mov al, byte [esp + 0x11]
test al, al
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], esi
je 0x469cef
mov esi, dword [esp + 0x40]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x8a]
test cl, cl
mov byte [esp + 0x6c], 6
jne 0x469cc4
test byte [eax + 0xb], 0xf
jne 0x469cc4
push 1
push 0
lea edx, [esp + 0x48]
push edx
push esi
mov ecx, eax
call fcn.004531a0
jmp 0x469cd7
mov ecx, dword [esp + 0x20]
push 1
push 0
lea eax, [esp + 0x48]
push eax
push esi
call fcn.00451c30
test esi, esi
mov byte [esp + 0x6c], 5
je 0x469cef
mov ecx, dword [0x51927c]
add esi, 0xfffffff8
push esi
push 0
push ecx
call edi
mov al, byte [esp + 0x12]
test al, al
jne 0x469d0b
test bl, 4
je 0x469d0b
mov edx, dword [esp + 0x18]
push 0
push edx
call fcn.00422709
add esp, 8
mov al, byte [esp + 0x13]
test al, al
je 0x469d25
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.00449e00
add esp, 8
cmp bx, 2
jne 0x469d32
mov ebx, 0x8000
jmp 0x469d3d
cmp bx, 3
jne 0x469d3d
mov ebx, 8
mov al, byte [esp + 0x7c]
test al, al
je 0x469d4b
mov eax, dword [esp + 0x20]
jmp 0x469d55
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0x13c]
push ebp
movzx edx, bx
or edx, dword [esp + 0x18]
lea ecx, [esp + 0x58]
push ecx
push edx
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x50]
push ecx
push edx
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0xa0]
push eax
call fcn.00446660
mov eax, dword [esp + 0x40]
xor esi, esi
cmp eax, esi
je 0x469dab
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push esi
push edx
call edi
cmp ebp, esi
mov dword [esp + 0x40], esi
je 0x469dc0
mov eax, dword [0x51927c]
add ebp, 0xfffffff8
push ebp
push esi
push eax
call edi
mov eax, dword [esp + 0x38]
cmp eax, esi
je 0x469dd6
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push esi
push ecx
call edi
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x469dec
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push esi
push edx
call edi
mov eax, dword [esp + 0x1c]
cmp eax, esi
mov dword [esp + 0x18], esi
je 0x469e05
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push esi
push eax
call edi
mov eax, dword [esp + 0x48]
cmp eax, esi
mov dword [esp + 0x1c], esi
je 0x469e1f
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push esi
push ecx
call edi
mov ecx, dword [esp + 0x64]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
mov dword fs:[0], ecx
add esp, 0x60
ret 0xc