Function at 0x1024dc40
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x103fb8f8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [0x102ab1d0]
test eax, eax
jne 0x1024dc7d
push 0x690
push 0x1034b180
push str.context
call edi
add esp, 0xc
test ebx, ebx
jne 0x1024dc95
push 0x691
push 0x1034b180
push str.instruction
call edi
add esp, 0xc
test esi, esi
jne 0x1024dcad
push 0x692
push 0x1034b180
push str.definition
call edi
add esp, 0xc
lea eax, [ebp - 8]
mov byte [ebp - 9], 0
push eax
push esi
call fcn.10253da0
mov esi, dword [0x102ab1d0]
add esp, 8
mov byte [ebx + 0x1a], al
cmp al, 0xa
jbe 0x1024dcdf
push 0x698
push 0x1034b180
push str.instruction__operandCount____sizeof_instruction__operands____sizeof_instruction__operands_0___
call esi
add esp, 0xc
xor cl, cl
mov byte [ebp - 0x15], cl
cmp byte [ebx + 0x1a], cl
jbe 0x1024e253
lea ecx, [ecx]
movzx edi, cl
shl edi, 6
add edi, ebx
lea edx, [edi + 0x20]
mov byte [edx], cl
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], edx
mov al, byte [ecx]
shr al, 5
and al, 3
mov byte [edi + 0x22], al
mov al, byte [ecx + 1]
and al, 7
mov byte [edi + 0x23], al
movzx eax, byte [ecx]
and eax, 0x1f
dec eax
je 0x1024dd58
dec eax
je 0x1024dd47
dec eax
jne 0x1024dd68
mov eax, 8
mov byte [edi + 0x21], 4
mov word [edi + 0x26], ax
mov dword [edi + 0x58], 1
mov dword [edi + 0x5c], 0
mov word [edi + 0x50], 0
jmp 0x1024dd68
push dword [ebp - 8]
push edx
push dword [ebp - 0x14]
call fcn.1024d5a0
add esp, 0xc
jmp 0x1024dd68
push dword [ebp - 8]
push edx
push ebx
push dword [ebp - 0x14]
call fcn.1024d690
add esp, 0x10
cmp byte [edi + 0x21], 0
jne 0x1024dedc
mov ecx, dword [ebp - 8]
mov al, byte [ecx + 9]
mov byte [edi + 0x24], al
movzx eax, byte [ecx]
and eax, 0x1f
add eax, 0xfffffffc
cmp eax, 0x10
ja case.default.0x1024dd8d
jmp dword [eax*4 + 0x1024e2e0]
mov byte [ebp - 0xd], 1
jmp 0x1024de9e
mov byte [ebp - 0xd], 4
jmp 0x1024de9e
mov al, byte [ebx + 0x18]
cmp al, 0x10
je 0x1024ddc9
cmp al, 0x20
je 0x1024ddc9
cmp al, 0x40
je 0x1024ddc9
push 0x6ce
push 0x1034b180
push str._instruction__operandWidth__16____instruction__operandWidth__32____instruction__operandWidth__64_
call esi
add esp, 0xc
mov al, byte [ebx + 0x18]
cmp al, 0x10
jne 0x1024ddd9
mov byte [ebp - 0xd], 2
jmp 0x1024de9e
cmp al, 0x20
setne al
add al, 3
jmp 0x1024de41
mov al, byte [ebx + 0x18]
cmp al, 0x10
je 0x1024de05
cmp al, 0x20
je 0x1024de05
cmp al, 0x40
je 0x1024de05
push 0x6d5
push 0x1034b180
push str._instruction__operandWidth__16____instruction__operandWidth__32____instruction__operandWidth__64_
call esi
add esp, 0xc
mov al, byte [ebx + 0x18]
cmp al, 0x10
jne 0x1024ddd9
mov byte [ebp - 0xd], 3
jmp 0x1024de9e
mov al, byte [ebx + 0x18]
cmp al, 0x10
je 0x1024de38
cmp al, 0x20
je 0x1024de38
cmp al, 0x40
je 0x1024de38
push 0x6dc
push 0x1034b180
push str._instruction__operandWidth__16____instruction__operandWidth__32____instruction__operandWidth__64_
call esi
add esp, 0xc
cmp byte [ebx + 0x18], 0x10
setne al
add al, 2
mov byte [ebp - 0xd], al
test al, al
jne 0x1024de9e
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
and eax, 0x1f
add eax, 0xffffffeb
cmp eax, 9
ja case.0x1024de5d.25
jmp dword [eax*4 + 0x1024e324]
mov byte [ebp - 0xd], 5
jmp 0x1024de9e
mov byte [ebp - 0xd], 6
jmp 0x1024de9e
mov byte [ebp - 0xd], 7
jmp 0x1024de9e
mov byte [ebp - 0xd], 8
jmp 0x1024de9e
mov byte [ebp - 0xd], 9
jmp 0x1024de9e
mov byte [ebp - 0xd], 0x11
jmp 0x1024de9e
mov byte [ebp - 0xd], 0xc
jmp 0x1024de9e
mov byte [ebp - 0xd], 0xe
jmp 0x1024de9e
mov byte [ebp - 0xd], 0xf
jmp 0x1024de9e
mov byte [ebp - 0xd], 0x10
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 9]
dec eax
jmp dword [eax*4 + 0x1024e34c]
mov esi, dword [0x102ab1d0]
cmp byte [edi + 0x21], 2
jne 0x1024e22c
mov ecx, dword [ebx + 0x2a0]
mov eax, ecx
mov edx, dword [ebx + 0x2a4]
and eax, 0x10000000
or eax, 0
je 0x1024e1b2
mov byte [edi + 0x31], 0xbc
jmp 0x1024e22c
push 0
lea eax, [edi + 0x20]
push eax
push ebx
push dword [ebp - 0x14]
call fcn.1024d820
add esp, 0x10
test eax, eax
jne 0x1024e2cd
jmp case.0x1024de5d.25
push 7
jmp 0x1024df35
push 8
jmp 0x1024df35
push 9
jmp 0x1024df35
mov al, byte [ebx + 0x360]
cmp al, 0x10
je 0x1024df80
cmp al, 0x20
je 0x1024df80
push 0x74f
push 0x1034b180
push str._instruction__raw.imm_0_.size__16____instruction__raw.imm_0_.size__32_
call esi
add esp, 0xc
cmp byte [ebx + 0x378], 0x10
je 0x1024df9d
push 0x750
push 0x1034b180
push str.instruction__raw.imm_1_.size__16
call esi
add esp, 0xc
mov byte [edi + 0x21], 3
mov eax, dword [ebx + 0x358]
mov dword [edi + 0x4c], eax
mov ax, word [ebx + 0x370]
mov word [edi + 0x48], ax
jmp case.0x1024de5d.25
push 0
lea eax, [edi + 0x20]
mov byte [edi + 0x23], 0
push eax
push ebx
push dword [ebp - 0x14]
call fcn.1024d820
add esp, 0x10
test eax, eax
jne 0x1024e2cd
mov byte [edi + 0x30], 2
jmp case.0x1024de5d.25
cmp byte [ebx + 0x348], 0
jne 0x1024dffb
push 0x75d
push 0x1034b180
push str.instruction__raw.disp.size
call esi
add esp, 0xc
mov byte [edi + 0x21], 2
mov byte [edi + 0x30], 1
mov byte [edi + 0x38], 1
mov eax, dword [ebx + 0x340]
mov dword [edi + 0x40], eax
mov eax, dword [ebx + 0x344]
mov dword [edi + 0x44], eax
jmp case.0x1024de5d.25
push 0
lea eax, [edi + 0x20]
mov byte [edi + 0x23], 0
push eax
push ebx
push dword [ebp - 0x14]
call fcn.1024d820
add esp, 0x10
test eax, eax
jne 0x1024e2cd
mov al, byte [edi + 0x32]
mov byte [edi + 0x30], 3
cmp al, 0xb9
je 0x1024e2a9
cmp al, 0xba
je 0x1024e2a9
cmp byte [edi + 0x21], 0
je 0x1024e092
mov al, byte [ebx + 0x14]
cmp al, 5
je 0x1024e065
cmp al, 6
jne 0x1024dedc
cmp byte [ebx + 0x348], 8
jne 0x1024dedc
mov eax, dword [ebp - 0x14]
push dword [edi + 0x44]
push dword [edi + 0x40]
movzx eax, byte [eax + 0x2c]
cdq
push edx
push eax
call fcn.10257580
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], edx
jmp 0x1024dedc
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
and eax, 0x1f
sub eax, 0x19
je 0x1024e0ce
dec eax
jne 0x1024e189
mov dl, byte [ebp - 9]
movzx eax, dl
lea eax, [eax + eax*2]
cmp byte [ebx + eax*8 + 0x351], 0
jne 0x1024e0d1
push 0x786
push 0x1034b180
push str.instruction__raw.imm_immId_.isRelative
call esi
add esp, 0xc
mov dl, byte [ebp - 9]
test dl, dl
je 0x1024e0f1
cmp dl, 1
je 0x1024e0f1
push 0x788
push 0x1034b180
push str._immId__0____immId__1_
call esi
mov dl, byte [ebp - 9]
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov byte [edi + 0x21], 4
movzx eax, byte [eax + 0x1d]
mov ax, word [ecx + eax*2 + 2]
shl ax, 3
mov word [edi + 0x26], ax
cmp byte [ecx + 9], 5
jne 0x1024e157
movzx esi, dl
lea eax, [esi + esi*2]
cmp byte [ebx + eax*8 + 0x360], 8
je 0x1024e13a
push 0x78e
push 0x1034b180
push str.instruction__raw.imm_immId_.size__8
call dword [0x102ab1d0]
add esp, 0xc
lea eax, [esi + esi*2]
lea ecx, [ebx + eax*8]
mov al, byte [ecx + 0x358]
and al, 0xf
movzx eax, al
cdq
mov dword [edi + 0x5c], edx
mov dl, byte [ebp - 9]
mov dword [edi + 0x58], eax
jmp 0x1024e172
movzx eax, dl
lea eax, [eax + eax*2]
lea ecx, [ebx + eax*8]
mov eax, dword [ecx + 0x358]
mov dword [edi + 0x58], eax
mov eax, dword [ecx + 0x35c]
mov dword [edi + 0x5c], eax
mov al, byte [ecx + 0x350]
inc dl
mov byte [edi + 0x50], al
mov al, byte [ecx + 0x351]
mov byte [edi + 0x51], al
mov byte [ebp - 9], dl
cmp byte [edi + 0x21], 4
je 0x1024ded6
mov esi, dword [0x102ab1d0]
push 0x79c
push 0x1034b180
push str.instruction__operands_i_.type__ZYDIS_OPERAND_TYPE_IMMEDIATE
call esi
add esp, 0xc
jmp 0x1024dedc
mov eax, ecx
and eax, 0x20000000
or eax, 0
jne 0x1024e228
mov eax, ecx
and eax, 0x40000000
or eax, 0
je 0x1024e1d0
mov byte [edi + 0x31], 0xbe
jmp 0x1024e22c
and ecx, 0x80000000
or ecx, 0
je 0x1024e1e1
mov byte [edi + 0x31], 0xbb
jmp 0x1024e22c
mov ecx, edx
xor eax, eax
and ecx, 1
or eax, ecx
je 0x1024e1f2
mov byte [edi + 0x31], 0xbf
jmp 0x1024e22c
and edx, 2
xor eax, eax
or eax, edx
je 0x1024e201
mov byte [edi + 0x31], 0xc0
jmp 0x1024e22c
cmp byte [edi + 0x31], 0
jne 0x1024e22c
mov al, byte [edi + 0x32]
cmp al, 0x39
je 0x1024e228
cmp al, 0x3a
je 0x1024e228
cmp al, 0x29
je 0x1024e228
cmp al, 0x2a
je 0x1024e228
cmp al, 0x19
je 0x1024e228
cmp al, 0x1a
je 0x1024e228
mov byte [edi + 0x31], 0xbe
jmp 0x1024e22c
mov byte [edi + 0x31], 0xbd
push dword [ebp - 8]
push dword [ebp - 0x1c]
push ebx
push dword [ebp - 0x14]
call fcn.102515c0
mov cl, byte [ebp - 0x15]
add esp, 0x10
add dword [ebp - 8], 0xb
inc cl
mov byte [ebp - 0x15], cl
cmp cl, byte [ebx + 0x1a]
jb 0x1024dcf0
cmp byte [ebx + 0x2c9], 0
je 0x1024e2cb
cmp byte [ebx + 0x2c8], 1
jne 0x1024e2cb
cmp byte [ebx + 0x2ca], 0
jne 0x1024e2cb
cmp byte [ebx + 0x1a], 1
jae 0x1024e288
push 0x7d6
push 0x1034b180
push str.instruction__operandCount___1
call esi
add esp, 0xc
movzx eax, byte [ebx + 0x23]
sub eax, 2
je 0x1024e2bf
dec eax
jne 0x1024e2cb
pop edi
pop esi
mov byte [ebx + 0x23], 6
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10257318
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 5
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10257318
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x21], 2
setne al
add al, 5
mov byte [ebx + 0x23], al
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10257318
mov esp, ebp
pop ebp
ret