Function at 0x4e7fb0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
push edi
push esi
push ebx
mov esi, ecx
mov ebx, eax
sub esp, 0x2c
test edx, edx
mov eax, dword [eax]
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
je 0x4e7fe6
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
mov eax, dword [ebx]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
mov edx, dword [ebx]
lea eax, [edx + eax*2]
mov dword [ebx], eax
cmp dword [esp + 0x40], 0x2714
je 0x4e80e0
jle 0x4e80b0
cmp dword [esp + 0x40], 0x2716
je 0x4e8930
jl 0x4e8770
cmp dword [esp + 0x40], 0x277b
jne 0x4e810b
mov dword [esp + 4], 0x5fb506
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
mov eax, dword [ebx]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
mov edx, dword [ebx]
mov ecx, 0x3a
lea edx, [edx + eax*2]
lea eax, [edx + 2]
mov dword [ebx], eax
mov word [edx], cx
mov edx, esi
and edx, 0x300
mov dword [esp + 0x10], edx
jne 0x4e87a0
mov edx, dword [esp + 0x40]
mov ecx, eax
mov ebp, 0xffffffff
and edx, 0xfffffffd
cmp edx, 0x2711
jne 0x4e81d0
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
mov ebp, 0xffffffff
movzx edx, word [edx + edx + 0x5fb49c]
lea eax, [ecx + 2]
test esi, 0x3c00
mov dword [ebx], eax
mov word [ecx], dx
mov edx, 0xffffffff
cmove ebp, edx
jmp 0x4e8491
cmp dword [esp + 0x40], 0x2712
je 0x4e8900
jg 0x4e80f9
cmp dword [esp + 0x40], 0x2711
jne 0x4e810b
mov dword [esp + 4], str.user
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
mov eax, dword [ebx]
jmp 0x4e810b
test esi, 0x3c00
mov ebp, 0xffffffff
mov dword [esp + 0x48], 0
jne 0x4e89b0
mov dword [esp + 4], 0x5fb4e4
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
mov eax, dword [ebx]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
mov edx, dword [ebx]
lea eax, [edx + eax*2]
mov edx, 0x3a
lea ecx, [eax + 2]
mov dword [ebx], ecx
mov word [eax], dx
mov eax, esi
and eax, 0x300
mov dword [esp + 0x10], eax
jne 0x4e8464
mov eax, dword [esp + 0x40]
and eax, 0xfffffffd
cmp eax, 0x2711
jne 0x4e81d0
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4e8470
test ebp, ebp
js 0x4e8a40
mov eax, ebp
mov edx, 0x66666667
imul edx
mov eax, ebp
sar eax, 0x1f
mov dword [esp + 0x1c], eax
sar edx, 2
sub edx, eax
lea eax, [edx + edx*4]
mov dword [esp + 0x18], edx
mov edx, ebp
add eax, eax
sub edx, eax
cmp ebp, 9
mov dword [esp + 0x14], edx
jle 0x4e8085
cmp dword [esp + 0x18], 9
jg 0x4e8a0b
mov eax, dword [esp + 0x18]
mov edx, 0xcccccccd
add ecx, 2
mul edx
shr edx, 3
lea eax, [edx + edx*4]
mov edx, dword [esp + 0x18]
add eax, eax
sub edx, eax
movzx eax, word [edx + edx + 0x5fb49c]
mov edx, dword [esp + 0x14]
mov word [ecx - 2], ax
jmp 0x4e8085
test byte [esp + 0x44], 0x10
lea eax, [ecx + 2]
jne 0x4e8561
test edi, 8
mov dword [ebx], eax
je 0x4e8760
mov eax, 0x72
mov word [ecx], ax
lea eax, [ecx + 4]
test edi, 0x10
mov dword [ebx], eax
jne 0x4e8880
mov eax, 0x2d
mov word [ecx + 2], ax
lea eax, [ecx + 6]
test edi, 1
mov dword [ebx], eax
jne 0x4e8870
mov eax, 0x2d
mov word [ecx + 4], ax
lea eax, [ecx + 8]
test edi, 0x20
mov dword [ebx], eax
jne 0x4e8860
mov eax, 0x2d
mov word [ecx + 6], ax
lea eax, [ecx + 0xa]
test edi, 0x800
mov dword [ebx], eax
jne 0x4e8850
mov eax, 0x2d
mov word [ecx + 8], ax
lea eax, [ecx + 0xc]
test edi, 0x100
mov dword [ebx], eax
jne 0x4e8840
mov eax, 0x2d
mov word [ecx + 0xa], ax
lea eax, [ecx + 0xe]
test edi, 0x200
mov dword [ebx], eax
jne 0x4e8830
mov edx, 0x2d
mov word [ecx + 0xc], dx
lea eax, [ecx + 0x10]
test edi, 0x400
mov dword [ebx], eax
jne 0x4e8820
mov eax, 0x2d
mov word [ecx + 0xe], ax
lea eax, [ecx + 0x12]
test edi, 0x40
mov dword [ebx], eax
jne 0x4e8810
mov eax, 0x2d
mov word [ecx + 0x10], ax
lea eax, [ecx + 0x14]
test edi, 0x80
mov dword [ebx], eax
jne 0x4e8800
mov eax, 0x2d
mov word [ecx + 0x12], ax
lea eax, [ecx + 0x16]
test edi, 0x1000
mov dword [ebx], eax
jne 0x4e87f0
mov eax, 0x2d
mov word [ecx + 0x14], ax
lea eax, [ecx + 0x18]
test edi, 0x2000
mov dword [ebx], eax
jne 0x4e87e1
mov eax, 0x2d
mov word [ecx + 0x16], ax
lea eax, [ecx + 0x1a]
test edi, 0x4000
mov dword [ebx], eax
jne 0x4e87d3
mov eax, 0x2d
mov word [ecx + 0x18], ax
mov eax, edi
and eax, 0x8000
cmp eax, 1
sbb eax, eax
and eax, 0xffffffba
add eax, 0x73
test edi, 0x2000000
mov word [ecx + 0x1a], ax
lea eax, [ecx + 0x1e]
mov dword [ebx], eax
mov eax, 0x3a
mov word [ecx + 0x1c], ax
lea eax, [ecx + 0x20]
jne 0x4e88f0
mov dword [ebx], eax
mov eax, 0x2d
mov word [ecx + 0x1e], ax
lea eax, [ecx + 0x22]
test edi, 0x4000000
mov dword [ebx], eax
jne 0x4e88e0
mov eax, 0x2d
mov word [ecx + 0x20], ax
lea eax, [ecx + 0x24]
test edi, 0x10000000
mov dword [ebx], eax
jne 0x4e88d2
mov edx, 0x2d
mov word [ecx + 0x22], dx
lea eax, [ecx + 0x26]
test edi, 0x8000000
mov dword [ebx], eax
jne 0x4e8890
mov eax, 0x2d
test edi, 0x20000000
mov word [ecx + 0x24], ax
lea eax, [ecx + 0x28]
mov dword [ebx], eax
jne 0x4e88aa
mov eax, 0x2d
test edi, 0x40000000
mov word [ecx + 0x26], ax
lea eax, [ecx + 0x2a]
mov dword [ebx], eax
jne 0x4e88c4
mov eax, 0x2d
mov word [ecx + 0x28], ax
and edi, 0x1000000
cmp edi, 1
sbb eax, eax
and eax, 0xffffffe4
add eax, 0x49
mov word [ecx + 0x2a], ax
lea eax, [ecx + 0x2c]
add ecx, 0x2e
mov edi, 0x3a
cmp esi, 0x800
mov dword [ebx], ecx
mov word [eax], di
je 0x4e8945
jle 0x4e87b0
cmp esi, 0x1000
je 0x4e8785
cmp esi, 0x2000
jne 0x4e8450
mov dword [esp], ecx
mov dword [esp + 4], 0x5fb53c
call sub.msvcrt.dll_wcscpy
mov ecx, dword [ebx]
lea esi, [esi]
mov dword [esp], ecx
call sub.msvcrt.dll_wcslen
mov edx, dword [ebx]
lea eax, [edx + eax*2]
mov dword [ebx], eax
jmp 0x4e8504
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4e8960
mov eax, dword [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.msvcrt.dll_wcscpy
mov eax, dword [ebx]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
mov edx, dword [ebx]
lea eax, [edx + eax*2]
mov dword [ebx], eax
test byte [esp + 0x44], 4
je 0x4e84a9
mov edx, dword [esp + 0x40]
mov ecx, eax
sub edx, 0x2715
cmp edx, 1
jbe 0x4e84b6
lea ecx, [eax + 2]
mov edx, 0x3a
mov dword [ebx], ecx
mov word [eax], dx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4e81d0
mov eax, edi
and eax, 0x124
cmp eax, 1
sbb eax, eax
and eax, 0xffffffbb
add eax, 0x72
mov word [ecx], ax
mov eax, edi
and eax, 0x92
cmp eax, 1
sbb eax, eax
and edi, 0x49
and eax, 0xffffffb6
add eax, 0x77
cmp edi, 1
sbb edx, edx
mov word [ecx + 2], ax
lea eax, [ecx + 6]
and edx, 0xffffffb5
add edx, 0x78
mov dword [ebx], eax
mov word [ecx + 4], dx
cmp ebp, 0xffffffff
je 0x4e8559
lea ecx, [eax + 2]
mov edx, 0x3a
xor esi, esi
test ebp, ebp
mov dword [ebx], ecx
mov word [eax], dx
js 0x4e8549
mov eax, ebp
mov edx, 0x66666667
imul edx
mov eax, ebp
sar eax, 0x1f
mov dword [esp + 0x10], eax
sar edx, 2
mov esi, edx
sub esi, eax
lea eax, [esi + esi*4]
mov edi, esi
mov esi, ebp
add eax, eax
sub esi, eax
cmp ebp, 9
jg 0x4e8980
lea eax, [ecx + 2]
mov dword [ebx], eax
movzx eax, word [esi + esi + 0x5fb49c]
mov word [ecx], ax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
test edi, 8
je 0x4e8578
mov edx, 0x72
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
lea eax, [eax + 2]
test edi, 0x10
je 0x4e858f
mov edx, 0x77
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 1
je 0x4e85a6
mov edx, 0x78
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x20
je 0x4e85bd
mov edx, 0x70
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x800
je 0x4e85d4
mov edx, 0x64
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x100
je 0x4e85eb
mov edx, 0x44
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x200
je 0x4e8602
mov edx, 0x61
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x400
je 0x4e8619
mov edx, 0x41
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x40
je 0x4e8630
mov edx, 0x52
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x80
je 0x4e8647
mov edx, 0x57
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x1000
je 0x4e865e
mov edx, 0x63
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x2000
je 0x4e8675
mov edx, 0x43
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x4000
je 0x4e868c
mov edx, 0x6f
mov dword [ebx], eax
mov word [ecx], dx
mov ecx, eax
add eax, 2
test edi, 0x8000
lea edx, [ecx + 4]
je 0x4e86a0
mov word [ecx], 0x73
mov ecx, eax
mov eax, edx
mov edx, 0x3a
test edi, 0x2000000
mov dword [ebx], eax
mov word [ecx], dx
lea ecx, [eax + 2]
je 0x4e86c4
mov edx, 0x66
mov dword [ebx], ecx
mov word [eax], dx
mov eax, ecx
lea ecx, [ecx + 2]
test edi, 0x4000000
je 0x4e86db
mov edx, 0x64
mov dword [ebx], ecx
mov word [eax], dx
mov eax, ecx
add ecx, 2
test edi, 0x10000000
je 0x4e86f2
mov edx, 0x69
mov dword [ebx], ecx
mov word [eax], dx
mov eax, ecx
add ecx, 2
test edi, 0x8000000
je 0x4e8709
mov edx, 0x6e
mov dword [ebx], ecx
mov word [eax], dx
mov eax, ecx
add ecx, 2
test edi, 0x20000000
je 0x4e8720
mov edx, 0x53
mov dword [ebx], ecx
mov word [eax], dx
mov eax, ecx
add ecx, 2
test edi, 0x40000000
je 0x4e8737
mov edx, 0x46
mov dword [ebx], ecx
mov word [eax], dx
mov eax, ecx
add ecx, 2
and edi, 0x1000000
je 0x4e8407
mov edx, 0x49
mov word [eax], dx
lea edx, [eax + 4]
mov eax, ecx
mov ecx, edx
jmp 0x4e8407
mov eax, 0x2d
mov word [ecx], ax
jmp 0x4e81f4
mov dword [esp + 4], str.mask
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
jmp 0x4e802c
mov dword [esp], ecx
mov dword [esp + 4], 0x5fb530
call sub.msvcrt.dll_wcscpy
mov ecx, dword [ebx]
jmp 0x4e8450
mov ebp, 0xffffffff
jmp 0x4e8491
cmp esi, 0x400
jne 0x4e8450
mov dword [esp], ecx
mov dword [esp + 4], 0x5fb51a
call sub.msvcrt.dll_wcscpy
mov ecx, dword [ebx]
jmp 0x4e8450
mov eax, 0x6f
mov word [ecx + 0x18], ax
jmp 0x4e832c
mov eax, 0x43
mov word [ecx + 0x16], ax
jmp 0x4e8312
mov edx, 0x63
mov word [ecx + 0x14], dx
jmp 0x4e82f8
mov eax, 0x57
mov word [ecx + 0x12], ax
jmp 0x4e82de
mov eax, 0x52
mov word [ecx + 0x10], ax
jmp 0x4e82c4
mov eax, 0x41
mov word [ecx + 0xe], ax
jmp 0x4e82aa
mov eax, 0x61
mov word [ecx + 0xc], ax
jmp 0x4e8290
mov eax, 0x44
mov word [ecx + 0xa], ax
jmp 0x4e8276
mov eax, 0x64
mov word [ecx + 8], ax
jmp 0x4e825c
mov edx, 0x70
mov word [ecx + 6], dx
jmp 0x4e8242
mov eax, 0x78
mov word [ecx + 4], ax
jmp 0x4e8228
mov eax, 0x77
mov word [ecx + 2], ax
jmp 0x4e820e
mov eax, 0x6e
test edi, 0x20000000
mov word [ecx + 0x24], ax
lea eax, [ecx + 0x28]
mov dword [ebx], eax
je 0x4e83c9
mov eax, 0x53
test edi, 0x40000000
mov word [ecx + 0x26], ax
lea eax, [ecx + 0x2a]
mov dword [ebx], eax
je 0x4e83e3
mov eax, 0x46
mov word [ecx + 0x28], ax
jmp 0x4e83ec
mov eax, 0x69
mov word [ecx + 0x22], ax
jmp 0x4e839e
mov eax, 0x64
mov word [ecx + 0x20], ax
jmp 0x4e8384
mov dword [ebx], eax
mov eax, 0x66
mov word [ecx + 0x1e], ax
jmp 0x4e836a
test esi, 0x3c00
mov ebp, 0xffffffff
mov dword [esp + 0x48], 0
je 0x4e80ca
mov dword [esp + 4], 0x5fb4be
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
jmp 0x4e802c
mov dword [esp + 4], str.other
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
jmp 0x4e802c
mov dword [esp], ecx
mov dword [esp + 4], str.deny
call sub.msvcrt.dll_wcscpy
mov ecx, dword [ebx]
jmp 0x4e8450
mov edx, dword [esp + 0x40]
mov eax, ecx
and edx, 0xfffffffd
cmp edx, 0x2711
jne 0x4e8491
jmp 0x4e8154
cmp edi, 9
jg 0x4e89c5
mov eax, edi
mov edx, 0xcccccccd
add ecx, 2
mul edx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub edi, eax
movzx eax, word [edi + edi + 0x5fb49c]
mov word [ecx - 2], ax
jmp 0x4e8549
mov dword [esp + 4], 0x5fb4d6
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
jmp 0x4e802c
mov edx, 0x51eb851f
mov eax, ebp
imul edx
sar edx, 5
sub edx, dword [esp + 0x10]
cmp edx, 9
mov dword [esp + 0x10], edx
jg 0x4e8a29
mov eax, dword [esp + 0x10]
mov edx, 0xcccccccd
mov ebp, dword [esp + 0x10]
add ecx, 2
mul edx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ebp, eax
movzx eax, word [ebp + ebp + 0x5fb49c]
mov word [ecx - 2], ax
jmp 0x4e8985
mov eax, ebp
mov edx, 0x51eb851f
imul edx
mov eax, ebx
sar edx, 5
sub edx, dword [esp + 0x1c]
call fcn.004e7d50
mov ecx, dword [ebx]
jmp 0x4e8198
mov eax, ebp
mov ecx, 0x3e8
cdq
idiv ecx
mov edx, eax
mov eax, ebx
call fcn.004e7d50
mov ecx, dword [ebx]
jmp 0x4e89de
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
jmp 0x4e8085