Function at 0x20a652
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov ebp, dword [esp + 0x40]
movzx esi, word [ebp]
mov dword [esp + 8], 0x191abdcf
mov byte [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x208106
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.002086d0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x2080e0
xor ecx, ecx
cmp dword [esp + 8], esi
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x2157f0]
mov esi, dword [ebp + 0x3c]
mov edi, dword [ebp + esi]
mov dword [esp + 8], 0x57560418
mov dword [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x208166
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.00208730
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x208140
mov eax, dword [esp + 8]
xor ecx, ecx
cmp edi, eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x2157f8]
mov edx, dword [ebp + esi + 0x78]
cmp dword [ebp + esi + 0x7c], 0
sete al
test edx, edx
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x215800]
mov eax, dword [ebp + edx + 0x20]
add eax, ebp
mov dword [esp + 0x28], eax
mov eax, dword [ebp + edx + 0x24]
add eax, ebp
mov dword [esp + 0x24], eax
mov eax, dword [ebp + edx + 0x1c]
add eax, ebp
mov dword [esp + 0x20], eax
mov esi, dword [0x217278]
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0x14], edx
jmp dword [eax*4 + 0x215808]
mov edi, dword [0x217274]
mov eax, dword [ebp + edx + 0x18]
add eax, edi
mov ecx, 0xffffffff
cmp eax, 0x20000000
jae 0x2081ec
shl eax, 3
mov ecx, eax
push ecx
call fcn.001ccc70
add esp, 4
mov ebx, eax
lea eax, [edi + edi]
not eax
add eax, edi
and eax, 8
mov ecx, edi
and ecx, 0xfffffff7
imul ecx, eax
mov eax, edi
and eax, 8
or edi, 8
imul edi, eax
mov eax, ecx
and eax, edi
xor edi, ecx
lea ebp, [edi + eax*2]
lea edx, [esi + ebp]
cmp ebx, esi
jbe 0x208328
cmp edx, ebx
jbe 0x208328
mov dword [esp + 0x10], ebx
test ebp, ebp
je 0x20829d
add eax, eax
lea ecx, [esi + edi]
dec ecx
mov edx, dword [esp + 0x10]
add edx, edi
dec edx
neg edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx + eax]
mov byte [edx + eax], bl
movzx ebx, byte [ecx + eax - 1]
mov byte [edx + eax - 1], bl
movzx ebx, byte [ecx + eax - 2]
mov byte [edx + eax - 2], bl
movzx ebx, byte [ecx + eax - 3]
mov byte [edx + eax - 3], bl
movzx ebx, byte [ecx + eax - 4]
mov byte [edx + eax - 4], bl
movzx ebx, byte [ecx + eax - 5]
mov byte [edx + eax - 5], bl
movzx ebx, byte [ecx + eax - 6]
mov byte [edx + eax - 6], bl
movzx ebx, byte [ecx + eax - 7]
mov byte [edx + eax - 7], bl
add eax, 0xfffffff8
cmp edi, eax
jne 0x208250
xor eax, eax
test esi, esi
sete al
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x10]
jmp dword [eax*4 + 0x215810]
mov dword [0x217278], ebx
lea eax, [ebp - 1]
mov dword [esp + 0x1c], eax
xor edx, edx
xor eax, eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], 0
cmp edx, dword [ebp + ecx + 0x18]
setb al
xor edi, edi
jmp dword [eax*4 + 0x215818]
mov eax, dword [ebp + edx + 0x18]
mov ecx, 0xffffffff
cmp eax, 0x20000000
mov esi, edx
jae 0x2082f7
shl eax, 3
mov ecx, eax
push ecx
call fcn.001ccc70
add esp, 4
mov dword [0x217278], eax
lea eax, [ebp - 1]
mov dword [esp + 0x1c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 4], 0
cmp ecx, dword [ebp + esi + 0x18]
setb al
xor edi, edi
jmp dword [eax*4 + 0x215818]
mov ecx, ebp
shr ecx, 2
mov edi, ebx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, ebx
add edi, ebp
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov esi, dword [0x217278]
xor eax, eax
test esi, esi
sete al
mov ebp, dword [esp + 0x40]
jmp dword [eax*4 + 0x215810]
push esi
call fcn.001ccc80
add esp, 4
mov dword [0x217278], ebx
lea eax, [ebp - 1]
mov dword [esp + 0x1c], eax
xor edx, edx
xor eax, eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], 0
cmp edx, dword [ebp + ecx + 0x18]
setb al
xor edi, edi
jmp dword [eax*4 + 0x215818]
mov eax, dword [esp + 4]
and al, 1
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], ecx
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
xor eax, eax
mov ebp, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
cmp edi, dword [ebp + ecx + 0x18]
setb al
jmp dword [eax*4 + 0x215818]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], edi
mov ebx, dword [eax + edi*4]
lea ecx, [ebx + ebp]
add ebx, dword [esp + 0x1c]
mov eax, ecx
nop
nop
nop
nop
nop
inc ebx
cmp byte [eax], 0
lea eax, [eax + 1]
jne 0x2083e0
mov edi, ecx
not edi
and edi, ebx
add edi, edi
mov dword [esp + 8], 0xb28e8c39
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], ecx
xor ebx, ecx
mov ebp, edi
sub ebp, ebx
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x208446
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.002087c0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x208420
mov esi, 0xb14a5e2
test ebp, ebp
je 0x2084c0
mov ecx, dword [esp + 8]
mov edx, ebp
and edx, 3
sub ebx, edi
mov eax, 0xb14a5e2
mov edi, dword [esp + 0x10]
cmp ebx, 0xfffffffc
ja 0x20849b
and ebp, 0xfffffffc
mov edi, dword [esp + 0x10]
nop
movsx esi, byte [edi]
xor esi, eax
imul esi, ecx
movsx eax, byte [edi + 1]
xor eax, esi
imul eax, ecx
movsx esi, byte [edi + 2]
xor esi, eax
imul esi, ecx
movsx eax, byte [edi + 3]
add edi, 4
xor eax, esi
imul eax, ecx
add ebp, 0xfffffffc
jne 0x208470
mov esi, eax
test edx, edx
je 0x2084c0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movsx esi, byte [edi + ebx]
xor esi, eax
imul esi, ecx
inc ebx
mov eax, esi
cmp edx, ebx
jne 0x2084b0
mov eax, esi
xor eax, 0x43ac3278
xor ecx, ecx
or eax, dword [0x21727c]
sete cl
jmp dword [ecx*4 + 0x215830]
xor eax, eax
mov edx, dword [esp + 0x10]
cmp byte [edx], 0x4e
setne al
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 4]
jmp dword [eax*4 + 0x215848]
xor eax, eax
cmp byte [edx + 1], 0x74
setne al
jmp dword [eax*4 + 0x215850]
jmp dword [0x215860]
mov eax, dword [esp + 0x24]
movzx eax, word [eax + edi*2]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + eax*4]
add eax, dword [esp + 0x40]
xor edx, edx
xor ebx, ebx
cmp edx, 0x20
setb bl
mov ebp, 0xffffffff
jmp dword [ebx*4 + 0x215868]
movzx ebx, byte [eax + edx]
xor ecx, ecx
cmp bl, 0xc2
sete cl
jmp dword [ecx*4 + 0x215870]
xor ecx, ecx
cmp bl, 0xc3
sete cl
jmp dword [ecx*4 + 0x215878]
xor ecx, ecx
cmp bl, 0xb8
sete cl
jmp dword [ecx*4 + 0x215880]
inc edx
xor ebx, ebx
cmp edx, 0x20
setb bl
jmp dword [ebx*4 + 0x215868]
xor eax, eax
cmp ebp, 0xffffffff
setne al
mov ecx, dword [esp + 4]
jmp dword [eax*4 + 0x215888]
jmp dword [0x215840]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
movzx eax, word [eax + edi*2]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + eax*4]
mov dword [0x21727c], eax
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
xor eax, eax
mov ebp, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
cmp edi, dword [ebp + ecx + 0x18]
setb al
jmp dword [eax*4 + 0x215818]
mov ebp, dword [eax + edx + 1]
xor eax, eax
cmp ebp, 0xffffffff
setne al
mov ecx, dword [esp + 4]
jmp dword [eax*4 + 0x215888]
mov eax, dword [case.0x208353.34]
nop
nop
nop
jmp eax
xor edx, edx
xor eax, eax
cmp edx, dword [0x217274]
setb al
xor edi, edi
jmp dword [eax*4 + 0x2158b0]
mov dword [eax + edi*8 + 4], ebp
xor eax, eax
mov dl, 1
jmp dword [eax*4 + 0x2158d0]
inc edi
xor eax, eax
cmp edi, dword [0x217274]
setb al
jmp dword [eax*4 + 0x2158b0]
mov eax, dword [0x217278]
xor ebx, ebx
cmp dword [eax + edi*8], esi
sete bl
jmp dword [ebx*4 + 0x2158b8]
mov eax, 1
jmp dword [eax*4 + 0x2158d0]
and dl, 1
movzx eax, dl
mov edi, dword [esp + 0x18]
jmp dword [eax*4 + 0x2158d8]
mov eax, dword [0x217278]
mov edx, dword [0x217274]
lea edi, [edx + 1]
mov dword [0x217274], edi
mov edi, dword [esp + 0x18]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov cl, 1
jmp dword [0x2158e8]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x209cd6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.0020bf80
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x209cb0
mov ecx, dword [esp + 8]
jmp dword [0x215c74]
mov eax, dword fs:[ecx]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword fs:[ecx]
jmp dword [0x215c7c]
xor ecx, ecx
cmp dword [esp + 0x28], 0
sete cl
jmp dword [ecx*4 + 0x215c84]
mov esi, dword [eax + 0xc]
add esi, 0xc
mov edx, dword [esi]
mov eax, dword [case.0x208353.77]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 4], 0
xor eax, eax
cmp edx, esi
setne al
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x215cbc]
jmp dword [0x215c98]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [edi*4 + 0x215ce4]
mov edx, dword [edx]
xor eax, eax
cmp edx, esi
setne al
jmp dword [eax*4 + 0x215cbc]
mov ecx, dword [edx + 0x30]
xor eax, eax
test ecx, ecx
setne al
mov edi, 1
jmp dword [eax*4 + 0x215cc4]
mov ebp, dword [esp + 0x28]
mov ebx, ecx
jmp dword [0x215cd0]
mov eax, dword [esp + 0x28]
mov ebx, ecx
nop
movzx ebp, word [eax]
lea esi, [ebp - 0x41]
cmp si, 0x1a
jae 0x209daf
or ebp, 0x20
movzx edi, word [ebx]
lea esi, [edi - 0x41]
cmp si, 0x1a
jae 0x209dbe
or edi, 0x20
test bp, bp
je 0x209dce
add ebx, 2
add eax, 2
cmp bp, di
je 0x209da0
mov ebp, dword [esp + 0x28]
mov ebx, ecx
jmp case.0x208353.83
mov ebp, dword [esp + 0x28]
mov ebx, ecx
jmp dword [0x215cd4]
movzx eax, word [ebp]
lea edi, [eax - 0x41]
cmp di, 0x1a
jae 0x209dfc
or eax, 0x20
movzx edi, word [ebx]
lea esi, [edi - 0x41]
cmp si, 0x1a
jae 0x209e0b
or edi, 0x20
test ax, ax
je 0x209de0
add ebx, 2
add ebp, 2
cmp ax, di
je case.0x208353.83
jmp 0x209de0
xor ecx, ecx
cmp ax, di
sete cl
mov esi, dword [esp + 0x10]
mov edi, 1
jmp dword [ecx*4 + 0x215cdc]
mov eax, dword [edx + 0x18]
mov dword [esp + 4], eax
xor eax, eax
jmp dword [eax*4 + 0x215ce4]
int3
push eax
push eax
mov esi, esp
sub esp, 8
mov ebx, esp
sub esp, 8
mov edi, esp
jmp eax
mov dword [esi], 0xb18e8fdc
mov word [esi + 4], 0
mov byte [esi + 6], 0
jmp dword [0x215d00]
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 6
ja 0x209ed4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [esi + eax]
push dword [ebp - 0x10]
push eax
call fcn.0020c000
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 7
jb 0x209eb0
mov eax, dword [esi]
mov eax, dword fs:[eax]
jmp case.0x208353.105
mov eax, dword [esi]
mov eax, dword fs:[eax]
jmp dword [0x215d08]
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 6
ja 0x209ee0
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [esi + eax]
push dword [ebp - 0x10]
push eax
call fcn.0020c000
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 7
jb 0x209f00
jmp 0x209ee0
xor ecx, ecx
cmp dword [ebp + 8], 0
sete cl
jmp dword [ecx*4 + 0x215d0c]
mov ecx, dword [case.0x208353.112]
mov eax, dword [eax + 8]
mov dword [ebp - 0x14], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov eax, dword [ebp - 0x14]
movzx esi, word [eax]
mov dword [ebx], 0x9392fbc5
mov word [ebx + 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 5
ja 0x209fa4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebx + eax]
push dword [ebp - 0x10]
push eax
call fcn.0020c090
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 6
jb 0x209f80
xor ecx, ecx
cmp dword [ebx], esi
sete cl
xor esi, esi
jmp dword [ecx*4 + 0x215d24]
xor ecx, ecx
test esi, esi
sete cl
jmp dword [ecx*4 + 0x215d4c]
jmp 0x20a05c
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x3c]
mov eax, dword [eax + ebx]
mov dword [ebp - 0x18], eax
mov dword [edi], 0x23226450
mov byte [edi + 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 4
ja 0x20a014
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [edi + eax]
push dword [ebp - 0x10]
push eax
call fcn.0020c100
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 5
jb 0x209ff0
xor eax, eax
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [edi]
sete al
jmp dword [eax*4 + 0x215d2c]
mov ecx, 1
jmp dword [ecx*4 + 0x215d44]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + ebx + 0x50]
mov esi, 1
xor ecx, ecx
jmp dword [ecx*4 + 0x215d44]
xor ecx, ecx
xor edx, edx
test ecx, 0
sete dl
jmp dword [edx*4 + 0x215d4c]
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov eax, dword [edx + 0x30]
xor edi, edi
jmp dword [edi*4 + 0x215d7c]
mov edx, dword [edx]
xor ebx, ebx
cmp edx, ecx
setne bl
jmp dword [ebx*4 + 0x215d6c]
xor ebx, ebx
cmp dword [edx + 0x18], esi
sete bl
jmp dword [ebx*4 + 0x215d74]
mov edi, 1
jmp dword [edi*4 + 0x215d7c]
add esp, 8
pop esi
pop edi
pop ebx
ret
mov edx, dword [edx]
xor ebx, ebx
cmp edx, ecx
setne bl
jmp dword [ebx*4 + 0x215d8c]
mov ecx, dword [esp + 0x10]
inc ecx
xor eax, eax
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0xc]
cmp ecx, dword [ebp + ebx + 0x18]
setb al
jmp dword [eax*4 + 0x215dcc]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
movzx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + eax*4]
xor edx, edx
mov ecx, eax
sub ecx, dword [esp + 0xc]
setae dl
mov esi, dword [esp + 0x3c]
jmp dword [edx*4 + 0x215ddc]
jmp dword [0x215df0]
xor edx, edx
cmp ecx, dword [esp + 0x14]
setb dl
jmp dword [edx*4 + 0x215df4]
add esi, eax
xor eax, eax
jmp dword [eax*4 + 0x215e0c]
jmp dword [0x215e08]
xor esi, esi
int3
mov ebx, dword [edi + 0x3c]
mov ebp, dword [edi + ebx]
mov dword [esp], 0x21267874
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 3
ja 0x20a5c9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax]
push dword [esp + 4]
push eax
call fcn.0020c450
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 4
jb 0x20a5a0
xor eax, eax
cmp ebp, dword [esp]
setne al
jmp dword [eax*4 + 0x215e1c]
mov eax, dword [edi + ebx + 0x80]
cmp dword [edi + ebx + 0x84], 0
sete cl
test eax, eax
sete dl
or dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x215e34]
mov edx, dword [edi + eax]
add edx, edi
mov eax, dword [edi + eax + 0x10]
add eax, edi
mov dword [esp + 0xc], eax
add edi, 2
mov ebp, dword [edx]
mov eax, ebp
shr eax, 0x1f
xor esi, esi
mov dword [esp + 0x10], edi
jmp dword [eax*4 + 0x215e4c]
xor eax, eax
test ebp, ebp
setne al
xor esi, esi
jmp dword [eax*4 + 0x215e54]
mov eax, dword [case.0x208353.214]
add ebp, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x14], edx
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
inc eax
cmp byte [esi], 0
jne 0x20a660
mov dword [esp + 4], 0xf2f2f063
mov byte [esp + 8], 0
sub esi, ebp
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x20a6b6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.0020c370
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x20a690
mov edx, 0xb14a5e2
test esi, esi
je case.0x208353.216
mov eax, dword [esp + 4]
mov ecx, esi
and ecx, 3
mov edi, 0xb14a5e2
cmp esi, 4
jb 0x20a70c
and esi, 0xfffffffc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movsx edx, byte [ebp]
xor edx, edi
imul edx, eax
movsx edi, byte [ebp + 1]
xor edi, edx
imul edi, eax
movsx edx, byte [ebp + 2]
xor edx, edi
imul edx, eax
movsx edi, byte [ebp + 3]
add ebp, 4
xor edi, edx
imul edi, eax
add esi, 0xfffffffc
jne 0x20a6e0
mov edx, edi
test ecx, ecx
je case.0x208353.216
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movsx edx, byte [ebp + esi]
xor edx, edi
imul edx, eax
inc esi
mov edi, edx
cmp ecx, esi
jne 0x20a720
xor eax, eax
cmp edx, dword [esp + 0x30]
sete al
jmp dword [eax*4 + 0x215e6c]
mov edx, dword [esp + 0x14]
add edx, 4
add dword [esp + 0xc], 4
mov eax, 1
mov ecx, dword [case.0x208353.224]
mov esi, ebx
mov edi, dword [esp + 0x10]
jmp case.0x208353.223
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
xor eax, eax
mov ecx, dword [case.0x208353.224]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [eax*4 + 0x215e84]
mov ebp, dword [edx]
mov eax, ebp
shr eax, 0x1f
mov ebx, esi
xor esi, esi
jmp dword [eax*4 + 0x215e4c]
mov eax, dword [case.0x208353.208]
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x208353.197]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, esi
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
int3
push eax
push eax
mov edi, esp
movzx esi, word [ebx]
mov dword [ebp - 0x18], 0x696a3537
mov word [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 5
ja 0x20a826
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x18]
push dword [ebp - 0x10]
push eax
call fcn.0020c4c0
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x18], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 6
jb 0x20a800
xor ecx, ecx
cmp dword [ebp - 0x18], esi
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x215e9c]
mov esi, dword [ebx + 0x3c]
add esi, ebx
mov ebx, dword [esi]
mov dword [edi], 0x8f8e4c58
mov word [edi + 4], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
cmp eax, 5
ja 0x20a884
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x18]
movzx eax, byte [edi + eax]
push dword [ebp - 0x18]
push eax
call fcn.0020c550
add esp, 8
mov ecx, dword [ebp - 0x18]
mov byte [edi + ecx], al
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 6
jb 0x20a860
mov eax, dword [edi]
xor ecx, ecx
cmp ebx, eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x215ea4]
lea eax, [esi + 0x18]
movzx ecx, word [esi + 0x14]
mov edx, eax
xor edx, ecx
and eax, ecx
lea ecx, [edx + eax*2]
movzx edx, word [esi + 6]
xor edi, edi
xor eax, eax
mov word [ebp - 0x1e], dx
cmp di, dx
setb al
mov dword [ebp - 0x24], 1
jmp dword [eax*4 + 0x215eac]
xor eax, eax
xor ecx, ecx
test eax, 0
sete cl
jmp dword [ecx*4 + 0x215eb4]
inc edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0x28
xor eax, eax
cmp di, word [ebp - 0x1e]
setb al
jmp dword [eax*4 + 0x215eac]
mov esi, 8
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
mov eax, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
sub esi, 1
jb case.0x208353.250
movzx ecx, byte [ebx]
inc ebx
movzx edx, byte [eax]
inc eax
cmp cl, dl
je case.default.0x20a928
xor eax, eax
sub ecx, edx
sete al
jmp dword [eax*4 + 0x215eb4]
xor eax, eax
mov edx, dword [ebp + 0x10]
test edx, edx
setne al
mov esi, dword [ebp + 8]
jmp dword [eax*4 + 0x215ebc]
xor eax, eax
mov ecx, dword [ebp + 0x14]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x215ed4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x10]
mov dword [ecx], eax
mov eax, dword [case.0x20a88f.2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x24], 0
jmp eax
mov al, 1
mov ecx, dword [ebp - 0x24]
jmp dword [ecx*4 + 0x215eec]
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc]
mov ecx, dword [case.0x20a928.7]
nop
nop
nop
nop
nop
jmp ecx
add esi, eax
mov dword [edx], esi
xor eax, eax
mov ecx, dword [ebp + 0x14]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x215ed4]
int3
add bh, cl
and dword [eax], 0x2082e000
add byte [edx - 0x7d], bl
and dword [eax], 0
add al, ah
and byte [eax], 0
pop edx
and dword [eax], 0
mov bl, 0x82
and byte [eax], al
nop
and dword [eax], 0
mov dword [ebx + 0x10020], 0x10000
add byte [eax], al
mov dword [ebx + 0x10020], 0x84d90000
and byte [eax], al
mov al, byte [0xa0002085]
test dword [eax], esp
add byte [eax - 0x59ffdf7b], ah
test dword [eax], esp
add byte [eax - 0xbffdf7b], ah
test byte [eax], ah
add byte [eax + 0x10002083], ah
test dword [eax], esp
add byte [eax + 0x10002083], ah
test dword [eax], esp
add byte [eax], dl
test dword [eax], esp
add byte [esi], dl
test dword [eax], esp
add byte [eax], dl
test dword [eax], esp
add byte [ecx + 0x40002085], al
test dword [eax], esp
add byte [ebx - 0x7b], dl
and byte [eax], al
add dword [ebp - 0x7a9dffe0], 0x85810020
and byte [eax], al
jno 0x215807
and byte [eax], al
loope 0x21580b
and byte [eax], al
mov al, byte [0xf8002083]
test dword [eax], esp
add byte [eax], al
xchg byte [eax], ah
add byte [eax], al
xchg byte [eax], ah
add byte [edx], al
xchg byte [eax], ah
add byte [eax], al
xchg byte [eax], ah
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx], al
xchg byte [eax], ah
add byte [edx - 0x7a], ah
and byte [eax], al
inc edx
xchg byte [eax], ah
add byte [esi - 0x7a], dl
and byte [eax], al
and byte [esi + 0x10020], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
push esi
xchg byte [eax], ah
add byte [ecx], al
add byte [eax], al
add byte [edx - 0x7a], ah
and byte [eax], al
das
xchg byte [eax], ah
add byte [ebx - 0x7a], dh
and byte [eax], al
mov al, byte [0xa0002086]
xchg byte [eax], ah
add byte [eax - 0x5fffdf7a], ah
and dword [eax], 0
mov al, byte [0x90002086]
pushfd
and byte [eax], al
nop
pushfd
and byte [eax], al
xchg edx, eax
pushfd
and byte [eax], al
xchg edx, eax
pushfd
and byte [eax], al
xchg edx, eax
pushfd
and byte [eax], al
dec eax
sahf
and byte [eax], al
dec eax
sahf
and byte [eax], al
invalid
mov al, byte [0x9fc70020]
and byte [eax], al
and eax, 0x310020a0
mov al, byte [2687565856]
and byte [eax], al
add dword [eax], eax
mov al, byte [0xa0310020]
and byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
xor dword [eax + 0x10020], esp
add byte [eax], al
mov ah, 0x9f
and byte [eax], al
inc esi
mov al, byte [2680291360]
and byte [eax], al
pop edx
mov al, byte [2700214304]
and byte [eax], al
invalid
movsd dword es:[edi], dword [esi]
and byte [eax], al
ret 0x20a7