Function at 0x10067f20
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov ecx, 1
mov eax, dword [edi]
test cl, al
je 0x10067f4e
mov eax, dword [edi + 4]
xor eax, dword [esi + 0x38]
and eax, ecx
xor dword [esi + 0x38], eax
xor ecx, ecx
mov byte [esi + 0x80], 0
mov eax, dword [edi]
test al, 2
je 0x10067f69
mov eax, dword [edi + 4]
xor eax, dword [esi + 0x38]
and eax, 2
xor dword [esi + 0x38], eax
xor ecx, ecx
mov byte [esi + 0x81], 0
mov eax, dword [edi]
test eax, 0x1000
je 0x10067fb1
movzx eax, byte [edi + 0x14]
cmp eax, 3
ja case.default.0x10067f79
jmp dword [eax*4 + 0x1006874c]
and dword [esi + 0x38], 0xfffffff3
jmp case.default.0x10067f79
mov eax, dword [esi + 0x38]
and eax, 0xfffffff7
or eax, 4
mov dword [esi + 0x38], eax
jmp case.default.0x10067f79
mov eax, dword [esi + 0x38]
and eax, 0xfffffffb
or eax, 8
mov dword [esi + 0x38], eax
jmp case.default.0x10067f79
or dword [esi + 0x38], 0xc
mov byte [esi + 0x82], 0
xor ecx, ecx
mov eax, dword [edi]
test eax, 0x2000
je 0x100680e1
movzx eax, byte [edi + 0x15]
dec eax
cmp eax, 0x10
ja case.default.0x10067fca
jmp dword [eax*4 + 0x1006875c]
mov eax, dword [esi + 0x38]
and eax, 0xffffff1f
or eax, 0x10
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffff2f
or eax, 0x20
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffff3f
or eax, 0x30
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffff4f
or eax, 0x40
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffff5f
or eax, 0x50
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffff6f
or eax, 0x60
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffff7f
or eax, 0x70
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffff8f
or eax, 0x80
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffff9f
or eax, 0x90
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffffaf
or eax, 0xa0
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffffbf
or eax, 0xb0
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffffcf
or eax, 0xc0
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffffdf
or eax, 0xd0
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
mov eax, dword [esi + 0x38]
and eax, 0xffffffef
or eax, 0xe0
mov dword [esi + 0x38], eax
jmp case.default.0x10067fca
or dword [esi + 0x38], 0xf0
jmp case.default.0x10067fca
and dword [esi + 0x38], 0xffffff0f
mov byte [esi + 0x83], 0
xor ecx, ecx
mov eax, dword [edi]
test eax, 0x8000
je 0x10068167
movzx eax, byte [edi + 0x1c]
cmp eax, 6
ja case.default.0x100680f1
jmp dword [eax*4 + 0x100687a0]
and dword [esi + 0x38], 0xfffff8ff
jmp case.default.0x100680f1
mov eax, dword [esi + 0x38]
and eax, 0xfffff9ff
or eax, 0x100
jmp 0x10068159
mov eax, dword [esi + 0x38]
and eax, 0xfffffaff
or eax, 0x200
jmp 0x10068159
mov eax, dword [esi + 0x38]
and eax, 0xfffffbff
or eax, 0x300
jmp 0x10068159
mov eax, dword [esi + 0x38]
and eax, 0xfffffcff
or eax, 0x400
jmp 0x10068159
mov eax, dword [esi + 0x38]
and eax, 0xfffffdff
or eax, 0x500
jmp 0x10068159
mov eax, dword [esi + 0x38]
and eax, 0xfffffeff
or eax, 0x600
mov dword [esi + 0x38], eax
mov byte [esi + 0x84], 0
xor ecx, ecx
mov eax, dword [edi]
test eax, 0x10000
je 0x100681b7
movzx eax, byte [edi + 0x1d]
sub eax, 0
je 0x100681a5
sub eax, 1
je 0x10068193
sub eax, 1
jne 0x100681ac
mov eax, dword [esi + 0x38]
and eax, 0xfffff7ff
or eax, 0x1000
mov dword [esi + 0x38], eax
jmp 0x100681ac
mov eax, dword [esi + 0x38]
and eax, 0xffffefff
or eax, 0x800
mov dword [esi + 0x38], eax
jmp 0x100681ac
and dword [esi + 0x38], 0xffffe7ff
mov byte [esi + 0x85], 0
xor ecx, ecx
mov eax, dword [edi]
test al, 4
je 0x100681d7
mov eax, dword [edi + 4]
shl eax, 0xb
xor eax, dword [esi + 0x38]
and eax, 0x2000
xor dword [esi + 0x38], eax
xor ecx, ecx
mov byte [esi + 0x86], 0
mov eax, dword [edi]
test al, 8
je 0x100681f7
mov eax, dword [edi + 4]
shl eax, 0xb
xor eax, dword [esi + 0x38]
and eax, 0x4000
xor dword [esi + 0x38], eax
xor ecx, ecx
mov byte [esi + 0x87], 0
mov eax, dword [edi]
test al, 0x10
je 0x10068217
mov eax, dword [edi + 4]
shl eax, 0xb
xor eax, dword [esi + 0x38]
and eax, 0x8000
xor dword [esi + 0x38], eax
xor ecx, ecx
mov byte [esi + 0x88], 0
mov eax, dword [edi]
test al, 0x20
je 0x10068237
mov eax, dword [edi + 4]
shl eax, 0xb
xor eax, dword [esi + 0x38]
and eax, 0x10000
xor dword [esi + 0x38], eax
xor ecx, ecx
mov byte [esi + 0x89], 0
mov eax, dword [edi]
test eax, 0x100000
je 0x10068270
movzx eax, byte [edi + 0x28]
sub eax, 0
je 0x1006825e
sub eax, 1
jne 0x10068265
mov eax, dword [esi + 0x38]
and eax, 0xffe7ffff
or eax, 0x40000
mov dword [esi + 0x38], eax
jmp 0x10068265
and dword [esi + 0x38], 0xffe3ffff
mov byte [esi + 0x8b], 0
xor ecx, ecx
mov eax, dword [edi]
test eax, 0x200000
je 0x10068364
movzx eax, byte [edi + 0x29]
cmp eax, 0xc
ja case.default.0x10068288
jmp dword [eax*4 + 0x100687bc]
and dword [esi + 0x38], 0xfe1fffff
jmp case.default.0x10068288
mov eax, dword [esi + 0x38]
and eax, 0xfe3fffff
or eax, 0x200000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xfe5fffff
or eax, 0x400000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xfe7fffff
or eax, 0x600000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xfe9fffff
or eax, 0x800000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xfebfffff
or eax, 0xa00000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xfedfffff
or eax, 0xc00000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xfeffffff
or eax, 0xe00000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xff1fffff
or eax, 0x1000000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xff3fffff
or eax, 0x1200000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xff5fffff
or eax, 0x1400000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xff7fffff
or eax, 0x1600000
jmp 0x10068356
mov eax, dword [esi + 0x38]
and eax, 0xff9fffff
or eax, 0x1800000
mov dword [esi + 0x38], eax
mov byte [esi + 0x8c], 0
xor ecx, ecx
mov eax, dword [edi]
test al, al
jns 0x10068384
mov eax, dword [edi + 4]
shl eax, 0x12
xor eax, dword [esi + 0x38]
and eax, 0x2000000
xor dword [esi + 0x38], eax
xor ecx, ecx
mov byte [esi + 0x8d], 0
mov eax, dword [edi]
test eax, 0x400000
je 0x100684d0
movzx eax, byte [edi + 0x2a]
dec eax
cmp eax, 0x10
ja case.default.0x1006839d
jmp dword [eax*4 + 0x100687f0]
mov eax, dword [esi + 0x38]
and eax, 0xc7ffffff
or eax, 0x4000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xcbffffff
or eax, 0x8000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xcfffffff
or eax, 0xc000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xd3ffffff
or eax, 0x10000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xd7ffffff
or eax, 0x14000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xdbffffff
or eax, 0x18000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xdfffffff
or eax, 0x1c000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xe3ffffff
or eax, 0x20000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xe7ffffff
or eax, 0x24000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xebffffff
or eax, 0x28000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xefffffff
or eax, 0x2c000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xf3ffffff
or eax, 0x30000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xf7ffffff
or eax, 0x34000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
mov eax, dword [esi + 0x38]
and eax, 0xfbffffff
or eax, 0x38000000
mov dword [esi + 0x38], eax
jmp case.default.0x1006839d
or dword [esi + 0x38], 0x3c000000
jmp case.default.0x1006839d
and dword [esi + 0x38], 0xc3ffffff
mov byte [esi + 0x8e], 0
xor ecx, ecx
mov eax, dword [edi]
test eax, 0x100
je 0x100684f3
mov eax, dword [edi + 4]
shl eax, 0x16
xor eax, dword [esi + 0x38]
and eax, 0x40000000
xor dword [esi + 0x38], eax
xor ecx, ecx
mov byte [esi + 0x8f], 0
mov eax, dword [edi]
test eax, 0x200
je 0x1006850b
mov eax, dword [edi + 8]
xor ecx, ecx
mov dword [esi + 0x34], eax
mov byte [esi + 0x90], 0
mov eax, dword [edi]
test eax, 0x4000
je 0x10068523
mov eax, dword [edi + 0x18]
xor ecx, ecx
mov dword [esi + 0x40], eax
mov byte [esi + 0x91], 0
mov eax, dword [edi]
test eax, 0x20000
je 0x1006853b
mov eax, dword [edi + 0x20]
xor ecx, ecx
mov dword [esi + 0x48], eax
mov byte [esi + 0x92], 0
mov eax, dword [edi]
test eax, 0x40000
je 0x10068553
mov al, byte [edi + 0x24]
xor ecx, ecx
mov byte [esi + 0x2e], al
mov byte [esi + 0x93], 0
mov eax, dword [edi]
test eax, 0x80000
je 0x1006856b
mov al, byte [edi + 0x26]
xor ecx, ecx
mov byte [esi + 0x2f], al
mov byte [esi + 0x94], 0
mov eax, dword [edi]
test eax, 0x800
je 0x10068583
mov eax, dword [edi + 0x10]
xor ecx, ecx
mov dword [esi + 0x44], eax
mov byte [esi + 0x95], 0
mov eax, dword [edi]
test eax, 0x400
je 0x1006859b
mov eax, dword [edi + 0xc]
xor ecx, ecx
mov dword [esi + 0x3c], eax
mov byte [esi + 0x96], 0
mov eax, dword [edi]
test eax, 0x800000
je 0x100685b3
mov eax, dword [edi + 0x2c]
xor ecx, ecx
mov dword [esi + 0x4c], eax
mov byte [esi + 0x97], 0
mov eax, dword [edi]
test eax, 0x1000000
je 0x1006872b
lea edx, [esi + 4]
lea eax, [edi + 0xc4]
mov dword [ebp - 4], edx
push ebx
xor ebx, ebx
mov edi, eax
nop
mov eax, dword [edi - 0x94]
and eax, 0x30000000
cmp eax, 0x30000000
jne 0x10068630
mov ecx, dword [esi + 0xbc]
test ecx, ecx
je 0x10068601
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
cmp eax, 0x1003ec30
jne 0x10068741
mov edx, dword [ecx + 8]
jmp 0x10068607
mov edx, dword [esi + 0xc0]
movzx eax, byte [edi]
mov ecx, dword [edx]
push eax
lea eax, [edi - 0x80]
push eax
push ebx
push edx
call dword [ecx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, 0xffffffff
je 0x10068626
cmp ebx, 6
ja 0x10068626
mov word [edx], ax
mov byte [ebx + esi + 0x98], 0
xor ecx, ecx
inc ebx
add edx, 2
add edi, 0x98
mov dword [ebp - 4], edx
cmp ebx, 7
jl 0x100685d0
mov edi, dword [ebp + 8]
xor edx, edx
lea ebx, [edi + 0x34]
nop word [eax + eax]
test dword [ebx - 4], 0x1000000
je 0x1006866e
cmp edx, 6
ja 0x10068664
mov al, byte [ebx]
mov byte [edx + esi + 0x20], al
mov byte [edx + esi + 0x9f], 0
xor ecx, ecx
inc edx
add ebx, 0x98
cmp edx, 7
jl 0x10068650
xor edx, edx
lea ebx, [edi + 0x38]
nop
test dword [ebx - 8], 0x2000000
je 0x1006869e
cmp edx, 6
ja 0x10068694
mov al, byte [ebx]
mov byte [edx + esi + 0x12], al
mov byte [edx + esi + 0xa6], 0
xor ecx, ecx
inc edx
add ebx, 0x98
cmp edx, 7
jl 0x10068680
lea eax, [esi + 0x50]
xor edx, edx
mov dword [ebp + 8], eax
lea ebx, [edi + 0x3c]
test dword [ebx - 0xc], 0x4000000
je 0x100686e9
mov cl, byte [ebx + 0x89]
cmp edx, 6
ja 0x100686df
test cl, cl
jne 0x100686d5
mov al, byte [ebx]
mov byte [edx + esi + 0x19], al
jmp 0x100686dc
mov ecx, dword [ebp + 8]
mov eax, dword [ebx]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
mov byte [edx + esi + 0xad], 0
xor ecx, ecx
inc edx
add eax, 4
add ebx, 0x98
mov dword [ebp + 8], eax
cmp edx, 7
jl 0x100686b5
xor edx, edx
add edi, 0x40
pop ebx
test dword [edi - 0x10], 0x8000000
je 0x1006871f
cmp edx, 6
ja 0x10068715
mov al, byte [edi]
mov byte [edx + esi + 0x27], al
mov byte [edx + esi + 0xb4], 0
xor ecx, ecx
inc edx
add edi, 0x98
cmp edx, 7
jl 0x10068701
mov eax, dword [ebp + 0xc]
pop edi
pop esi
test eax, eax
je 0x10068736
mov dword [eax], ecx
mov eax, 1
mov esp, ebp
pop ebp
ret 8
push ecx
call eax
mov edx, eax
jmp 0x10068607