Function at 0x402fc0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x98
mov ebx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
test ebx, ebx
sete al
test edx, edx
sete cl
or eax, ecx
test esi, esi
sete cl
or al, cl
mov byte [ebp - 0x60], al
jne 0x403260
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x40313c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], edx
mov ecx, 7
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x14]
test edx, edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x48]
cmovne eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], 0
mov dword [ebp + 0xc], eax
mov edi, dword [ebp + 0xc]
xor eax, eax
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x14], 0
rep stosd dword es:[edi], eax
mov ecx, 0x50
mov edi, ebx
mov byte [ebp - 0x10], 0xff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], esi
xor esi, esi
mov byte [ebp - 0x5c], 0
mov edx, esi
mov esi, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [ebx], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, 0x10
shl eax, cl
mov byte [ebx + 0x15], al
movzx eax, byte [esi]
cmp al, 0x67
je 0x4031f8
ja 0x403150
cmp al, 0x66
je 0x403220
cmp al, 0x63
ja 0x4031e0
lea ecx, [eax - 0x26]
cmp cl, 0x18
ja 0x4030b5
mov ebx, 1
shl ebx, cl
mov ecx, ebx
and ecx, 0x1010101
jne 0x403240
mov ebx, dword [ebp + 8]
cmp dword [ebx], 0
jne 0x403160
mov ecx, eax
and ecx, 0xfffffff0
cmp cl, 0x40
jne 0x403160
mov edi, dword [ebp + 0x18]
mov byte [ebp - 0x5c], al
mov byte [edi + 0xec], dl
jmp 0x403106
mov byte [ebp - 0x1b], al
mov byte [ebp - 0x18], al
mov byte [ebp - 0x16], dl
mov byte [ebp - 0x11], dl
movzx ecx, byte [ebp - 0x5c]
test cl, cl
je 0x403106
cmp al, cl
je 0x403106
mov edi, dword [ebp + 0x18]
mov byte [ebp - 0x5c], 0
mov byte [edi + 0xec], 0
mov edi, dword [ebp + 0x18]
dec dword [ebp + 0x14]
inc edx
inc esi
mov dword [ebp - 0x24], esi
movzx ecx, byte [edi + 0x68]
lea ebx, [ecx + 1]
mov byte [edi + 0x68], bl
mov byte [edi + ecx*8 + 0x70], al
mov eax, dword [ebp + 0x14]
mov byte [edi + 8], dl
mov dword [ebp - 0x20], eax
cmp dl, 0xf
je 0x4031d0
mov edi, dword [ebp + 0x14]
test edi, edi
jne 0x403077
mov eax, 0x80200000
add esp, 0x98
pop ebx
pop esi
pop edi
pop ebp
ret
cmp al, 0xf0
je 0x403210
lea ecx, [eax + 0xe]
cmp cl, 1
jbe 0x4030e0
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x20]
test ah, 8
je 0x40317a
movzx ecx, byte [ebp - 0x14]
mov dword [ebx + ecx*8 + 0x6c], 1
test ah, 0x10
je 0x40318b
movzx ecx, byte [ebp - 0x13]
mov dword [ebx + ecx*8 + 0x6c], 1
cmp byte [ebp - 0x5c], 0
jne 0x4036f8
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
test ecx, ecx
je 0x4031a8
cmp byte [ebp - 0x1a], 0x3e
je 0x403988
xor esi, esi
mov edi, 0x4a4820
nop
movzx eax, byte [edi]
xor edx, edx
mov word [ebp - 0x56], dx
cmp al, 0x1b
ja case.default.0x4031c1
jmp dword [eax*4 + 0x4451ac]
add esp, 0x98
mov eax, 0x80200002
pop ebx
pop esi
pop edi
pop ebp
ret
mov byte [ebp - 0x1a], al
mov byte [ebp - 0x15], dl
mov byte [ebp - 0x19], al
mov byte [ebp - 0x12], dl
mov byte [ebp - 0x10], 0xff
jmp 0x4030ec
mov edi, dword [ebp + 0x18]
mov byte [ebp - 0x13], dl
or dword [edi + 0x24], 0x1000
jmp 0x4030ec
mov byte [ebp - 0x1c], 1
mov byte [ebp - 0x17], dl
jmp 0x4030ec
cmp byte [ebp - 0x18], 0
mov byte [ebp - 0x14], dl
jne 0x403230
mov byte [ebp - 0x18], 0x66
mov byte [ebp - 0x11], dl
mov edi, dword [ebp + 0x18]
or dword [edi + 0x24], 0x800
jmp 0x4030ec
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4031e0
cmp al, 0x3e
je 0x403270
mov byte [ebp - 0x1a], al
mov byte [ebp - 0x15], dl
jmp 0x4030ec
mov eax, 0x80100004
jmp 0x403141
movzx ebx, byte [ebp - 0x19]
lea ecx, [ebx - 0x64]
cmp cl, 1
jbe 0x40324d
mov byte [ebp - 0x10], dl
jmp 0x40324d
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0xf], 0
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
lea esi, [esi]
mov dword [esp], edi
mov dword [esp + 4], ecx
call sym._ZydisDecoderTreeGetChildNode
mov edi, eax
jmp 0x4031b0
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0xe], 0
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0xd], 0
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0xc], 0
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0xb], 0
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0xa], 0
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 9], 0
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
movzx eax, byte [ebx + 0xf0]
mov word [ebp - 0x56], ax
mov ecx, eax
jmp 0x4032a0
movzx eax, byte [ebx + 0xf3]
mov word [ebp - 0x56], ax
mov ecx, eax
jmp 0x4032a0
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 9]
mov word [ebp - 0x56], ax
mov ecx, eax
jmp 0x4032a0
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 6]
mov word [ebp - 0x56], ax
mov ecx, eax
jmp 0x4032a0
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 0xb]
mov word [ebp - 0x56], ax
mov ecx, eax
cmp ax, 3
jne 0x4032a0
mov eax, 0x80200001
jmp 0x403141
cmp dword [ebx], 5
ja sym._ZydisDecodeOperands.cold
mov eax, dword [ebx]
jmp dword [eax*4 + 0x44521c]
mov edx, dword [ebx]
test edx, edx
je 0x4039b8
mov eax, dword [ebx + 0x24]
mov ecx, eax
and ecx, 0x800
mov dword [ebp - 0x5c], ecx
je 0x403436
movzx ecx, byte [ebp - 0x14]
mov dword [ebx + ecx*8 + 0x6c], 1
cmp edx, 3
je 0x4039d9
ja 0x40344a
cmp edx, 2
jne 0x4039d9
shr eax, 0xb
and eax, 1
mov word [ebp - 0x56], ax
movzx ecx, ax
jmp 0x4032a0
movzx eax, byte [ebp - 0x18]
cmp al, 0xf2
je 0x40425d
cmp al, 0xf3
je 0x404243
cmp al, 0x66
je 0x404222
mov ecx, 1
mov word [ebp - 0x56], cx
mov dword [esp + 4], 0
mov dword [esp], edi
call sym._ZydisDecoderTreeGetChildNode
movzx ecx, word [ebp - 0x56]
mov esi, eax
jmp 0x4032a0
cmp byte [ebp - 0x1b], 0
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
cmp dword [ebx], 5
ja sym._ZydisDecodeOperands.cold
mov eax, dword [ebx]
jmp dword [eax*4 + 0x445234]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4040af
cmp eax, 1
je 0x403a08
movzx eax, byte [ebx + 8]
cmp al, 0xe
ja 0x4031d0
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x5c], edx
test edx, edx
je 0x40313c
mov ecx, dword [ebp - 0x24]
inc eax
lea edx, [ecx + 1]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x5c]
movzx ecx, byte [ecx]
mov byte [ebx + 8], al
dec edx
mov byte [ebx + 0x14], cl
mov dword [ebp - 0x20], edx
movzx eax, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
mov eax, dword [ebx + 0xc]
cmp eax, 4
je 0x404130
cmp eax, 5
jne case.0x4034cb.2
movzx ecx, byte [ebx + 0xef]
movzx eax, byte [ebx + 0xec]
lea ecx, [eax + ecx*4 + 0x21]
mov word [ebp - 0x56], cx
movsx ecx, cx
jmp 0x4032a0
mov eax, dword [ebx + 0xc]
test eax, eax
je case.0x4034cb.2
movzx ecx, byte [ebx + 0xef]
movzx eax, byte [ebx + 0xeb]
lea ecx, [eax + ecx*4 + 1]
mov word [ebp - 0x56], cx
movsx ecx, cx
jmp 0x4032a0
mov eax, dword [ebx + 0xc]
test eax, eax
je case.0x4034cb.2
movzx ecx, byte [ebx + 0xef]
movzx eax, byte [ebx + 0xeb]
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + eax - 7]
mov word [ebp - 0x56], cx
movzx ecx, cx
jmp 0x4032a0
test esi, esi
je 0x4033e7
movzx eax, byte [ebp - 0x18]
test al, al
je 0x403601
movzx edx, byte [ebp - 0x11]
mov ecx, edx
add edx, 0xc
mov dword [ebx + edx*8 + 0xc], 0
cmp al, 0x66
jne 0x403601
cmp cl, byte [ebp - 0x14]
jne 0x4035fa
mov dword [ebx + edx*8 + 0xc], 1
or dword [ebx + 0x24], 0x800
mov edi, esi
xor esi, esi
jmp 0x4031b0
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0x10], 0
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
cmp byte [ebx + 0xfa], 0
je 0x403a88
movzx ecx, byte [ebx + 0xf8]
jmp 0x4036e4
lea ecx, [ebp - 0x56]
mov edx, ebx
lea eax, [ebp - 0x2c]
call sym._ZydisNodeHandlerModrmMod.constprop.0
test eax, eax
js 0x403141
cmp word [ebp - 0x56], 3
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
lea ecx, [ebp - 0x56]
mov edx, ebx
lea eax, [ebp - 0x2c]
call sym._ZydisNodeHandlerModrmMod.constprop.0
test eax, eax
js 0x403141
movzx eax, word [ebp - 0x56]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._ZydisDecoderTreeGetChildNode
mov edi, eax
jmp 0x4031b0
mov eax, dword [ebx]
test eax, eax
setne cl
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
cmp byte [ebx + 0xfa], 0
je 0x403a20
movzx ecx, byte [ebx + 0xf9]
movzx eax, cl
movzx ecx, cl
mov word [ebp - 0x56], ax
jmp 0x4032a0
movzx ecx, byte [ebx + 0xec]
or edx, 4
mov esi, dword [ebp + 0xc]
mov dword [ebx + ecx*8 + 0x6c], 1
movzx ecx, byte [ebp - 0x5c]
mov dword [ebx + 0x24], eax
mov eax, ecx
mov dword [ebx + 0x20], edx
mov edx, ecx
shr al, 2
shr dl, 3
and eax, 1
and edx, 1
mov byte [ebx + 0xe9], al
mov eax, ecx
shr al, 1
mov byte [ebx + 0xe8], dl
and eax, 1
mov byte [ebx + 0xea], al
mov eax, ecx
and eax, 1
mov byte [ebx + 0xeb], al
mov eax, dword [ebp + 0xc]
mov byte [eax + 6], dl
movzx eax, byte [ebx + 0xe9]
mov byte [esi + 7], al
movzx eax, byte [ebx + 0xea]
mov byte [esi + 8], al
movzx eax, byte [ebx + 0xeb]
mov byte [esi + 9], al
jmp 0x403195
mov dword [esp], edi
mov dword [esp + 4], 0
call sym._ZydisDecoderTreeGetChildNode
mov edi, eax
jmp 0x4031b0
mov edx, 2
mov ecx, 2
mov word [ebp - 0x56], dx
jmp 0x4032a0
lea eax, [ebp - 0x54]
mov dword [esp + 8], eax
movzx eax, word [edi + 1]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call sym._ZydisGetInstructionDefinition
mov eax, dword [ebp - 0x28]
mov edx, dword [ebx]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0x24]
mov esi, edx
and esi, 0xfffffffd
shr eax, 0xb
and eax, 1
cmp esi, 1
jne 0x403998
add eax, 2
movzx edx, byte [ecx + 5]
movzx eax, al
mov esi, dword [ebp - 0x5c]
and edx, 7
movzx eax, byte [eax + edx*8 + 0x49e300]
mov byte [ebx + 0x16], al
shr al, 5
mov byte [esi + 4], al
movzx edx, byte [ecx + 5]
mov eax, edx
and eax, 7
cmp al, 1
jne 0x403814
mov byte [ebx + 0x16], 8
movzx edx, byte [ecx + 5]
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x24]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x5c], ecx
shr eax, 0xc
and ecx, 0xfffffffd
and eax, 1
cmp ecx, 1
jne 0x4040a0
add eax, 2
shr dl, 3
movzx eax, al
and edx, 3
movzx eax, byte [eax + edx*8 + 0x49d9e0]
mov byte [ebx + 0x17], al
shr al, 5
mov byte [esi + 5], al
lea eax, [ebp - 0x50]
mov dword [esp + 4], eax
mov dword [esp], edi
call sym._ZydisGetInstructionEncodingInfo
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x28]
movzx eax, byte [edi]
mov edx, eax
and edx, 1
mov byte [ebp - 0x5c], dl
je 0x4038d0
cmp byte [ebx + 0xfa], 0
je 0x404277
test al, 0x10
jne 0x40419f
movzx eax, byte [ebx + 0x17]
sub eax, 0x20
and eax, 0xdf
mov byte [ebp - 0x64], al
movzx eax, byte [ebx + 0xf7]
je 0x40414e
cmp al, 2
je 0x404a8f
ja 0x4038c6
test al, al
jne 0x4045f0
cmp byte [ebx + 0xf9], 6
je 0x404a8f
test al, al
setne byte [ebp - 0x5c]
movzx eax, byte [ebp - 0x5c]
mov byte [esi + 0x10], al
movzx eax, byte [edi]
test al, 2
jne 0x4041b9
test al, 4
je 0x40391e
movzx eax, byte [edi + 8]
test al, al
je 0x4038ef
or dword [ebx + 0x20], 0x80
movzx eax, byte [edi + 8]
mov dword [esp + 8], eax
movzx eax, byte [edi + 7]
xor ecx, ecx
mov edx, ebx
mov dword [esp + 4], eax
movzx eax, byte [esi + 4]
movzx eax, byte [edi + eax + 4]
mov dword [esp], eax
lea eax, [ebp - 0x2c]
call sym._ZydisReadImmediate
test eax, eax
js 0x403141
movzx eax, byte [edi]
test al, 8
je 0x403955
movzx eax, byte [edi + 0xd]
mov ecx, 1
mov edx, ebx
mov dword [esp + 8], eax
movzx eax, byte [edi + 0xc]
mov dword [esp + 4], eax
movzx eax, byte [esi + 4]
movzx eax, byte [edi + eax + 9]
mov dword [esp], eax
lea eax, [ebp - 0x2c]
call sym._ZydisReadImmediate
test eax, eax
js 0x403141
mov edi, dword [ebp - 0x54]
mov esi, dword [ebx + 0xc]
movzx edx, byte [edi + 0xb]
movzx eax, byte [edi + 0xc]
and edx, 0x1f
and eax, 0x1f
mov byte [ebp - 0x70], dl
mov byte [ebp - 0x68], al
mov byte [ebp - 0x75], al
cmp esi, 5
ja sym._ZydisDecodeOperands.cold
jmp dword [esi*4 + 0x44524c]
movzx eax, byte [ebp - 0x15]
mov byte [ebp - 0x10], al
jmp 0x4031a8
test edx, edx
jne 0x4037e1
mov esi, dword [ebp - 0x5c]
movzx edx, byte [esi + 6]
add edx, edx
and edx, 2
lea eax, [eax + edx + 4]
jmp 0x4037e1
mov eax, dword [ebp - 0x28]
cmp byte [eax + 6], 0
jne case.0x4034cb.0
mov eax, dword [ebx + 0x24]
mov ecx, eax
and ecx, 0x800
mov dword [ebp - 0x5c], ecx
jne 0x40342a
mov eax, dword [ebp - 0x5c]
test eax, eax
sete cl
jmp 0x4036e4
mov ecx, dword [ebx + 0x24]
shr ecx, 0xc
and ecx, 1
mov word [ebp - 0x56], cx
movzx ecx, cx
jmp 0x4032a0
mov eax, 0xc
mov ecx, 0xc
mov word [ebp - 0x56], ax
jmp 0x4032a0
movzx eax, byte [ebx + 8]
mov byte [ebx + 0xfa], al
cmp al, 0xe
ja 0x4031d0
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x5c], edx
test edx, edx
je 0x40313c
mov edx, dword [ebp - 0x24]
inc eax
lea ecx, [edx + 1]
mov dword [ebp - 0x24], ecx
movzx ecx, byte [edx]
mov byte [ebx + 8], al
mov eax, dword [ebp - 0x5c]
or dword [ebx + 0x20], 1
dec eax
mov dword [ebp - 0x20], eax
mov eax, ecx
shr al, 6
mov byte [ebx + 0xf7], al
mov eax, ecx
and ecx, 7
shr al, 3
mov byte [ebx + 0xf9], cl
and eax, 7
mov byte [ebx + 0xf8], al
jmp 0x4036e4
movzx eax, byte [ebx + 8]
mov byte [ebx + 0xfa], al
cmp al, 0xe
ja 0x4031d0
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x5c], edx
test edx, edx
je 0x40313c
mov edx, dword [ebp - 0x24]
inc eax
lea ecx, [edx + 1]
mov dword [ebp - 0x24], ecx
movzx edx, byte [edx]
mov byte [ebx + 8], al
mov eax, dword [ebp - 0x5c]
mov ecx, edx
or dword [ebx + 0x20], 1
dec eax
shr cl, 3
mov dword [ebp - 0x20], eax
mov eax, edx
and ecx, 7
and edx, 7
shr al, 6
mov byte [ebx + 0xf8], cl
mov byte [ebx + 0xf7], al
mov byte [ebx + 0xf9], dl
jmp 0x4036e4
mov ecx, dword [ebx + 0x24]
shr ecx, 0xc
xor ecx, 1
mov eax, ecx
and ecx, 1
and eax, 1
mov word [ebp - 0x56], ax
jmp 0x4032a0
mov eax, 1
mov ecx, 1
mov word [ebp - 0x56], ax
jmp 0x4032a0
mov eax, dword [ebx + 0x24]
mov ecx, 2
and eax, 0x1000
cmp eax, 1
adc ecx, 0xffffffff
cmp eax, 1
mov eax, 2
adc ax, 0xffff
mov word [ebp - 0x56], ax
jmp 0x4032a0
mov dword [ebp - 0x84], 0
mov byte [ebp - 0x78], 0
mov byte [ebp - 0x79], 0
mov byte [ebp - 0x77], 0
mov byte [ebp - 0x6c], 0
lea esi, [esi]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x7a], 0
movzx ecx, byte [eax + 0x10]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x74], cl
test dl, dl
je 0x403b83
mov ecx, edx
and edx, 0xf
shr cl, 4
mov byte [ebp - 0x70], dl
mov byte [ebp - 0x7a], cl
movzx edx, byte [ebx + 0xf9]
mov byte [ebp - 0x5c], dl
movzx edx, byte [ebp - 0x68]
test dl, dl
jne 0x4041dc
movzx eax, byte [ebp - 0x6c]
mov dword [ebp - 0x8c], eax
movzx eax, byte [ebp - 0x70]
mov dword [ebp - 0x80], eax
mov eax, dword [ebx]
test eax, eax
sete byte [ebp - 0x85]
cmp byte [ebp - 0x74], 0
je 0x405682
mov byte [ebp - 0x7b], 0
mov dword [ebp - 0x90], 0
movzx edx, byte [ebx + 0xf8]
mov byte [ebp - 0x68], dl
mov edx, dword [ebp - 0x64]
movzx edx, byte [edx + 0xe]
mov byte [ebp - 0x76], dl
test eax, eax
jne 0x404453
mov eax, dword [ebp - 0x64]
mov byte [ebp - 0x7c], 0
lea edx, [esi - 4]
movzx eax, byte [eax + 0xd]
shl eax, 4
movzx ecx, byte [ebx + 0xfc]
xor esi, esi
mov byte [ebp - 0x86], al
movzx eax, byte [ebp - 0x5c]
mov byte [ebp - 0x87], cl
mov byte [ebp - 0x95], al
mov ecx, dword [ebp - 0x64]
movzx eax, byte [ecx + 8]
mov dword [ebp - 0x94], eax
shl eax, 4
cmp edx, 2
mov edx, 0
cmovae eax, edx
movzx edx, byte [ecx + 7]
mov byte [ebp - 0x88], al
movzx eax, byte [ecx + 0xc]
shl edx, 3
movzx ecx, byte [ecx + 9]
shl eax, 4
or eax, edx
or al, byte [ebp - 0x68]
shl ecx, 3
movzx edx, byte [ebp - 0x5c]
mov byte [ebp - 0x68], al
movzx eax, byte [ebp - 0x76]
or al, byte [ebp - 0x86]
or edx, ecx
or dl, byte [ebp - 0x88]
mov byte [ebp - 0x76], al
movzx eax, byte [ebp - 0x95]
or eax, ecx
mov byte [ebp - 0x86], al
mov eax, dword [ebp - 0x94]
lea ecx, [eax*8]
movzx eax, byte [ebp - 0x68]
or ecx, esi
movzx esi, byte [ebp - 0x87]
or esi, ecx
mov ecx, dword [ebp - 0x80]
and al, byte [ecx + 0x49e280]
cmp byte [ebp - 0x74], 0
mov byte [ebp - 0x68], al
je 0x403cb9
mov eax, dword [ebp - 0x90]
and dl, byte [eax + 0x49e28c]
mov byte [ebp - 0x5c], dl
cmp byte [ebp - 0x6c], 0
jne 0x403cdf
mov edx, dword [ebp - 0x64]
cmp byte [edx + 0xe], 0
jne 0x404090
cmp byte [ebp - 0x7c], 0
jne 0x403cdf
cmp byte [edx + 0xd], 0
jne 0x404090
movzx eax, byte [ebp - 0x85]
mov edx, dword [ebp - 0x80]
movzx ecx, byte [ebp - 0x68]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 0x49d9f8]
cmp byte [eax + edx], cl
jbe 0x404090
mov ecx, dword [ebp - 0x8c]
movzx edx, byte [ebp - 0x76]
cmp byte [eax + ecx], dl
jbe 0x404090
cmp byte [ebp - 0x74], 0
je 0x404870
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ebp - 0x5c]
cmp byte [eax + ecx], dl
jbe 0x404090
cmp byte [ebp - 0x70], 8
je 0x404d00
cmp byte [ebp - 0x75], 8
jne 0x405227
movzx ecx, byte [ebp - 0x5c]
mov edx, 1
movsx eax, cl
test cl, cl
js 0x404de3
cmp byte [eax + 0x49dfe8], 0
je 0x404090
cmp byte [ebp - 0x75], 0
setne al
and eax, edx
movzx ecx, byte [ebp - 0x68]
cmp byte [ebp - 0x70], 0
mov edx, 0xffffffff
cmove ecx, edx
mov byte [ebp - 0x68], cl
mov edx, dword [ebp - 0x64]
movzx ecx, byte [ebp - 0x68]
test al, al
mov eax, 0xffffffff
mov byte [edx + 0x11], cl
movzx edx, byte [ebp - 0x5c]
cmove edx, eax
mov byte [ebp - 0x5c], dl
mov edx, dword [ebp - 0x64]
movzx eax, byte [ebp - 0x5c]
movzx ecx, byte [ebp - 0x76]
cmp byte [ebp - 0x6c], 0
mov byte [edx + 0x12], al
mov eax, 0xffffffff
cmove ecx, eax
movzx eax, byte [ebp - 0x86]
cmp byte [ebp - 0x7a], 0
mov byte [edx + 0x14], al
mov eax, esi
mov byte [ebp - 0x76], cl
mov byte [edx + 0x13], cl
mov byte [edx + 0x15], al
je 0x403ddb
cmp byte [ebp - 0x68], 1
je 0x404090
cmp byte [ebp - 0x7b], 0
je 0x403deb
cmp byte [ebp - 0x5c], 1
je 0x404090
cmp byte [ebp - 0x77], 0
je 0x403e3d
mov eax, dword [ebx + 0xc]
cmp eax, 3
je 0x404a57
sub eax, 4
cmp eax, 1
ja 0x403e0f
cmp byte [ebp - 0x70], 0
je 0x404a99
movzx edx, byte [ebp - 0x68]
mov eax, 0xfffffff0
cmp dl, 0xf0
sete byte [ebp - 0x60]
mov ecx, esi
cmp dl, cl
sete dl
cmp cl, al
sete al
or dl, al
jne 0x404090
cmp byte [ebp - 0x60], 0
jne 0x404090
cmp byte [ebp - 0x79], 0
je 0x403e65
movzx eax, byte [ebp - 0x68]
movzx edx, byte [ebp - 0x76]
cmp al, dl
je 0x404090
cmp byte [ebp - 0x74], 0
je 0x403e65
movzx edx, byte [ebp - 0x5c]
cmp al, dl
je 0x404090
cmp byte [ebp - 0x78], 0
je 0x403e8f
movzx eax, byte [ebp - 0x76]
movzx ecx, byte [ebp - 0x5c]
cmp cl, al
sete dl
cmp byte [ebp - 0x68], al
sete al
or dl, al
jne 0x404090
cmp byte [ebp - 0x68], cl
je 0x404090
mov eax, dword [ebp - 0x84]
cmp eax, 2
je 0x404897
cmp eax, 3
jne 0x403eb0
mov eax, dword [ebp - 0x64]
cmp byte [eax + 0xf], 0
jne 0x403fb6
cmp dword [ebx + 0xc], 1
je 0x4042dc
movzx eax, byte [edi + 1]
movzx edx, byte [edi]
and eax, 7
shl eax, 8
or eax, edx
mov dword [ebx + 4], eax
movzx eax, byte [edi + 2]
and eax, 0xf
mov byte [ebx + 0x18], al
movzx eax, byte [edi + 2]
shr al, 4
and eax, 7
mov byte [ebx + 0x19], al
mov eax, dword [ebp - 0x64]
mov dword [eax], edi
mov eax, dword [ebp - 0x54]
movzx edx, byte [eax + 7]
shr dl, 1
movzx edx, dl
mov dword [ebx + 0x54], edx
movzx edx, byte [eax + 8]
mov dword [ebx + 0x58], edx
movzx edx, byte [eax + 9]
and edx, 0x7f
mov dword [ebx + 0x5c], edx
movzx edx, byte [eax + 0xa]
and edx, 3
mov dword [ebx + 0x60], edx
movzx edx, byte [eax + 0xa]
shr dl, 2
movzx edx, dl
mov dword [ebx + 0x64], edx
mov edx, dword [ebp - 0x2c]
cmp byte [edx + 8], 0
je 0x4044ab
mov eax, dword [ebx + 0xc]
mov dword [ebx + 0xe4], eax
mov eax, 0x100000
jmp 0x403141
movzx eax, byte [edi + 0xe]
mov byte [ebp - 0x78], 0
mov dword [ebp - 0x84], 0
and eax, 0x1f
mov byte [ebp - 0x79], 0
mov byte [ebp - 0x6c], al
mov byte [ebp - 0x77], 0
jmp 0x403b60
movzx ecx, byte [edi + 0xe]
mov eax, ecx
and eax, 0x1f
mov byte [ebp - 0x6c], al
mov eax, ecx
shr cl, 6
and ecx, 1
shr al, 5
mov byte [ebp - 0x79], cl
movzx ecx, byte [edi + 0x10]
and eax, 1
mov byte [ebp - 0x77], al
shr cl, 5
mov eax, ecx
and eax, 3
mov dword [ebp - 0x84], eax
movzx eax, byte [ebx + 0xf0]
mov byte [ebp - 0x78], al
test al, al
je 0x403b60
cmp byte [edi + 0x10], 0
mov byte [ebp - 0x78], 0
js 0x403b60
mov eax, 0x8020000a
jmp 0x403141
movzx ecx, byte [edi + 0xe]
mov byte [ebp - 0x79], 0
mov dword [ebp - 0x84], 0
mov eax, ecx
and eax, 0x1f
mov byte [ebp - 0x6c], al
mov eax, ecx
shr cl, 7
shr al, 5
mov byte [ebp - 0x78], cl
and eax, 1
mov byte [ebp - 0x77], al
jmp 0x403b60
cmp byte [edi + 6], 0
js 0x404a81
test byte [edi + 7], 1
je 0x40400e
mov eax, dword [ebx]
lea ecx, [eax - 1]
cmp ecx, 1
jbe 0x4033e7
movzx eax, byte [ebp - 0x1c]
mov byte [ebp - 0x6c], al
test al, al
je 0x404a6a
test byte [edi + 0xd], 0x40
je 0x404b61
mov dword [ebp - 0x84], esi
mov byte [ebp - 0x78], 0
mov byte [ebp - 0x79], 0
mov byte [ebp - 0x77], 0
mov byte [ebp - 0x6c], 0
jmp 0x403b60
movzx ecx, byte [edi + 0xe]
mov byte [ebp - 0x78], 0
mov byte [ebp - 0x79], 0
mov eax, ecx
shr cl, 5
and ecx, 1
and eax, 0x1f
mov byte [ebp - 0x77], cl
movzx ecx, byte [edi + 0xf]
mov byte [ebp - 0x6c], al
mov eax, ecx
and ecx, 0x1f
shr al, 5
and eax, 3
mov dword [ebp - 0x84], eax
movzx eax, byte [ebx + 0xf1]
cmp byte [eax + ecx*8 + 0x49e020], 0
jne 0x403b60
jmp 0x4033e7
mov eax, 0x80200003
jmp 0x403141
lea ecx, [eax + 4]
cmp dword [ebp - 0x5c], 0
cmove eax, ecx
jmp 0x403834
movzx edx, byte [ebx + 8]
cmp dl, 0xe
ja 0x4031d0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x40313c
mov eax, dword [ebp - 0x24]
lea ecx, [eax + 1]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x24], ecx
movzx ecx, byte [eax]
lea eax, [edx + 1]
mov byte [ebp - 0x6c], al
mov byte [ebx + 8], al
mov eax, dword [ebp - 0x5c]
mov byte [ebx + 0x14], cl
dec eax
cmp dword [ebx + 0x10], 1
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x20], eax
je 0x404838
ja 0x403520
cmp cl, 0x8f
je 0x404b89
ja 0x404828
cmp cl, 0xf
jne 0x4045fa
mov dword [ebx + 0x10], 1
jmp 0x403520
movzx ecx, byte [ebx + 0xef]
movzx eax, byte [ebx + 0xec]
lea ecx, [eax + ecx*8 + 1]
mov word [ebp - 0x56], cx
movsx ecx, cx
jmp 0x4032a0
cmp al, 3
je 0x4038c6
cmp byte [ebx + 0xf9], 4
je 0x404aa8
cmp al, 2
je 0x404188
test al, al
jne 0x4045f0
cmp byte [ebx + 0xf9], 5
jne 0x4038c0
cmp dword [ebx], 0
jne 0x404188
or dword [ebx + 0x20], 0x80
mov ecx, 0x20
mov edx, ebx
lea eax, [ebp - 0x2c]
call sym._ZydisReadDisplacement
test eax, eax
js 0x403141
movzx eax, byte [ebx + 0xf7]
cmp al, 3
je 0x4038c6
movzx eax, byte [edi]
and eax, 0x10
jmp 0x4038c0
movzx eax, byte [esi + 5]
mov edx, ebx
movzx ecx, byte [edi + eax + 1]
lea eax, [ebp - 0x2c]
call sym._ZydisReadDisplacement
test eax, eax
js 0x403141
movzx eax, byte [edi]
jmp 0x4038d8
cmp byte [ebp - 0x74], 0
je 0x404387
mov eax, edx
shr al, 4
mov byte [ebp - 0x7b], al
mov eax, edx
and eax, 0xf
mov byte [ebp - 0x75], al
movzx eax, byte [ebp - 0x6c]
mov dword [ebp - 0x8c], eax
mov eax, edx
and eax, 0xf
mov dword [ebp - 0x90], eax
movzx eax, byte [ebp - 0x70]
mov dword [ebp - 0x80], eax
mov eax, dword [ebx]
test eax, eax
sete byte [ebp - 0x85]
jmp 0x403bcd
movzx eax, byte [ebp - 0x11]
mov dword [ebx + eax*8 + 0x6c], 2
mov eax, 2
and dword [ebx + 0x24], 0xfffff7ff
mov word [ebp - 0x56], ax
jmp 0x403485
movzx eax, byte [ebp - 0x11]
mov dword [ebx + eax*8 + 0x6c], 2
mov eax, 3
mov word [ebp - 0x56], ax
jmp 0x403485
movzx eax, byte [ebp - 0x11]
mov esi, 4
mov word [ebp - 0x56], si
mov dword [ebx + eax*8 + 0x6c], 2
jmp 0x403485
movzx eax, byte [ebx + 8]
mov byte [ebx + 0xfa], al
cmp al, 0xe
ja 0x4031d0
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x64], edx
test edx, edx
je 0x40313c
mov edx, dword [ebp - 0x24]
inc eax
lea ecx, [edx + 1]
mov dword [ebp - 0x24], ecx
movzx edx, byte [edx]
mov byte [ebx + 8], al
mov eax, dword [ebp - 0x64]
or dword [ebx + 0x20], 1
dec eax
mov dword [ebp - 0x20], eax
mov eax, edx
shr al, 6
mov byte [ebx + 0xf7], al
mov eax, edx
and edx, 7
shr al, 3
mov byte [ebx + 0xf9], dl
and eax, 7
mov byte [ebx + 0xf8], al
movzx eax, byte [edi]
jmp 0x40387d
movzx eax, byte [ebx + 8]
cmp al, 0xe
ja 0x4031d0
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x40313c
mov ecx, dword [ebp - 0x24]
inc eax
dec edx
lea esi, [ecx + 1]
mov dword [ebp - 0x24], esi
movzx ecx, byte [ecx]
mov byte [ebx + 8], al
mov byte [ebx + 0x14], cl
mov dword [esp + 4], 0xf
mov dword [esp], 0x4a4820
mov dword [ebp - 0x20], edx
call sym._ZydisDecoderTreeGetChildNode
mov dword [esp + 4], 0xf
mov dword [esp], eax
call sym._ZydisDecoderTreeGetChildNode
movzx edx, byte [ebx + 0x14]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._ZydisDecoderTreeGetChildNode
cmp byte [eax], 0
je 0x4033e7
xor edx, edx
cmp byte [ebx + 0xf7], 3
mov dword [esp], eax
lea esi, [ebp - 0x54]
setne dl
mov dword [esp + 4], edx
call sym._ZydisDecoderTreeGetChildNode
mov dword [esp + 8], esi
movzx eax, word [eax + 1]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call sym._ZydisGetInstructionDefinition
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x64], eax
jmp 0x403eba
movzx ecx, byte [ebp - 0x68]
mov eax, ecx
and eax, 7
and ecx, 8
mov byte [ebp - 0x75], al
mov edx, eax
je 0x4043b6
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
test eax, eax
jne 0x4043b6
cmp byte [ebx + 0xf7], 0
jne 0x4043b6
cmp byte [ebp - 0x5c], 5
je 0x404090
movzx eax, byte [ebp - 0x6c]
mov dword [ebp - 0x8c], eax
movzx eax, dl
mov dword [ebp - 0x90], eax
movzx eax, byte [ebp - 0x70]
mov dword [ebp - 0x80], eax
mov eax, dword [ebx]
test eax, eax
sete byte [ebp - 0x85]
cmp byte [ebp - 0x75], 4
sete cl
cmp byte [ebp - 0x5c], 4
sete dl
and ecx, edx
mov byte [ebp - 0x7c], cl
movzx ecx, byte [ebx + 0xf8]
mov byte [ebp - 0x68], cl
test eax, eax
jne 0x404477
mov ecx, dword [ebp - 0x64]
lea edx, [esi - 4]
movzx eax, byte [ecx + 0xe]
mov byte [ebp - 0x76], al
movzx eax, byte [ecx + 0xd]
mov esi, eax
shl esi, 4
cmp byte [ebp - 0x5c], 4
mov ecx, esi
mov byte [ebp - 0x86], cl
jne 0x4050d7
movzx eax, byte [ebx + 0xfc]
cmp byte [ebp - 0x7c], 0
mov byte [ebp - 0x7b], 0
mov byte [ebp - 0x87], al
movzx eax, byte [ebx + 0xfd]
mov byte [ebp - 0x95], al
mov eax, 0
cmove esi, eax
jmp 0x403c19
movzx eax, byte [ebp - 0x76]
movzx esi, byte [ebx + 0xfc]
mov byte [ebp - 0x7c], 0
and eax, 7
mov byte [ebp - 0x76], al
movzx eax, byte [ebp - 0x5c]
mov byte [ebp - 0x86], al
jmp 0x403cbc
mov eax, dword [ebp - 0x64]
movzx esi, byte [ebx + 0xfc]
movzx eax, byte [eax + 0xe]
and eax, 7
cmp byte [ebp - 0x5c], 4
mov byte [ebp - 0x76], al
jne 0x4050c4
movzx eax, byte [ebx + 0xfd]
mov byte [ebp - 0x7b], 0
mov byte [ebp - 0x86], al
jmp 0x403cbc
movzx ecx, byte [eax + 0xc]
test cl, 0x60
je 0x4044d4
shr cl, 5
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x24]
and ecx, 3
or esi, dword [ecx*8 + 0x49e260]
or edi, dword [ecx*8 + 0x49e264]
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], edi
movzx ecx, byte [eax + 0xd]
mov esi, ecx
and esi, 3
je 0x404502
mov ecx, esi
mov edi, dword [ebx + 0x24]
mov esi, dword [ebx + 0x20]
movzx ecx, cl
or esi, dword [ecx*8 + 0x49e240]
or edi, dword [ecx*8 + 0x49e244]
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], edi
movzx ecx, byte [eax + 0xd]
test cl, 0xc
je 0x404527
shr cl, 2
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x24]
and ecx, 3
or esi, dword [ecx*8 + 0x49e220]
or edi, dword [ecx*8 + 0x49e224]
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], edi
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x4048a9
test byte [eax + 0xd], 0x10
je 0x404587
movzx esi, byte [ebp - 0x19]
or dword [ebx + 0x20], 0x4000000
mov edx, dword [ebx + 0x24]
mov ecx, esi
test cl, cl
je 0x404573
cmp cl, 0x3e
je 0x40511e
ja 0x404d8d
cmp cl, 0x2e
je 0x405113
cmp cl, 0x36
jne 0x405108
or edx, 0x40
mov dword [ebx + 0x24], edx
and edx, 0x7e0
je 0x404587
movzx edx, byte [ebp - 0x12]
mov dword [ebx + edx*8 + 0x6c], 1
lea edx, [edi - 2]
cmp edx, 3
ja 0x4045bd
mov edx, dword [ebp - 0x28]
cmp edi, 4
je 0x404e97
cmp edi, 5
je 0x404e2c
movzx edx, byte [edx + 0xb]
cmp edi, 3
je 0x404fc9
movzx edx, word [edx + edx + 0x49dfe4]
mov word [ebx + 0x30], dx
lea edx, [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._ZydisGetAccessedFlags
test al, al
je 0x4045d7
or dword [ebx + 0x20], 0x200
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 0x28], eax
add eax, 0x14
mov dword [ebx + 0x2c], eax
jmp 0x403f2c
dec al
jne 0x404188
mov ecx, 8
jmp 0x40418d
cmp cl, 0x62
jne 0x403520
cmp byte [ebp - 0x6c], 0xf
je 0x4031d0
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x40313c
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax + 1]
mov byte [ebp - 0x6c], al
and eax, 0xfffffff0
cmp al, 0xbf
ja 0x404632
cmp dword [ebx], 0
jne 0x403520
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x74], eax
test byte [ebp - 0x6c], 4
jne 0x404ded
cmp byte [ebp - 0x1c], 0
jne 0x404b61
cmp byte [ebp - 0x18], 0
jne 0x404fbf
mov dword [ebp - 0x4c], 0
mov byte [ebp - 0x4c], cl
cmp cl, 0xc4
je 0x405249
cmp cl, 0xc5
je 0x4054f4
lea eax, [edx + 4]
cmp al, 0xf
ja 0x4031d0
cmp dword [ebp - 0x68], 2
jbe 0x40313c
mov ecx, dword [ebp - 0x64]
mov byte [ebx + 8], al
movzx eax, word [ecx + 1]
mov word [ebp - 0x4b], ax
mov eax, dword [ebp - 0x70]
movzx eax, byte [eax + 2]
mov byte [ebp - 0x49], al
lea eax, [ecx + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x5c]
sub eax, 4
mov dword [ebp - 0x20], eax
movzx eax, byte [ebp - 0x4a]
mov byte [ebp - 0x5c], al
test al, 4
jne 0x405327
mov eax, dword [ebp - 0x2c]
mov byte [ebx + 0xf4], dl
cmp dword [eax], 0
jne 0x4033e7
cmp dword [ebx], 0
mov dword [ebx + 0xc], 5
jne 0x4033e7
mov edx, dword [ebp - 0x6c]
movzx ecx, byte [ebp - 0x4b]
mov eax, dword [ebp - 0x28]
or edx, 0x40
mov dword [ebx + 0x20], edx
mov edx, dword [ebp - 0x74]
mov dword [ebx + 0x24], edx
mov edx, ecx
shr dl, 7
mov byte [ebx + 0xe8], dl
mov edx, ecx
shr dl, 6
and edx, 1
mov byte [ebx + 0xe9], dl
mov edx, ecx
shr dl, 5
and edx, 1
mov byte [ebx + 0xea], dl
mov edx, ecx
shr dl, 4
and edx, 1
mov byte [ebx + 0xeb], dl
mov edx, ecx
and edx, 0xf
and cl, 0xc
mov byte [ebx + 0xec], dl
jne 0x40531d
movzx edx, byte [ebp - 0x5c]
mov ecx, edx
shr dl, 3
and edx, 0xf
shr cl, 7
mov byte [ebx + 0xee], dl
movzx edx, byte [ebp - 0x5c]
mov byte [ebx + 0xed], cl
and edx, 3
mov byte [ebx + 0xef], dl
movzx edx, byte [ebp - 0x49]
shr dl, 7
mov byte [ebx + 0xf0], dl
movzx edx, byte [ebp - 0x49]
shr dl, 4
and edx, 7
mov byte [ebx + 0xf1], dl
movzx edx, byte [ebp - 0x49]
shr dl, 3
and edx, 1
mov byte [ebx + 0xf2], dl
movzx edx, byte [ebp - 0x49]
and edx, 7
mov byte [ebx + 0xf3], dl
mov byte [eax + 6], cl
movzx edx, byte [ebx + 0xe8]
not edx
and edx, 1
mov byte [eax + 7], dl
movzx edx, byte [ebx + 0xe9]
not edx
and edx, 1
mov byte [eax + 8], dl
movzx edx, byte [ebx + 0xea]
not edx
and edx, 1
mov byte [eax + 9], dl
movzx edx, byte [ebx + 0xeb]
not edx
and edx, 1
mov byte [eax + 0xc], dl
movzx edx, byte [ebx + 0xf2]
mov byte [eax + 0xb], 2
not edx
and edx, 1
mov byte [eax + 0xd], dl
movzx edx, byte [ebx + 0xee]
not edx
and edx, 0xf
mov byte [eax + 0xe], dl
movzx edx, byte [ebx + 0xf3]
mov byte [eax + 0xf], dl
movzx eax, byte [ebx + 0xec]
mov dword [ebx + 0x10], eax
movzx ecx, byte [ebx + 0x14]
jmp 0x403520
lea eax, [ecx + 0x3c]
cmp al, 1
ja 0x403520
jmp 0x404603
cmp cl, 0x38
je 0x404d65
cmp cl, 0x3a
je 0x404d59
cmp cl, 0xf
jne 0x403520
cmp byte [ebp - 0x1c], 0
jne 0x404b61
mov dword [ebx + 0xc], 1
mov dword [ebx + 0x10], 8
jmp 0x403520
movzx eax, byte [ebp - 0x70]
cmp al, 8
je 0x404b6b
test al, al
mov eax, dword [ebp - 0x64]
je 0x404b50
movzx edx, byte [ebp - 0x68]
mov byte [ebp - 0x5c], 0xff
mov byte [eax + 0x11], dl
jmp 0x403d9c
mov eax, dword [ebp - 0x64]
cmp byte [eax + 0xf], 0
jne 0x403eb0
jmp 0x403fb6
movzx ecx, byte [eax + 0xd]
test cl, 0x20
je 0x4048bd
or dword [ebx + 0x20], 0x100
movzx ecx, byte [eax + 0xd]
test cl, 0x40
je 0x4048ef
mov ecx, dword [ebx + 0x20]
mov esi, ecx
or esi, 0x10000
cmp byte [ebp - 0x1c], 0
mov dword [ebx + 0x20], esi
je 0x4048eb
or ecx, 0x8010000
mov dword [ebx + 0x20], ecx
movzx ecx, byte [ebp - 0x17]
mov dword [ebx + ecx*8 + 0x6c], 1
movzx ecx, byte [eax + 0xd]
test cl, cl
jns 0x4048fa
or dword [ebx + 0x20], 0x20000
movzx ecx, byte [eax + 0xe]
test cl, 1
je 0x40490e
or dword [ebx + 0x20], 0x40000
movzx ecx, byte [eax + 0xe]
test cl, 2
je 0x40491e
or dword [ebx + 0x20], 0x80000
movzx ecx, byte [eax + 0xe]
test cl, 4
je 0x40492e
or dword [ebx + 0x20], 0x100000
movzx ecx, byte [eax + 0xe]
test cl, 8
je 0x40493e
or dword [ebx + 0x20], 0x200000
movzx ecx, byte [eax + 0xe]
test cl, 0x10
je 0x40494e
or dword [ebx + 0x20], 0x400000
movzx ecx, byte [eax + 0xe]
and ecx, 0x40
je 0x40495a
or dword [ebx + 0x20], 0x800000
movzx ecx, byte [ebp - 0x1b]
cmp cl, 0xf2
je 0x404d71
cmp cl, 0xf3
jne 0x404987
mov ecx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x24]
test ecx, 0x20000
je 0x404dcd
or ecx, 0x10000000
mov dword [ebx + 0x20], ecx
movzx ecx, byte [ebp - 0x16]
lea esi, [ecx + 0xc]
mov ecx, dword [ebx + ecx*8 + 0x6c]
test ecx, ecx
jne 0x4049b1
mov ecx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x24]
and ecx, 0xf0000000
and edi, 3
or edi, ecx
je 0x4049b1
mov dword [ebx + esi*8 + 0xc], 1
movzx ecx, byte [eax + 0xe]
test cl, cl
js 0x404d20
and ecx, 0x20
je 0x4049e8
or dword [ebx + 0x20], 0x2000000
cmp byte [edx + 0xc], 0
mov ecx, dword [ebx + 0x24]
je 0x4049e8
movsx edx, byte [ebp - 0x10]
test dl, dl
js 0x4049e8
or ecx, 0x10
mov dword [ebx + 0x24], ecx
mov dword [ebx + edx*8 + 0x6c], 1
test byte [eax + 0xd], 0x10
je 0x4045bd
cmp byte [eax + 0xe], 0
js 0x4045bd
movzx ecx, byte [ebp - 0x19]
or dword [ebx + 0x20], 0x4000000
mov edx, dword [ebx + 0x24]
test cl, cl
je 0x404a3a
test dl, 0x10
jne 0x404a3a
cmp cl, 0x3e
je 0x40509e
ja 0x404ff9
cmp cl, 0x2e
je 0x40523e
cmp cl, 0x36
jne 0x405233
or edx, 0x40
mov dword [ebx + 0x24], edx
and edx, 0x7e0
je 0x4045bd
movzx edx, byte [ebp - 0x12]
mov dword [ebx + edx*8 + 0x6c], 1
jmp 0x4045bd
movzx eax, byte [ebp - 0x76]
movzx edx, byte [ebp - 0x68]
cmp dl, al
sete byte [ebp - 0x60]
jmp 0x403e1f
mov dword [ebp - 0x84], esi
mov byte [ebp - 0x78], 0
mov byte [ebp - 0x79], 0
mov byte [ebp - 0x77], 0
jmp 0x403b60
cmp dword [ebx], 5
jne 0x403ffa
jmp 0x4033e7
mov ecx, 0x10
jmp 0x40418d
mov eax, 0xfffffff0
mov edx, 0xfffffff1
jmp 0x403e1f
cmp al, 1
je 0x404df7
movzx ecx, byte [ebp - 0x64]
cmp al, 2
mov edx, 0x20
cmovae ecx, edx
mov byte [ebp - 0x64], cl
movzx edx, byte [ebx + 8]
mov byte [ebx + 0xfe], dl
cmp dl, 0xe
ja 0x4031d0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x68], ecx
test ecx, ecx
je 0x40313c
mov ecx, dword [ebp - 0x24]
inc edx
mov dword [ebp - 0x6c], ecx
inc ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x6c]
movzx ecx, byte [ecx]
mov byte [ebx + 8], dl
or dword [ebx + 0x20], 2
mov byte [ebp - 0x6c], cl
mov ecx, dword [ebp - 0x68]
dec ecx
mov dword [ebp - 0x20], ecx
movzx ecx, byte [ebp - 0x6c]
mov edx, ecx
shr dl, 6
mov byte [ebx + 0xfb], dl
mov edx, ecx
shr dl, 3
and edx, 7
mov byte [ebx + 0xfc], dl
mov edx, ecx
and edx, 7
mov byte [ebx + 0xfd], dl
cmp dl, 5
je 0x4045e8
cmp byte [ebp - 0x64], 0
je 0x4041ae
movzx ecx, byte [ebp - 0x64]
jmp 0x40418d
mov byte [eax + 0x11], 0xff
mov byte [ebp - 0x68], 0xff
mov byte [ebp - 0x5c], 0xff
jmp 0x403d9c
mov eax, 0x80200004
jmp 0x403141
movsx eax, byte [ebp - 0x68]
xor edx, edx
cmp byte [ebp - 0x68], 0
jns 0x403d58
cmp byte [ebp - 0x75], 0
setne al
and eax, edx
jmp 0x403d81
cmp byte [ebp - 0x6c], 0xf
je 0x4031d0
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x40313c
mov eax, dword [ebp - 0x64]
test byte [eax + 1], 0x18
je 0x403520
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x6c], eax
test cl, 4
jne 0x404ded
cmp byte [ebp - 0x1c], 0
jne 0x404b61
cmp byte [ebp - 0x18], 0
jne 0x404fbf
mov byte [ebx + 0xf0], dl
lea eax, [edx + 3]
cmp dl, 0xd
je 0x4031d0
cmp dword [ebp - 0x68], 1
je 0x40313c
mov edx, dword [ebp - 0x64]
mov byte [ebx + 8], al
add edx, 3
movzx eax, word [edx - 2]
mov dword [ebx + 0xc], 2
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x5c]
sub edx, 3
cmp dword [ebx], 5
mov dword [ebp - 0x20], edx
je 0x4033e7
or ecx, 8
mov edx, dword [ebp - 0x28]
mov dword [ebx + 0x20], ecx
mov ecx, eax
shr cl, 7
mov byte [ebx + 0xe8], cl
mov ecx, eax
shr cl, 6
and ecx, 1
mov byte [ebx + 0xe9], cl
mov ecx, eax
shr cl, 5
and ecx, 1
mov byte [ebx + 0xea], cl
mov ecx, eax
and ecx, 0x1f
mov byte [ebx + 0xeb], cl
sub ecx, 8
cmp cl, 2
ja 0x40531d
movzx ecx, ah
mov word [ebp - 0x5c], cx
mov ecx, eax
shr cx, 0xf
mov byte [ebx + 0xec], cl
mov byte [ebp - 0x64], cl
mov ecx, eax
shr ax, 0xa
and eax, 1
shr cx, 0xb
mov byte [ebx + 0xee], al
and ecx, 0xf
movzx eax, byte [ebp - 0x5c]
mov byte [ebx + 0xed], cl
movzx ecx, byte [ebp - 0x64]
and eax, 3
mov byte [ebx + 0xef], al
mov byte [edx + 6], cl
movzx eax, byte [ebx + 0xe8]
not eax
and eax, 1
mov byte [edx + 7], al
movzx eax, byte [ebx + 0xe9]
not eax
and eax, 1
mov byte [edx + 8], al
movzx eax, byte [ebx + 0xea]
not eax
and eax, 1
mov byte [edx + 9], al
movzx eax, byte [ebx + 0xee]
mov byte [edx + 0xa], al
mov byte [edx + 0xb], al
movzx eax, byte [ebx + 0xed]
not eax
and eax, 0xf
mov byte [edx + 0xe], al
movzx eax, byte [ebx + 0xeb]
inc eax
mov dword [ebx + 0x10], eax
jmp 0x40481b
cmp byte [ebp - 0x75], 8
je 0x403d44
movsx eax, byte [ebp - 0x68]
mov edx, 1
jmp 0x404b71
movzx esi, byte [ebp - 0x1a]
or dword [ebx + 0x20], 0x1000000
mov edi, dword [ebx + 0x24]
mov ecx, esi
cmp cl, 0x2e
je 0x404fb7
cmp cl, 0x3e
jne 0x404d50
or edi, 8
movzx ecx, byte [ebp - 0x15]
mov dword [ebx + 0x24], edi
mov dword [ebx + ecx*8 + 0x6c], 1
movzx ecx, byte [eax + 0xe]
jmp 0x4049bd
mov dword [ebx + 0x10], 3
jmp 0x403520
mov dword [ebx + 0x10], 2
jmp 0x403520
mov ecx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x24]
test ecx, 0x80000
je 0x404da1
or ecx, 0x40000000
mov dword [ebx + 0x20], ecx
jmp 0x404987
cmp cl, 0x64
je 0x405129
or dh, 4
mov dword [ebx + 0x24], edx
jmp 0x404573
test ecx, 0x200000
je 0x404f90
test ecx, 0x8000000
jne 0x404dbf
test byte [eax + 0xe], 0x40
je 0x404f90
or esi, 1
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], esi
jmp 0x404987
test ecx, 0x40000
je 0x404e00
or ecx, 0x20000000
mov dword [ebx + 0x20], ecx
jmp 0x404987
mov eax, 1
jmp 0x403d6e
mov eax, 0x80200006
jmp 0x403141
mov byte [ebp - 0x64], 8
jmp 0x404ac1
test ecx, 0x400000
je 0x404987
test ecx, 0x8000000
jne 0x404e1e
test byte [eax + 0xe], 0x40
je 0x404987
or esi, 2
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], esi
jmp 0x404987
mov word [ebx + 0x30], 0x200
movzx edi, byte [eax + 0xf]
mov byte [ebp - 0x5c], 1
mov ecx, edi
test cl, cl
js 0x404e7d
movzx ecx, byte [eax + 0x10]
and cl, 7
mov byte [ebp - 0x5c], cl
je 0x404e7d
mov byte [ebx + 0x3c], 1
movzx ecx, byte [eax + 0x10]
and ecx, 7
cmp cl, 3
je 0x4050f4
ja 0x4050e0
dec cl
jne 0x4055d8
mov byte [ebp - 0x5c], 1
mov dword [ebx + 0x40], 3
movzx edi, byte [eax + 0xf]
mov esi, edi
and esi, 0x1f
mov ecx, esi
cmp cl, 0x19
ja sym._ZydisDecodeOperands.cold
movzx esi, cl
jmp dword [esi*4 + 0x445264]
movzx ecx, byte [eax + 0xf]
movzx esi, byte [edx + 0xb]
and cl, 3
je 0x404ea7
lea esi, [ecx - 1]
mov ecx, esi
movzx edi, cl
movzx ecx, word [edi + edi + 0x49dfdc]
mov word [ebx + 0x30], cx
movzx ecx, byte [eax + 0xf]
shr cl, 2
and ecx, 0x1f
mov byte [edx + 0x16], cl
test byte [eax + 0xf], 0x7c
je 0x40501b
movzx ecx, byte [eax + 0x10]
and ecx, 7
movzx ecx, byte [ecx + 0x49dba8]
mov byte [ebp - 0x5c], cl
mov byte [edx + 0x17], cl
movzx ecx, byte [eax + 0xf]
shr cl, 2
mov esi, ecx
add esi, 0x1f
and esi, 0x1f
mov ecx, esi
cmp cl, 0xf
ja sym._ZydisDecodeOperands.cold
movzx esi, cl
jmp dword [esi*4 + 0x4452cc]
movzx esi, byte [ebx + 0xf1]
movzx ecx, byte [ebp - 0x5c]
movzx ecx, byte [ecx + esi + 0x49dee0]
mov byte [edx + 0x19], cl
movzx edi, byte [eax + 0xf]
mov ecx, edi
and ecx, 0x1f
mov byte [edx + 0x18], cl
movzx edx, byte [eax + 0xf]
and edx, 0x1f
cmp dl, 0x19
ja sym._ZydisDecodeOperands.cold
movzx edx, dl
jmp dword [edx*4 + 0x44530c]
movzx edx, byte [ebx + 0xf1]
and edx, 3
inc edx
mov dword [ebx + 0x44], edx
cmp byte [ebx + 0xf1], 3
jbe case.0x404f3c.0
mov byte [ebx + 0x50], 1
cmp byte [ebx + 0xf7], 3
je 0x404f74
cmp byte [ebx + 0xf0], 0
je 0x404f74
mov byte [ebx + 0x51], 1
movzx edx, byte [ebx + 0xf3]
mov dword [ebx + 0x34], 2
add edx, 0xf8
mov dword [ebx + 0x38], edx
jmp 0x4045bd
cmp byte [edx + 0xb], 0
je 0x404987
test ecx, 0x100000
je 0x404987
or ecx, 0x80000000
mov dword [ebx + 0x24], esi
mov dword [ebx + 0x20], ecx
jmp 0x404987
or edi, 4
jmp 0x404d41
mov eax, 0x80200005
jmp 0x403141
movzx edx, word [edx + edx + 0x49dfe4]
mov word [ebx + 0x30], dx
test byte [eax + 0xf], 7
je 0x4045bd
mov byte [ebx + 0x3c], 1
movzx edx, byte [eax + 0xf]
and edx, 7
mov edx, dword [edx*4 + 0x49db20]
mov dword [ebx + 0x40], edx
jmp 0x4045bd
cmp cl, 0x64
je 0x4057c2
or dh, 4
mov dword [ebx + 0x24], edx
jmp 0x404a3a
cmp byte [edx + 6], 0
jne case.0x404f00.9
mov byte [edx + 0x19], 0x10
test byte [eax + 0x11], 0x3c
je 0x405039
mov byte [ebx + 0x3c], 1
movzx ecx, byte [eax + 0x11]
shr cl, 2
and ecx, 0xf
mov ecx, dword [ecx*4 + 0x49db40]
mov dword [ebx + 0x40], ecx
cmp byte [ebx + 0xf3], 0
je 0x40505a
movzx ecx, byte [eax + 0x10]
shr cl, 3
and ecx, 3
cmp cl, 2
je 0x4050a9
cmp cl, 3
jne 0x40505a
mov byte [ebx + 0x50], 1
movzx edx, byte [ebx + 0xf5]
mov ecx, edx
add edx, 0xf8
mov dword [ebx + 0x38], edx
movzx edx, byte [eax + 0x11]
and edx, 3
cmp dl, 1
je 0x4050bb
cmp dl, 2
movzx edx, byte [ebx + 0xf0]
je 0x4050b3
add edx, 2
mov dword [ebx + 0x34], edx
test cl, cl
jne 0x4045bd
mov dword [ebx + 0x34], 1
jmp 0x4045bd
or dl, 0x80
mov dword [ebx + 0x24], edx
jmp 0x404a3a
movzx edx, byte [edx + 0xb]
inc edx
mov dword [ebx + 0x44], edx
jmp 0x405056
add edx, 4
mov dword [ebx + 0x34], edx
jmp 0x40508a
mov dword [ebx + 0x34], 3
jmp 0x40508a
movzx eax, byte [ebp - 0x5c]
mov byte [ebp - 0x7b], 0
mov byte [ebp - 0x86], al
jmp 0x403cbc
mov byte [ebp - 0x7b], 0
jmp 0x403bf7
mov dword [ebx + 0x40], 0xb
movzx edi, byte [eax + 0xf]
mov byte [ebp - 0x5c], 2
jmp 0x404e7d
mov dword [ebx + 0x40], 0xa
movzx edi, byte [eax + 0xf]
mov byte [ebp - 0x5c], 2
jmp 0x404e7d
or dh, 1
mov dword [ebx + 0x24], edx
jmp 0x404573
or edx, 0x20
mov dword [ebx + 0x24], edx
jmp 0x404573
or dl, 0x80
mov dword [ebx + 0x24], edx
jmp 0x404573
or dh, 2
mov dword [ebx + 0x24], edx
jmp 0x404573
movzx esi, byte [ebx + 0xf1]
movzx ecx, byte [ebp - 0x5c]
movzx ecx, byte [esi + ecx*8 + 0x49e10c]
mov byte [edx + 0x19], cl
movzx edi, byte [eax + 0xf]
jmp case.0x404e90.0
mov byte [edx + 0x19], 0x40
movzx edi, byte [eax + 0xf]
jmp case.0x404e90.0
cmp byte [ebx + 0xf1], 7
ja sym._ZydisDecodeOperands.cold
movzx edx, byte [ebx + 0xf1]
jmp dword [edx*4 + 0x445374]
movzx edx, byte [ebx + 0xf1]
cmp dl, 1
je 0x4051b4
cmp dl, 2
jne case.0x404f3c.0
mov dword [ebx + 0x40], 0xa
jmp case.0x404f3c.0
mov dword [ebx + 0x4c], 4
jmp case.0x404f3c.0
mov dword [ebx + 0x4c], 5
jmp case.0x404f3c.0
mov dword [ebx + 0x40], 3
jmp case.0x404f3c.0
mov dword [ebx + 0x4c], 2
jmp case.0x404f3c.0
mov dword [ebx + 0x4c], 3
jmp case.0x404f3c.0
mov dword [ebx + 0x40], 0xb
jmp case.0x404f3c.0
mov dword [ebx + 0x40], 4
jmp case.0x404f3c.0
cmp byte [ebx + 0xf1], 7
ja sym._ZydisDecodeOperands.cold
movzx edx, byte [ebx + 0xf1]
jmp dword [edx*4 + 0x445394]
movzx edx, byte [ebx + 0xf1]
inc edx
mov dword [ebx + 0x48], edx
jmp case.0x404f3c.0
mov dword [ebx + 0x4c], 1
jmp case.0x404f3c.0
cmp byte [ebp - 0x75], 0
setne al
jmp 0x403d6e
or dh, 1
mov dword [ebx + 0x24], edx
jmp 0x404a3a
or edx, 0x20
mov dword [ebx + 0x24], edx
jmp 0x404a3a
mov byte [ebx + 0xf0], dl
lea eax, [edx + 3]
cmp dl, 0xd
je 0x4031d0
cmp dword [ebp - 0x68], 1
je 0x40313c
mov edx, dword [ebp - 0x64]
mov byte [ebx + 8], al
add edx, 3
movzx eax, word [edx - 2]
mov dword [ebx + 0xc], 3
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x5c]
mov word [ebp - 0x4b], ax
sub edx, 3
cmp dword [ebx], 5
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x28]
je 0x4033e7
mov ecx, dword [ebp - 0x6c]
mov byte [ebx + 0xf1], 3
or ecx, 0x10
mov dword [ebx + 0x20], ecx
mov ecx, eax
shr cl, 7
mov byte [ebx + 0xe8], cl
mov ecx, eax
shr cl, 6
and ecx, 1
mov byte [ebx + 0xe9], cl
mov ecx, eax
shr cl, 5
and ecx, 1
mov byte [ebx + 0xea], cl
mov ecx, eax
and ecx, 0x1f
mov byte [ebx + 0xeb], cl
movzx ecx, ah
mov word [ebp - 0x5c], cx
mov ecx, eax
shr cx, 0xf
mov byte [ebx + 0xec], cl
mov ecx, eax
shr cx, 0xb
and ecx, 0xf
mov byte [ebx + 0xed], cl
mov ecx, eax
shr cx, 0xa
and ecx, 1
mov byte [ebx + 0xee], cl
movzx ecx, byte [ebp - 0x5c]
and ecx, 3
mov byte [ebx + 0xef], cl
test al, 0x1c
je 0x405576
mov eax, 0x80200007
jmp 0x403141
mov eax, dword [ebx]
mov byte [ebx + 0xf6], dl
mov dword [ebx + 0xc], 4
mov dword [ebp - 0x64], eax
cmp eax, 5
je 0x4033e7
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x28]
or edx, 0x20
mov dword [ebx + 0x20], edx
movzx edx, byte [ebp - 0x4b]
mov ecx, edx
shr cl, 7
mov byte [ebx + 0xe8], cl
mov ecx, edx
shr cl, 6
and ecx, 1
mov byte [ebx + 0xe9], cl
mov ecx, edx
shr cl, 5
and ecx, 1
mov byte [ebx + 0xea], cl
mov ecx, edx
shr cl, 4
and ecx, 1
mov byte [ebx + 0xeb], cl
test dl, 8
jne 0x4054ea
mov ecx, edx
and ecx, 7
and dl, 3
mov byte [ebx + 0xec], cl
je 0x40531d
cmp cl, 7
je 0x40531d
movzx edx, byte [ebp - 0x5c]
mov ecx, edx
shr cl, 7
mov byte [ebp - 0x5c], cl
mov byte [ebx + 0xed], cl
mov ecx, edx
shr dl, 3
and edx, 0xf
mov byte [ebx + 0xee], dl
mov edx, ecx
and edx, 3
mov byte [ebx + 0xef], dl
movzx edx, byte [ebp - 0x49]
mov ecx, edx
shr cl, 7
mov byte [ebp - 0x68], cl
mov byte [ebx + 0xf0], cl
mov ecx, edx
shr cl, 6
and ecx, 1
mov byte [ebx + 0xf1], cl
mov ecx, edx
shr cl, 5
mov byte [ebp - 0x6c], cl
and ecx, 1
mov byte [ebx + 0xf2], cl
mov ecx, edx
shr cl, 4
and ecx, 1
mov byte [ebx + 0xf3], cl
mov ecx, edx
shr cl, 3
and ecx, 1
mov byte [ebx + 0xf4], cl
test cl, cl
jne 0x405433
cmp dword [ebp - 0x64], 0
jne 0x4054ea
and edx, 7
mov byte [ebx + 0xf5], dl
test dl, dl
jne 0x40544a
cmp byte [ebp - 0x68], 0
jne 0x403fb6
movzx edx, byte [ebp - 0x5c]
movzx ecx, byte [ebp - 0x6c]
mov byte [eax + 6], dl
movzx edx, byte [ebx + 0xe8]
and ecx, 3
not edx
and edx, 1
mov byte [eax + 7], dl
movzx edx, byte [ebx + 0xe9]
not edx
and edx, 1
mov byte [eax + 8], dl
movzx edx, byte [ebx + 0xea]
mov byte [eax + 0xb], cl
not edx
and edx, 1
mov byte [eax + 9], dl
movzx edx, byte [ebx + 0xeb]
not edx
and edx, 1
mov byte [eax + 0xc], dl
movzx edx, byte [ebx + 0xf4]
not edx
and edx, 1
mov byte [eax + 0xd], dl
movzx edx, byte [ebx + 0xee]
not edx
and edx, 0xf
mov byte [eax + 0xe], dl
movzx edx, byte [ebx + 0xf5]
mov byte [eax + 0xf], dl
cmp byte [ebx + 0xf4], 0
jne 0x4054cd
cmp dword [ebx], 0
jne 0x4054ea
cmp byte [ebx + 0xf3], 0
jne 0x4054db
cmp cl, 3
je 0x4054ea
movzx eax, byte [ebx + 0xec]
mov dword [ebx + 0x10], eax
jmp 0x40481b
mov eax, 0x80200008
jmp 0x403141
mov ecx, dword [ebp - 0x64]
mov byte [ebx + 0xf0], dl
add edx, 2
lea eax, [ecx + 2]
mov dword [ebp - 0x24], eax
movzx eax, byte [ecx + 1]
mov byte [ebx + 8], dl
mov edx, dword [ebp - 0x5c]
mov byte [ebp - 0x4b], al
sub edx, 2
cmp dword [ebx], 5
mov dword [ebx + 0xc], 3
mov dword [ebp - 0x20], edx
je 0x4033e7
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x28]
mov byte [ebx + 0xf1], 2
mov dword [ebx + 0xe9], 0x10101
or ecx, 0x10
mov dword [ebx + 0x20], ecx
mov ecx, eax
shr cl, 7
mov byte [ebx + 0xe8], cl
mov ecx, eax
shr cl, 3
and ecx, 0xf
mov byte [ebx + 0xed], cl
mov ecx, eax
and eax, 3
shr cl, 2
mov byte [ebx + 0xef], al
and ecx, 1
mov byte [ebx + 0xee], cl
movzx eax, byte [ebx + 0xec]
mov byte [edx + 6], al
movzx eax, byte [ebx + 0xe8]
not eax
and eax, 1
mov byte [edx + 7], al
movzx eax, byte [ebx + 0xe9]
not eax
and eax, 1
mov byte [edx + 8], al
movzx eax, byte [ebx + 0xea]
not eax
and eax, 1
mov byte [edx + 9], al
movzx eax, byte [ebx + 0xee]
mov byte [edx + 0xa], al
mov byte [edx + 0xb], al
movzx eax, byte [ebx + 0xed]
not eax
and eax, 0xf
mov byte [edx + 0xe], al
movzx eax, byte [ebx + 0xeb]
mov dword [ebx + 0x10], eax
jmp 0x40481b
mov dword [ebx + 0x40], 4
movzx edi, byte [eax + 0xf]
mov byte [ebp - 0x5c], 1
jmp 0x404e7d
movzx esi, byte [ebx + 0xf1]
movzx ecx, byte [ebp - 0x5c]
movzx ecx, byte [esi + ecx*8 + 0x49dfc0]
mov byte [edx + 0x19], cl
movzx edi, byte [eax + 0xf]
jmp case.0x404e90.0
movzx esi, byte [ebx + 0xf1]
movzx ecx, byte [ebp - 0x5c]
movzx ecx, byte [esi + ecx*8 + 0x49dff8]
mov byte [edx + 0x19], cl
movzx edi, byte [eax + 0xf]
jmp case.0x404e90.0
movzx ecx, byte [ebp - 0x5c]
movzx esi, byte [ebx + 0xf1]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [esi + ecx + str.__b__b]
mov byte [edx + 0x19], cl
movzx edi, byte [eax + 0xf]
jmp case.0x404e90.0
cmp byte [ebx + 0xf1], 7
ja sym._ZydisDecodeOperands.cold
movzx edx, byte [ebx + 0xf1]
jmp dword [edx*4 + 0x4453b4]
cmp byte [ebx + 0xf1], 7
ja sym._ZydisDecodeOperands.cold
movzx edx, byte [ebx + 0xf1]
jmp dword [edx*4 + 0x4453d4]
mov dword [ebp - 0x90], 0
jmp 0x4043db
movzx ecx, byte [edi + 0x49e3e8]
mov byte [edx + 0x19], cl
jmp 0x40501b
movzx ecx, byte [edi + 0x49e3e0]
mov byte [edx + 0x19], cl
jmp 0x40501b
movzx ecx, byte [edi + 0x49e3e4]
mov byte [edx + 0x19], cl
jmp 0x40501b
mov byte [edx + 0x19], 0x20
jmp 0x40501b
cmp byte [edx + 6], 0
jne case.0x404f00.5
mov byte [edx + 0x19], 8
jmp 0x40501b
movzx esi, byte [ebx + 0xf3]
lea esi, [esi + esi*2]
movzx ecx, byte [edi + esi + 0x49e418]
mov byte [edx + 0x19], cl
lea ecx, [esi + edi]
mov ecx, dword [ecx*4 + 0x49db80]
mov dword [ebx + 0x40], ecx
jmp 0x40501b
movzx ecx, byte [ebp - 0x5c]
shr cl, 5
movzx ecx, cl
movzx ecx, byte [ecx + 0x49e3e8]
mov byte [edx + 0x19], cl
jmp 0x40501b
movzx ecx, byte [eax + 0x10]
and ecx, 7
movzx ecx, byte [ecx + 0x49e3ec]
mov byte [edx + 0x19], cl
jmp 0x40501b
movzx ecx, byte [edi + 0x49e3f4]
mov byte [edx + 0x19], cl
jmp 0x40501b
movzx ecx, byte [ebp - 0x5c]
movzx esi, byte [ebx + 0xf3]
shr cl, 5
mov dword [ebp - 0x60], esi
movzx esi, cl
imul ecx, dword [ebp - 0x60], 6
lea esi, [esi + esi*2]
add esi, ecx
movzx ecx, byte [edi + esi + 0x49e3f8]
mov byte [edx + 0x19], cl
lea ecx, [esi + edi]
mov ecx, dword [ecx*4 + 0x49da80]
mov dword [ebx + 0x40], ecx
jmp 0x40501b
movzx ecx, byte [ebp - 0x5c]
movzx esi, byte [ebx + 0xf3]
shr cl, 5
mov dword [ebp - 0x60], esi
movzx esi, cl
imul ecx, dword [ebp - 0x60], 9
lea esi, [esi + esi*2]
add esi, ecx
movzx ecx, byte [edi + esi + 0x49e404]
mov byte [edx + 0x19], cl
lea ecx, [esi + edi]
mov ecx, dword [ecx*4 + 0x49dac0]
mov dword [ebx + 0x40], ecx
jmp 0x40501b
movzx ecx, byte [edi + 0x49e420]
mov byte [edx + 0x19], cl
jmp 0x40501b
or dh, 2
mov dword [ebx + 0x24], edx
jmp 0x404a3a