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

Disassembly:
push 0xffffffffffffffff
push 0x4eacd8
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.00449130
add esp, 4
cmp eax, ebp
mov dword [esp + 0x40], eax
je 0x46b02b
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 0x46b082
push esi
call fcn.004216e2
mov esi, dword [esi + 0x2c]
add esp, 4
cmp esi, ebp
mov dword [esp + 0x70], esi
jne 0x46b082
mov eax, dword [esp + 0x40]
cmp eax, ebp
je 0x46b06a
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
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 0x46b115
cmp ax, 9
jb 0x46b0ad
cmp ax, 0xd
jbe 0x46b111
cmp ax, 0x20
je 0x46b111
cmp ax, 0x2d
jne 0x46b0c1
or ebx, 0x8000000
jmp 0x46b102
cmp ax, 0x7c
jne 0x46b0cf
or ebx, 0x10000000
jmp 0x46b102
cmp ax, 0x2b
jne 0x46b0dd
or ebx, 0x4000000
jmp 0x46b102
cmp ax, 0x2e
jne 0x46b0ea
mov byte [esp + 0xe], 1
jmp 0x46b102
cmp ax, 0x2a
jne 0x46b0f7
mov byte [esp + 0xd], 1
jmp 0x46b102
cmp ax, 0x3d
jne 0x46b102
mov byte [esp + 0xf], 1
add ecx, 2
mov dword [esp + 0x70], ecx
mov ax, word [ecx]
cmp ax, bp
jne 0x46b0a1
mov dword [esp + 0x10], ebx
mov ax, word [ecx]
cmp ax, 9
jb 0x46b124
cmp ax, 0xd
jbe 0x46b12a
cmp ax, 0x20
jne 0x46b133
add ecx, 2
mov dword [esp + 0x70], ecx
jmp 0x46b115
xor eax, eax
mov ax, word [ecx]
cmp ax, bp
mov edx, ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edx
je 0x46b15d
cmp ax, 0x2c
je 0x46b159
mov ax, word [edx + 2]
add edx, 2
cmp ax, bp
jne 0x46b147
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 0x46b357
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 0x46b1ce
dec edx
jns 0x46b190
mov ax, word [eax]
cmp ax, 9
jb 0x46b1b6
cmp ax, 0xd
jbe 0x46b1c1
cmp ax, 0x20
je 0x46b1c1
test ax, ax
jne 0x46b1ce
mov dword [esp + 0x28], 0x40000000
jmp 0x46b2fc
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 0x46b21e
dec edx
jns 0x46b1e0
mov ax, word [eax]
cmp ax, 9
jb 0x46b206
cmp ax, 0xd
jbe 0x46b211
cmp ax, 0x20
je 0x46b211
test ax, ax
jne 0x46b21e
mov dword [esp + 0x28], 0x20000000
jmp 0x46b2fc
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 0x46b26f
dec edx
jns 0x46b230
mov ax, word [eax]
cmp ax, 9
jb 0x46b256
cmp ax, 0xd
jbe 0x46b261
cmp ax, 0x20
je 0x46b261
test ax, ax
jne 0x46b26f
mov eax, dword [esp + 0x14]
or eax, 0x2000000
jmp 0x46b2f8
mov eax, esi
mov ecx, str._rich
mov edx, 4
jmp 0x46b280
movzx ebx, word [eax]
movsx ebp, byte [ecx]
or ebx, 0x20
or ebp, 0x20
add eax, 2
inc ecx
cmp ebp, ebx
jne 0x46b2bc
dec edx
jns 0x46b280
mov ax, word [eax]
cmp ax, 9
jb 0x46b2a6
cmp ax, 0xd
jbe 0x46b2b1
cmp ax, 0x20
je 0x46b2b1
test ax, ax
jne 0x46b2bc
mov eax, dword [esp + 0x14]
or eax, 0x800000
jmp 0x46b2f8
push 5
push esi
push str._nroc
call fcn.00444970
add esp, 0xc
test al, al
je 0x46b2db
mov eax, dword [esp + 0x14]
or eax, 0x400000
jmp 0x46b2f8
push 3
push esi
push 0x4fa17c
call fcn.00444970
add esp, 0xc
test al, al
je 0x46b2fc
mov eax, dword [esp + 0x14]
or eax, 0x200000
mov dword [esp + 0x14], eax
test di, di
je 0x46b322
cmp di, 9
jb 0x46b30d
cmp di, 0xd
jbe 0x46b322
cmp di, 0x20
je 0x46b322
add esi, 2
mov dword [esp + 0x74], esi
mov di, word [esi]
test di, di
jne 0x46b301
mov ax, word [esi]
cmp ax, 9
jb 0x46b331
cmp ax, 0xd
jbe 0x46b337
cmp ax, 0x20
jne 0x46b340
add esi, 2
mov dword [esp + 0x74], esi
jmp 0x46b322
mov di, word [esi]
cmp di, 0x2d
je 0x46b180
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.00449130
add esp, 4
cmp eax, ebp
mov dword [esp + 0x1c], eax
je 0x46b382
mov word [eax], bp
push 2
mov dword [esp + 0x1c], ebp
call fcn.00449130
add esp, 4
cmp eax, ebp
mov dword [esp + 0x18], eax
je 0x46b39b
mov word [eax], bp
push 2
call fcn.00449130
add esp, 4
cmp eax, ebp
mov dword [esp + 0x38], eax
je 0x46b3b0
mov word [eax], bp
push 2
call fcn.00449130
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x28], ebp
je 0x46b3ca
mov word [ebp], 0
xor ebx, ebx
push 0x4efd50
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.00449130
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov edi, eax
mov esi, 0x4efd50
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 0x46b475
add eax, 2
mov byte [esp + 0x7c], 1
mov dword [esp + 0x74], eax
je 0x46b475
mov cx, word [eax]
cmp cx, 9
jb 0x46b466
cmp cx, 0xd
jbe 0x46b46c
cmp cx, 0x20
jne 0x46b475
add eax, 2
mov dword [esp + 0x74], eax
jmp 0x46b457
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.0043de70
mov eax, dword [esp + 0x74]
cmp word [eax], di
jne 0x46b547
mov eax, dword [esp + 0x40]
cmp eax, edi
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x46b4b9
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push edi
push ecx
call esi
cmp ebp, edi
mov dword [esp + 0x40], edi
je 0x46b4cf
mov edx, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push edi
push edx
call esi
mov eax, dword [esp + 0x38]
cmp eax, edi
je 0x46b4e4
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push edi
push eax
call esi
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x46b4fa
mov ecx, dword [0x51d3c8]
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 0x46b514
mov edx, dword [0x51d3c8]
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 0x46b52d
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
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.00459430
push eax
call fcn.0045c3e0
mov eax, dword [esp + 0x88]
add esp, 0x14
cmp word [eax], 0x2c
jne 0x46b692
push 1
push 0x2c
lea ecx, [esp + 0x7c]
add eax, 2
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x80], eax
call fcn.00459430
push edi
lea edx, [esp + 0x1c]
push edx
push eax
call fcn.0044c900
mov eax, dword [esp + 0x80]
add esp, 0xc
cmp word [eax], 0x2c
jne 0x46b692
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.0044c950
mov eax, dword [esp + 0x80]
add esp, 0xc
cmp word [eax], 0x2c
jne 0x46b692
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.00459430
mov eax, dword [eax]
push eax
call fcn.0044d170
mov edx, dword [esp + 0x78]
add esp, 4
cmp word [edx], 0x2c
mov ebx, eax
jne 0x46b692
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.00459430
lea ecx, [esp + 0x54]
push ecx
push eax
call fcn.0044c9b0
mov edx, dword [esp + 0x7c]
add esp, 8
cmp word [edx], 0x2c
jne 0x46b692
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.00459430
push eax
call fcn.0044c770
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 0x46b70f
mov esi, dword [esp + 0x40]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x8e]
test cl, cl
mov byte [esp + 0x6c], 6
jne 0x46b6e4
test byte [eax + 0xb], 0xf
jne 0x46b6e4
push 1
push 0
lea edx, [esp + 0x48]
push edx
push esi
mov ecx, eax
call fcn.004541d0
jmp 0x46b6f7
mov ecx, dword [esp + 0x20]
push 1
push 0
lea eax, [esp + 0x48]
push eax
push esi
call fcn.00452ca0
test esi, esi
mov byte [esp + 0x6c], 5
je 0x46b70f
mov ecx, dword [0x51d3c8]
add esi, 0xfffffff8
push esi
push 0
push ecx
call edi
mov al, byte [esp + 0x12]
test al, al
jne 0x46b72b
test bl, 4
je 0x46b72b
mov edx, dword [esp + 0x18]
push 0
push edx
call fcn.00423b0c
add esp, 8
mov al, byte [esp + 0x13]
test al, al
je 0x46b745
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.0044d200
add esp, 8
cmp bx, 2
jne 0x46b752
mov ebx, 0x8000
jmp 0x46b75d
cmp bx, 3
jne 0x46b75d
mov ebx, 8
mov al, byte [esp + 0x7c]
test al, al
je 0x46b76b
mov eax, dword [esp + 0x20]
jmp 0x46b775
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.00449990
mov eax, dword [esp + 0x40]
xor esi, esi
cmp eax, esi
je 0x46b7cb
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push esi
push edx
call edi
cmp ebp, esi
mov dword [esp + 0x40], esi
je 0x46b7e0
mov eax, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push esi
push eax
call edi
mov eax, dword [esp + 0x38]
cmp eax, esi
je 0x46b7f6
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push esi
push ecx
call edi
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x46b80c
mov edx, dword [0x51d3c8]
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 0x46b825
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push esi
push eax
call edi
mov eax, dword [esp + 0x48]
cmp eax, esi
mov dword [esp + 0x1c], esi
je 0x46b83f
mov ecx, dword [0x51d3c8]
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