Function at 0x46c0f0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov edx, dword [0x4f33c0]
movsx eax, word [0x4c5210]
mov dword [ebp - 0x14], 0
mov ebx, dword [0x873500]
imul esi, dword [ebp + 8], 0x5c
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x10], eax
add esi, ebx
xor ebx, ebx
movzx eax, byte [esi + 0x24]
sub eax, 0x13
cmp eax, 0x1a
ja case.0x46c134.24
jmp dword [eax*4 + 0x4b65e4]
movzx eax, byte [esi + 0x2c]
xor ecx, ecx
movzx ebx, al
mov byte [ebp - 0x16], al
movzx edx, byte [esi + 0x2d]
movzx eax, dl
inc eax
mov byte [ebp - 0x17], dl
imul ebx, eax
mov edx, dword [esi + 0x38]
sar ebx, 1
test edx, 0x800000
je 0x46c167
mov ecx, 2
test edx, 0x1000000
je 0x46c172
add ecx, 3
test edx, 0x2000000
je 0x46c17d
add ecx, 2
test edx, 0x4000000
je 0x46c188
add ecx, 2
test edx, 0x200000
je 0x46c193
add ecx, 2
test edx, 0x400000
je 0x46c19e
add ecx, 2
test edx, 0x8000000
je 0x46c1a9
add ecx, 2
test edx, 0x10000000
je 0x46c1b4
add ecx, 4
test edx, 0x20000000
je 0x46c1bf
add ecx, 4
test edx, 0x40000000
je 0x46c1ca
add ecx, 4
test edx, edx
js 0x46c796
imul ecx, ebx
mov edx, 0x66666667
mov edi, 1
mov eax, ecx
imul edx
mov eax, ecx
sar eax, 0x1f
movzx ecx, word [esi + 0x28]
sar edx, 2
sub edx, eax
add ebx, edx
test cx, cx
jle 0x46c789
test cx, cx
movsx edx, cx
js 0x46c768
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov edx, 0x55555556
imul edx
mov eax, dword [ebp - 0x1c]
sar eax, 0x1f
sub edx, eax
imul edi, edx
add ebx, edi
cmp cx, 0xf
jle 0x46c22f
movsx eax, cx
lea ebx, [ebx + eax*2 - 0x1e]
cmp cx, 0x19
jle 0x46c23c
movsx eax, cx
lea ebx, [ebx + eax*2 - 0x32]
test byte [esi + 0x42], 0x10
je 0x46c260
movzx eax, byte [ebp - 0x17]
movzx edx, byte [ebp - 0x16]
inc eax
imul edx, eax
sar edx, 2
add ebx, edx
lea esi, [esi]
lea edi, [edi]
mov edx, dword [ebp - 0x10]
movzx eax, word [edx + 0x14]
cmp word [esi + 0x30], ax
jge case.0x46c134.24
inc ebx
nop
movzx ecx, word [esi + 0x26]
test cx, cx
jle 0x46c4f0
mov edx, dword [esi + 0x38]
mov eax, edx
and eax, 0x20000
cmp eax, 1
sbb ebx, 0xffffffff
test dl, 1
jne 0x46c380
test dl, 2
je 0x46c2a3
movsx eax, cx
lea eax, [eax + eax*2]
add ebx, eax
test dl, 4
je 0x46c2ae
movsx eax, cx
lea ebx, [ebx + eax*4]
test dl, 8
je 0x46c2b9
movsx eax, cx
lea ebx, [ebx + eax*4]
test dl, 0x10
je 0x46c2c6
movsx eax, cx
lea eax, [eax + eax*2]
sub ebx, eax
test dl, 0x20
je 0x46c2d3
movsx eax, cx
lea eax, [eax + eax*2]
sub ebx, eax
test dl, 0x40
je 0x46c2e0
movsx eax, cx
shl eax, 2
sub ebx, eax
test dl, dl
jns 0x46c2ec
movsx eax, cx
shl eax, 2
sub ebx, eax
test dh, 1
je 0x46c2f6
movsx eax, cx
add ebx, eax
test dh, 2
je 0x46c300
movsx eax, cx
add ebx, eax
test dh, 4
je 0x46c30a
movsx eax, cx
add ebx, eax
test dh, 8
je 0x46c314
movsx eax, cx
add ebx, eax
test dh, 0x10
je 0x46c31e
movsx eax, cx
add ebx, eax
test dh, 0x20
je 0x46c328
movsx eax, cx
add ebx, eax
test dh, 0x40
je 0x46c332
movsx eax, cx
add ebx, eax
test cx, cx
jle 0x46c39d
test dl, 1
je 0x46c342
movsx eax, cx
mov dword [ebp - 0x14], eax
test dl, 2
je 0x46c34d
movsx eax, cx
add dword [ebp - 0x14], eax
test dl, 4
je 0x46c358
movsx eax, cx
add dword [ebp - 0x14], eax
test dl, 8
je 0x46c363
movsx eax, cx
add dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x18
jle 0x46c390
add ebx, 0x4e20
add esp, 0x1c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
movsx eax, cx
lea eax, [eax + eax*2]
add ebx, eax
jmp 0x46c296
mov edx, dword [ebp - 0x14]
movsx eax, word [edx + edx + 0x4a3860]
add ebx, eax
mov edx, dword [esi + 0x3c]
test dl, 0xf
je 0x46c3e0
xor eax, eax
test dl, 1
jne 0x46c598
test dl, 2
je 0x46c3ba
add ebx, 4
inc al
test dl, 4
je 0x46c3c4
add ebx, 3
inc al
test dl, 8
je 0x46c3cc
inc ebx
inc al
cmp al, 4
jbe 0x46c3d3
add ebx, 2
cmp al, 5
jbe 0x46c3e0
add ebx, 2
lea esi, [esi]
test edx, 0xf8000
je 0x46c460
mov eax, edx
xor ecx, ecx
and eax, 0x8000
test ax, ax
jne 0x46c590
test dh, 0x40
je 0x46c404
add ebx, 3
inc cl
test edx, 0x10000
je 0x46c411
add ebx, 3
inc cl
test edx, 0x20000
je 0x46c41e
add ebx, 4
inc cl
test edx, 0x40000
je 0x46c42b
add ebx, 5
inc cl
test edx, 0x80000
je 0x46c438
add ebx, 7
inc cl
test edx, 0x200000
je 0x46c445
add ebx, 0xc
inc cl
cmp cl, 4
jbe 0x46c44d
add ebx, 5
cmp cl, 5
jbe 0x46c455
add ebx, 5
cmp cl, 6
jbe 0x46c460
add ebx, 5
lea esi, [esi]
mov eax, edx
and eax, 0x8000
cmp ax, 1
sbb ebx, 0xffffffff
test dl, 0x70
je 0x46c4b0
xor eax, eax
test dl, 0x10
jne 0x46c580
test dl, 0x20
je 0x46c488
add ebx, 3
inc al
test dl, 0x40
je 0x46c492
add ebx, 3
inc al
test dl, dl
jns 0x46c49b
add ebx, 3
inc al
test dh, 1
je 0x46c4a5
add ebx, 3
inc al
cmp al, 5
jne 0x46c4b0
add ebx, 0xa
lea esi, [esi]
test edx, 0x1ff0
je 0x46c36f
test dh, 4
jne 0x46c572
test dh, 8
je 0x46c4cd
add ebx, 0xc
test dh, 0x10
je 0x46c4d5
add ebx, 3
test dh, 2
je 0x46c36f
add esp, 0x1c
add ebx, 3
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
jge 0x46c39d
mov edx, dword [esi + 0x38]
test dl, 1
je 0x46c504
movsx eax, cx
lea ebx, [ebx + eax*4]
test dl, 2
je 0x46c50f
movsx eax, cx
lea ebx, [ebx + eax*4]
test dl, 4
je 0x46c51a
movsx eax, cx
lea ebx, [ebx + eax*4]
test dl, 8
je 0x46c525
movsx eax, cx
lea ebx, [ebx + eax*4]
test dh, 1
je 0x46c52f
movsx eax, cx
add ebx, eax
test dh, 2
je 0x46c539
movsx eax, cx
add ebx, eax
test dh, 4
je 0x46c543
movsx eax, cx
add ebx, eax
test dh, 8
je 0x46c54d
movsx eax, cx
add ebx, eax
test dh, 0x10
je 0x46c557
movsx eax, cx
add ebx, eax
test dh, 0x20
je 0x46c561
movsx eax, cx
add ebx, eax
test dh, 0x40
je 0x46c39d
movsx eax, cx
jmp 0x46c39b
add ebx, 8
jmp 0x46c4c5
add ebx, 3
mov al, 1
jmp 0x46c47e
inc ebx
mov cl, 1
jmp 0x46c3fa
add ebx, 5
mov al, 1
jmp 0x46c3b0
movzx ecx, word [esi + 0x28]
mov ebx, 1
test cx, cx
jle 0x46c77c
test cx, cx
movsx edi, cx
js 0x46c772
mov eax, edi
mov edx, 0x55555556
imul edx
mov eax, edi
sar eax, 0x1f
sub edx, eax
imul ebx, edx
cmp cx, 0xf
jg 0x46c721
cmp cx, 0x19
jle 0x46c5ea
movsx eax, cx
lea ebx, [ebx + eax*2 - 0x32]
movzx edx, byte [esi + 0x25]
mov al, dl
sub al, 0xc
mov byte [ebp - 0x15], dl
cmp al, 1
ja 0x46c5fc
add ebx, 0xc
movzx eax, byte [ebp - 0x15]
mov edx, 3
cmp eax, 0xd
je 0x46c637
jg 0x46c72d
mov edx, 2
cmp eax, 0xc
je 0x46c637
mov dword [esp + 4], eax
mov dword [esp], str.Illegal_bow_sval__s
call fcn.004811e0
movzx eax, byte [esi + 0x25]
xor edx, edx
movzx ecx, word [esi + 0x28]
mov byte [ebp - 0x15], al
imul ebx, edx
test cx, cx
mov edi, 1
jle 0x46c75b
test cx, cx
js 0x46c7d2
movsx ecx, cx
sub byte [ebp - 0x15], 0xc
mov eax, ecx
mov edx, 0x55555556
imul edx
mov eax, ecx
sar eax, 0x1f
sub edx, eax
imul edi, edx
mov edx, 1
add ebx, edi
test ebx, ebx
jle 0x46c753
test ebx, ebx
js 0x46c73a
sar ebx, 2
mov eax, edx
imul eax, ebx
mov ebx, eax
jmp 0x46c260
mov edx, dword [ebp - 0x10]
movzx eax, word [edx + 0x14]
cmp word [esi + 0x30], ax
jge case.0x46c134.24
mov ebx, 1
jmp case.0x46c134.24
movzx ecx, word [esi + 0x28]
mov ebx, 1
test cx, cx
jle 0x46c7c5
test cx, cx
js 0x46c7ab
movsx eax, cx
lea ecx, [eax + eax]
mov eax, ecx
mov edx, 0x55555556
imul edx
mov eax, ecx
sar eax, 0x1f
sub edx, eax
imul ebx, edx
add ebx, 5
jmp case.0x46c134.24
movzx ecx, word [esi + 0x28]
mov ebx, 1
test cx, cx
jle 0x46c79e
test cx, cx
js 0x46c7b8
movsx eax, cx
lea ecx, [eax + eax]
mov eax, ecx
mov edx, 0x55555556
imul edx
mov eax, ecx
sar eax, 0x1f
sub edx, eax
imul ebx, edx
jmp case.0x46c134.24
movsx eax, cx
lea ebx, [ebx + eax*2 - 0x1e]
jmp 0x46c5dd
mov edx, 4
cmp eax, 0xe
jmp 0x46c618
mov eax, ebx
neg eax
test eax, eax
js 0x46c7dc
sar eax, 2
imul eax, edx
mov ebx, eax
jmp 0x46c260
mov eax, ebx
cdq
jmp 0x46c67a
movsx eax, cx
mov edi, eax
sar edi, 0x1f
jmp 0x46c648
movsx edx, cx
neg edx
jmp 0x46c208
movsx edi, cx
neg edi
jmp 0x46c5c0
movsx eax, cx
mov ebx, eax
sar ebx, 0x1f
jmp 0x46c5b4
movsx eax, cx
mov edi, eax
sar edi, 0x1f
jmp 0x46c1fc
add ecx, 4
jmp 0x46c1d2
movsx eax, cx
mov ebx, eax
sar ebx, 0x1f
jmp 0x46c6fa
movsx eax, cx
lea ecx, [eax + eax]
neg ecx
jmp 0x46c6cd
movsx eax, cx
lea ecx, [eax + eax]
neg ecx
jmp 0x46c709
movsx eax, cx
mov ebx, eax
sar ebx, 0x1f
jmp 0x46c6be
movsx ecx, cx
neg ecx
jmp 0x46c654
add eax, 3
jmp 0x46c746