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

Disassembly:
push 0xffffffffffffffff
push 0x4e6918
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push 2
mov dword [esp + 0x24], esi
mov dword [esp + 0x48], ebp
call fcn.00445f00
add esp, 4
cmp eax, ebp
mov dword [esp + 0x44], eax
je 0x469e7b
mov word [eax], bp
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], ebp
cmp dword [esp + 0x74], ebp
mov dword [esp + 0x68], ebp
jne 0x469ed2
push esi
call fcn.0041fca8
mov eax, dword [esi + 0x2c]
add esp, 4
cmp eax, ebp
mov dword [esp + 0x74], eax
jne 0x469ed2
mov eax, dword [esp + 0x44]
cmp eax, ebp
je 0x469eba
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 + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 0xc
mov ecx, dword [esp + 0x70]
mov ax, word [ecx]
push edi
xor edi, edi
cmp ax, bp
mov byte [esp + 0xf], 0
je 0x469f3c
cmp ax, 9
jb 0x469ef2
cmp ax, 0xd
jbe 0x469f3c
cmp ax, 0x20
je 0x469f3c
cmp ax, 0x2d
jne 0x469f06
or edi, 0x8000000
jmp 0x469f2d
cmp ax, 0x7c
jne 0x469f14
or edi, 0x10000000
jmp 0x469f2d
cmp ax, 0x2b
jne 0x469f22
or edi, 0x4000000
jmp 0x469f2d
cmp ax, 0x2e
jne 0x469f2d
mov byte [esp + 0xf], 1
add ecx, 2
mov dword [esp + 0x74], ecx
mov ax, word [ecx]
cmp ax, bp
jne 0x469ee6
xor edi, 0x18000000
mov dword [esp + 0x10], edi
mov ax, word [ecx]
cmp ax, 9
jb 0x469f55
cmp ax, 0xd
jbe 0x469f5b
cmp ax, 0x20
jne 0x469f64
add ecx, 2
mov dword [esp + 0x74], ecx
jmp 0x469f46
xor eax, eax
mov ax, word [ecx]
cmp ax, bp
mov edx, ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], edx
je 0x469f8e
cmp ax, 0x2c
je 0x469f8a
mov ax, word [edx + 2]
add edx, 2
cmp ax, bp
jne 0x469f78
mov dword [esp + 0x1c], edx
mov cx, word [edx]
mov word [edx], bp
mov esi, dword [esp + 0x74]
push ebx
mov bx, word [esi]
cmp bx, 0x2d
mov word [esp + 0x38], cx
jne 0x46a168
jmp 0x469fb0
mov eax, esi
mov ecx, str._center
mov edx, 6
lea esp, [esp]
movzx edi, word [eax]
movsx ebp, byte [ecx]
or edi, 0x20
or ebp, 0x20
add eax, 2
inc ecx
cmp ebp, edi
jne 0x469ffe
dec edx
jns 0x469fc0
mov ax, word [eax]
cmp ax, 9
jb 0x469fe6
cmp ax, 0xd
jbe 0x469ff1
cmp ax, 0x20
je 0x469ff1
test ax, ax
jne 0x469ffe
mov dword [esp + 0x24], 0x40000000
jmp 0x46a10d
mov eax, esi
mov ecx, str._right
mov edx, 5
lea ebx, [ebx]
movzx edi, word [eax]
movsx ebp, byte [ecx]
or edi, 0x20
or ebp, 0x20
add eax, 2
inc ecx
cmp ebp, edi
jne 0x46a04e
dec edx
jns 0x46a010
mov ax, word [eax]
cmp ax, 9
jb 0x46a036
cmp ax, 0xd
jbe 0x46a041
cmp ax, 0x20
je 0x46a041
test ax, ax
jne 0x46a04e
mov dword [esp + 0x24], 0x20000000
jmp 0x46a10d
mov eax, esi
mov ecx, str._vcenter
mov edx, 7
lea ebx, [ebx]
movzx edi, word [eax]
movsx ebp, byte [ecx]
or edi, 0x20
or ebp, 0x20
add eax, 2
inc ecx
cmp ebp, edi
jne 0x46a09c
dec edx
jns 0x46a060
mov ax, word [eax]
cmp ax, 9
jb 0x46a086
cmp ax, 0xd
jbe 0x46a091
cmp ax, 0x20
je 0x46a091
test ax, ax
jne 0x46a09c
mov eax, dword [esp + 0x14]
or eax, 0x2000000
jmp 0x46a109
mov eax, esi
mov ecx, str._rich
mov edx, 4
jmp 0x46a0b0
movzx edi, word [eax]
movsx ebp, byte [ecx]
or edi, 0x20
or ebp, 0x20
add eax, 2
inc ecx
cmp ebp, edi
jne 0x46a0ec
dec edx
jns 0x46a0b0
mov ax, word [eax]
cmp ax, 9
jb 0x46a0d6
cmp ax, 0xd
jbe 0x46a0e1
cmp ax, 0x20
je 0x46a0e1
test ax, ax
jne 0x46a0ec
mov eax, dword [esp + 0x14]
or eax, 0x800000
jmp 0x46a109
push 3
push esi
push 0x4f5d0c
call fcn.004403f0
add esp, 0xc
test al, al
je 0x46a10d
mov eax, dword [esp + 0x14]
or eax, 0x200000
mov dword [esp + 0x14], eax
test bx, bx
je 0x46a133
cmp bx, 9
jb 0x46a11e
cmp bx, 0xd
jbe 0x46a133
cmp bx, 0x20
je 0x46a133
add esi, 2
mov dword [esp + 0x78], esi
mov bx, word [esi]
test bx, bx
jne 0x46a112
mov ax, word [esi]
cmp ax, 9
jb 0x46a142
cmp ax, 0xd
jbe 0x46a148
cmp ax, 0x20
jne 0x46a151
add esi, 2
mov dword [esp + 0x78], esi
jmp 0x46a133
mov bx, word [esi]
cmp bx, 0x2d
je 0x469fb0
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
xor ebp, ebp
mov ax, word [esp + 0x38]
mov ebx, dword [esp + 0x24]
mov word [edx], ax
or edi, ebx
push 2
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], ebp
call fcn.00445f00
add esp, 4
cmp eax, ebp
mov dword [esp + 0x1c], eax
je 0x46a193
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 0x46a1ac
mov word [eax], bp
push 2
call fcn.00445f00
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x3c], ebp
je 0x46a1c6
mov word [ebp], 0
push 2
call fcn.00445f00
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x20], ebx
je 0x46a1df
mov word [ebx], 0
push 0x4ebd38
mov dword [esp + 0x48], 0
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 + 0x48], eax
mov eax, dword [esp + 0x84]
add esp, 4
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
mov eax, SysReAllocStringLen
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x78]
cmp word [eax], 0x2a
mov byte [esp + 0x70], 5
mov byte [esp + 0x80], 0
jne 0x46a29e
add eax, 2
mov byte [esp + 0x80], 1
mov dword [esp + 0x78], eax
je 0x46a29e
jmp 0x46a280
mov cx, word [eax]
cmp cx, 9
jb 0x46a28f
cmp cx, 0xd
jbe 0x46a295
cmp cx, 0x20
jne 0x46a29e
add eax, 2
mov dword [esp + 0x78], eax
jmp 0x46a280
mov esi, dword [esp + 0x28]
xor edi, edi
push edi
push 0x2c
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x84]
push edx
mov ecx, esi
call fcn.0043b730
mov eax, dword [esp + 0x78]
cmp word [eax], di
jne 0x46a36e
mov eax, dword [esp + 0x44]
cmp eax, edi
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x46a2e4
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push edi
push ecx
call esi
cmp ebx, edi
mov dword [esp + 0x44], edi
je 0x46a2fa
mov edx, dword [0x51927c]
add ebx, 0xfffffff8
push ebx
push edi
push edx
call esi
cmp ebp, edi
je 0x46a30b
mov eax, dword [0x51927c]
add ebp, 0xfffffff8
push ebp
push edi
push eax
call esi
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x46a321
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 0x46a33b
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push edi
push edx
call esi
mov eax, dword [esp + 0x4c]
cmp eax, edi
mov dword [esp + 0x1c], edi
je 0x46a354
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push edi
push eax
call esi
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 0xc
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x44]
push ecx
push 1
push 0x2c
lea edx, [esp + 0x90]
push edx
lea ecx, [esp + 0x68]
call fcn.0045a420
push eax
call fcn.0045d3f0
mov eax, dword [esp + 0x8c]
add esp, 0x14
cmp word [eax], 0x2c
jne 0x46a3dd
push 1
mov ebx, eax
push 0x2c
lea ecx, [esp + 0x80]
push ecx
add ebx, 2
lea ecx, [esp + 0x58]
mov dword [esp + 0x84], ebx
call fcn.0045a420
push edi
lea edx, [esp + 0x1c]
push edx
push eax
call fcn.00449500
add esp, 0xc
mov eax, dword [esp + 0x78]
cmp word [eax], di
je 0x46a409
push edi
push 0x2c
lea ecx, [esp + 0x4c]
mov ebp, eax
push ecx
lea edx, [esp + 0x84]
add ebp, 2
push edx
mov ecx, esi
mov dword [esp + 0x88], ebp
call fcn.0043b730
mov ebp, dword [esp + 0x44]
xor edi, edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], edi
push ebp
mov byte [esp + 0x74], 6
call fcn.0042063d
mov ebx, dword [esp + 0x48]
mov esi, eax
add esp, 4
cmp esi, edi
mov dword [esp + 0x44], edi
je 0x46a45d
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edi, [eax + eax + 2]
push edi
call fcn.00445f00
mov ecx, edi
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add esp, 4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x44], eax
test ebx, ebx
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x46a475
mov eax, dword [0x51927c]
add ebx, 0xfffffff8
push ebx
push 0
push eax
call edi
test ebp, ebp
mov byte [esp + 0x70], 5
je 0x46a48d
mov ecx, dword [0x51927c]
add ebp, 0xfffffff8
push ebp
push 0
push ecx
call edi
mov edx, dword [esp + 0x78]
cmp word [edx], 0
je 0x46a4bb
push 1
push 0x2c
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x58]
call fcn.0045a420
mov eax, dword [eax]
push eax
call fcn.00449d70
add esp, 4
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x78]
cmp word [ecx], 0x2c
jne 0x46a532
mov edx, ecx
mov esi, 2
add edx, esi
push 1
mov dword [esp + 0x7c], edx
push 0x2c
lea edx, [esp + 0x80]
push edx
lea ecx, [esp + 0x58]
call fcn.0045a420
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.004495b0
mov edx, dword [esp + 0x80]
add esp, 8
cmp word [edx], 0x2c
jne 0x46a532
push 0x2c
lea eax, [esp + 0x24]
push eax
mov ecx, edx
add ecx, esi
push 1
mov dword [esp + 0x84], ecx
push 0x2c
lea ecx, [esp + 0x88]
push ecx
lea ecx, [esp + 0x60]
call fcn.0045a420
push eax
call fcn.00449370
add esp, 0xc
mov ebx, dword [esp + 0x24]
mov eax, SysReAllocStringLen
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
mov al, byte [esp + 0x13]
xor ebp, ebp
test al, al
mov esi, ebx
jne 0x46a56a
mov edx, dword [esp + 0x18]
push ebp
push edx
call fcn.00422709
mov eax, dword [esp + 0x1c]
add esp, 8
or eax, 0x1000000
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
cmp word [eax], bp
jne 0x46a58a
mov eax, dword [esp + 0x44]
cmp word [eax], bp
je 0x46a58a
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.00449e00
add esp, 8
cmp bx, bp
mov edx, dword [esp + 0x44]
mov word [edx], bp
jle 0x46a5a0
test bl, 7
je 0x46a5a0
or ebx, 8
mov esi, ebx
mov eax, dword [esp + 0x58]
and esi, 0xfffffffe
or esi, 4
cmp eax, ebp
jl 0x46a5bd
cmp dword [esp + 0x5c], ebp
jge 0x46a5bd
mov eax, dword [0x515340]
mov dword [esp + 0x5c], eax
mov al, byte [esp + 0x80]
test al, al
je 0x46a5ce
mov eax, dword [esp + 0x28]
jmp 0x46a5d8
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx + 0x13c]
mov ebx, dword [esp + 0x20]
push ebx
movzx ecx, si
or ecx, dword [esp + 0x18]
lea edx, [esp + 0x5c]
push edx
push ecx
lea edx, [esp + 0x50]
push edx
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x54]
push edx
push ecx
mov ecx, dword [esp + 0xa0]
lea edx, [esp + 0x40]
push edx
push eax
call fcn.00446660
mov eax, dword [esp + 0x44]
cmp eax, ebp
je 0x46a62f
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push ebp
push eax
call edi
cmp ebx, ebp
mov dword [esp + 0x44], ebp
je 0x46a645
mov ecx, dword [0x51927c]
add ebx, 0xfffffff8
push ebx
push ebp
push ecx
call edi
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x46a65b
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push ebp
push edx
call edi
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x46a670
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push ebp
push eax
call edi
mov eax, dword [esp + 0x1c]
cmp eax, ebp
mov dword [esp + 0x18], ebp
je 0x46a68a
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push ebp
push ecx
call edi
mov eax, dword [esp + 0x4c]
cmp eax, ebp
mov dword [esp + 0x1c], ebp
je 0x46a6a4
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push ebp
push edx
call edi
mov ecx, dword [esp + 0x68]
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
mov dword fs:[0], ecx
add esp, 0x64
ret 0xc