Function at 0x10020d90
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov ebx, dword [esp + 0x40]
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], eax
and eax, 3
je 0x100219e0
sub dword [esp + 0xc], eax
mov edx, eax
mov esi, dword [esp + 0xc]
mov ecx, 4
neg edx
sub ecx, eax
lea edi, [edx*8 + 0x20]
shl ecx, 3
mov dword [ebx + 4], esi
mov dword [ebx + 0x10], edi
mov ebp, dword [esi]
bswap ebp
shr ebp, cl
mov dword [ebx + 0xc], ebp
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
lea edx, [eax + 1]
cmp edx, 0xffff
mov esi, edx
mov dword [esp + 0x10], eax
jle 0x10021602
sar esi, 0x10
mov ecx, 0x30
mov eax, 0x20
cmp esi, 0xff
jle 0x10020e0c
sar esi, 8
mov eax, ecx
movzx ecx, byte [esi + 0x1032fa20]
add eax, ecx
sar eax, 1
cmp eax, edi
jl 0x100219c7
mov esi, dword [esp + 0xc]
mov ecx, edi
sub edi, eax
shl ebp, cl
add edi, 0x20
bswap ebp
mov dword [esi], ebp
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], edi
add esi, 4
mov dword [esp + 0xc], esi
mov dword [ebx + 4], esi
xor esi, esi
lea ecx, [eax + 1]
cmp ecx, edi
jl 0x100219b4
mov eax, ecx
mov ebp, edx
sub eax, edi
mov ecx, eax
shr ebp, cl
mov ecx, edi
mov edi, dword [esp + 0xc]
shl esi, cl
or ebp, esi
bswap ebp
mov dword [edi], ebp
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], edx
lea esi, [edi + 4]
mov edi, 0x20
sub edi, eax
mov dword [esp + 0xc], esi
mov dword [ebx + 4], esi
mov dword [ebx + 0x10], edi
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
lea esi, [eax + 1]
cmp esi, 0xffff
mov ecx, esi
mov dword [esp + 0x10], eax
jle 0x100215f6
sar ecx, 0x10
mov ebp, 0x30
mov eax, 0x20
cmp ecx, 0xff
jle 0x10020ebc
sar ecx, 8
mov eax, ebp
movzx ecx, byte [ecx + 0x1032fa20]
add eax, ecx
sar eax, 1
cmp eax, edi
jl 0x100219a3
mov ecx, edi
sub edi, eax
shl edx, cl
mov ecx, dword [esp + 0xc]
add edi, 0x20
bswap edx
mov dword [ecx], edx
mov edx, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], edi
add edx, 4
mov dword [esp + 0xc], edx
mov dword [ebx + 4], edx
xor edx, edx
lea ecx, [eax + 1]
cmp ecx, edi
jl 0x10021998
mov eax, ecx
mov ebp, esi
sub eax, edi
mov ecx, eax
shr ebp, cl
mov ecx, edi
shl edx, cl
mov edi, 0x20
or ebp, edx
mov edx, dword [esp + 0xc]
sub edi, eax
mov dword [ebx + 0xc], ebp
bswap ebp
mov dword [edx], ebp
mov edx, dword [ebx + 4]
add edx, 4
mov dword [esp + 0xc], edx
mov dword [ebx + 4], edx
mov edx, esi
mov eax, dword [esp + 0x48]
add edx, edx
or edx, dword [eax + 8]
lea eax, [edi - 1]
test eax, eax
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], eax
je 0x100215c0
mov eax, dword [esp + 0x48]
add edx, edx
sub edi, 2
or edx, dword [eax + 0xc]
test edi, edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0xc], edx
jne 0x10023f5f
mov eax, dword [esp + 0xc]
mov edi, 0x20
bswap edx
mov dword [eax], edx
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0x10]
cmp edx, 0xffff
mov ecx, edx
jle 0x100215b0
sar ecx, 0x10
mov ebp, 0x30
mov eax, 0x20
cmp ecx, 0xff
jle 0x10020fbc
sar ecx, 8
mov eax, ebp
movzx ecx, byte [ecx + 0x1032fa20]
add eax, ecx
sar eax, 1
cmp eax, edi
jl 0x10021987
mov ecx, edi
sub edi, eax
shl esi, cl
mov ecx, dword [esp + 0xc]
add edi, 0x20
bswap esi
mov dword [ecx], esi
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], edi
add esi, 4
mov dword [esp + 0xc], esi
mov dword [ebx + 4], esi
xor esi, esi
lea ecx, [eax + 1]
cmp ecx, edi
jl 0x10021976
mov eax, ecx
mov ebp, edx
sub eax, edi
mov ecx, eax
shr ebp, cl
mov ecx, edi
mov edi, dword [esp + 0xc]
shl esi, cl
or ebp, esi
bswap ebp
mov dword [edi], ebp
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], edx
lea esi, [edi + 4]
mov edi, 0x20
sub edi, eax
mov dword [esp + 0xc], esi
mov dword [ebx + 4], esi
mov esi, edx
mov dword [ebx + 0x10], edi
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0x14]
cmp edx, 0xffff
mov ecx, edx
jle 0x100215a0
sar ecx, 0x10
mov ebp, 0x30
mov eax, 0x20
cmp ecx, 0xff
jle 0x10021067
sar ecx, 8
mov eax, ebp
movzx ecx, byte [ecx + 0x1032fa20]
add eax, ecx
sar eax, 1
cmp eax, edi
jl 0x10021965
mov ecx, edi
sub edi, eax
shl esi, cl
mov ecx, dword [esp + 0xc]
add edi, 0x20
bswap esi
mov dword [ecx], esi
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], edi
add esi, 4
mov dword [esp + 0xc], esi
mov dword [ebx + 4], esi
xor esi, esi
lea ecx, [eax + 1]
cmp ecx, edi
jl 0x10021952
mov eax, ecx
mov ebp, edx
sub eax, edi
mov ecx, eax
shr ebp, cl
mov ecx, edi
mov edi, dword [esp + 0xc]
shl esi, cl
or ebp, esi
bswap ebp
mov dword [edi], ebp
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], edx
lea esi, [edi + 4]
mov edi, 0x20
sub edi, eax
mov dword [esp + 0xc], esi
mov dword [ebx + 4], esi
mov dword [ebx + 0x10], edi
mov eax, dword [esp + 0x48]
mov esi, dword [eax + 0x18]
cmp esi, 0xffff
mov ecx, esi
jle 0x10021590
sar ecx, 0x10
mov ebp, 0x30
mov eax, 0x20
cmp ecx, 0xff
jle 0x10021110
sar ecx, 8
mov eax, ebp
movzx ecx, byte [ecx + 0x1032fa20]
add eax, ecx
sar eax, 1
cmp eax, edi
jl 0x10021941
mov ecx, edi
sub edi, eax
shl edx, cl
mov ecx, dword [esp + 0xc]
add edi, 0x20
bswap edx
mov dword [ecx], edx
mov edx, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], edi
add edx, 4
mov dword [esp + 0xc], edx
mov dword [ebx + 4], edx
xor edx, edx
lea ecx, [eax + 1]
cmp ecx, edi
jl 0x10021936
mov eax, ecx
mov ebp, esi
sub eax, edi
mov ecx, eax
shr ebp, cl
mov ecx, edi
shl edx, cl
mov edi, 0x20
or ebp, edx
mov edx, dword [esp + 0xc]
sub edi, eax
mov dword [ebx + 0xc], ebp
bswap ebp
mov dword [edx], ebp
mov edx, dword [ebx + 4]
add edx, 4
mov dword [esp + 0xc], edx
mov dword [ebx + 4], edx
mov edx, esi
mov esi, dword [esp + 0x48]
lea eax, [edx + edx]
or eax, dword [esi + 0x1c]
lea esi, [edi - 1]
test esi, esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], esi
jne 0x100214e0
mov edx, dword [esp + 0xc]
mov edi, 0x1e
bswap eax
mov dword [edx], eax
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0x20]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 0x10], edi
lea ebp, [eax*4]
or ebp, edx
mov dword [ebx + 0xc], ebp
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x10], eax
sub eax, 0x1a
mov edx, eax
add eax, eax
neg edx
lea edx, [edx + edx + 1]
test edx, edx
cmovs edx, eax
xor eax, eax
cmp edx, 0xff
mov ecx, edx
jle 0x10021208
sar ecx, 8
mov eax, 0x10
movzx esi, byte [ecx + 0x1032fa20]
lea ecx, [esi + eax]
cmp ecx, edi
jl 0x10021923
mov esi, ecx
mov eax, edx
sub esi, edi
mov ecx, esi
shr eax, cl
mov ecx, edi
mov edi, dword [esp + 0xc]
shl ebp, cl
or eax, ebp
bswap eax
mov dword [edi], eax
mov eax, dword [ebx + 4]
mov edi, 0x20
sub edi, esi
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edi
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x28]
lea ecx, [eax - 0x1a]
mov dword [esp + 0x10], eax
mov eax, ecx
add ecx, ecx
neg eax
lea eax, [eax + eax + 1]
test eax, eax
cmovs eax, ecx
xor ecx, ecx
cmp eax, 0xff
mov esi, eax
jle 0x1002127c
sar esi, 8
mov ecx, 0x10
movzx ebp, byte [esi + 0x1032fa20]
add ecx, ebp
cmp ecx, edi
jl 0x10021910
sub ecx, edi
mov esi, eax
mov ebp, ecx
shr esi, cl
mov ecx, edi
shl edx, cl
mov edi, 0x20
or esi, edx
mov edx, dword [esp + 0xc]
sub edi, ebp
bswap esi
mov dword [edx], esi
mov edx, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edi
lea esi, [edx + 4]
mov dword [esp + 0xc], esi
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x48]
mov edx, dword [esi + 0x2c]
mov ecx, edx
add edx, edx
neg ecx
lea esi, [ecx + ecx + 1]
test esi, esi
cmovs esi, edx
xor edx, edx
cmp esi, 0xff
mov ecx, esi
jle 0x100212e7
sar ecx, 8
mov edx, 0x10
movzx ecx, byte [ecx + 0x1032fa20]
add ecx, edx
cmp ecx, edi
jl 0x10021902
mov edx, ecx
mov ebp, esi
sub edx, edi
mov ecx, edx
shr ebp, cl
mov ecx, edi
shl eax, cl
mov edi, 0x20
or ebp, eax
mov eax, dword [esp + 0xc]
sub edi, edx
mov dword [ebx + 0xc], ebp
bswap ebp
mov dword [eax], ebp
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, esi
mov esi, dword [esp + 0x48]
add eax, eax
lea edx, [edi - 1]
or eax, dword [esi + 0x30]
test edx, edx
mov dword [ebx + 0x10], edx
mov dword [ebx + 0xc], eax
je 0x10021526
add eax, eax
sub edi, 2
or eax, dword [esi + 0x34]
test edi, edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0xc], eax
jne 0x1002154c
mov edx, dword [esp + 0xc]
mov ecx, 0x1f
bswap eax
mov dword [edx], eax
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
lea edi, [eax + eax]
mov eax, dword [esp + 0x48]
or edi, dword [eax + 0x38]
mov dword [ebx + 0x10], 0x1f
mov dword [ebx + 0xc], edi
sub ecx, 1
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x3c]
test eax, eax
jne 0x100213a7
mov edx, dword [esp + 0x48]
mov ebp, dword [edx + 0x40]
test ebp, ebp
je 0x10021478
add edi, edi
or edi, eax
test ecx, ecx
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ecx
je 0x10021610
mov eax, dword [esp + 0x48]
add edi, edi
xor edx, edx
lea ebp, [ecx - 1]
mov eax, dword [eax + 0x40]
mov dword [ebx + 0x10], ebp
test eax, eax
setne dl
or edi, edx
test ebp, ebp
mov dword [ebx + 0xc], edi
jne 0x10021403
mov eax, dword [esp + 0xc]
mov ebp, 0x20
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x10021652
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x2c]
mov edx, eax
add eax, eax
neg edx
lea edx, [edx + edx + 1]
test edx, edx
cmovs edx, eax
xor eax, eax
cmp edx, 0xff
mov ecx, edx
jle 0x10021435
sar ecx, 8
mov eax, 0x10
movzx esi, byte [ecx + 0x1032fa20]
lea ecx, [esi + eax]
cmp ecx, ebp
jl 0x10021a30
mov esi, ecx
mov eax, edx
sub esi, ebp
mov ecx, esi
shr eax, cl
mov ecx, ebp
shl edi, cl
mov ecx, 0x1f
or eax, edi
mov edi, dword [esp + 0xc]
sub ecx, esi
mov dword [ebx + 0xc], eax
bswap eax
mov dword [edi], eax
mov eax, dword [ebx + 4]
mov edi, edx
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
lea edi, [edi + edi + 1]
test ecx, ecx
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ecx
jne 0x100219f0
mov eax, dword [esp + 0xc]
xor esi, esi
mov edx, 0x20
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [ebx + 0x10], edx
shl eax, cl
mov ecx, esi
mov dword [ebx + 0xc], eax
shl eax, cl
mov ecx, eax
mov eax, dword [esp + 0xc]
bswap ecx
mov dword [eax], ecx
mov edx, dword [ebx + 0x10]
mov eax, 4
mov dword [ebx + 0x10], 0x20
sar edx, 3
sub eax, edx
add dword [ebx + 4], eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x48]
cmp esi, 2
mov edx, dword [edx + 0x20]
jg 0x10023f6a
mov ecx, 3
mov ebp, edx
sub ecx, edi
add edi, 0x1d
shr ebp, cl
mov ecx, esi
shl eax, cl
or ebp, eax
mov eax, dword [esp + 0xc]
bswap ebp
mov dword [eax], ebp
mov eax, dword [ebx + 4]
mov ebp, edx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edi
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
jmp 0x100211d7
mov edx, dword [esp + 0xc]
mov edi, 0x1f
bswap eax
mov dword [edx], eax
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x48]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
add eax, eax
or eax, dword [edx + 0x34]
lea ecx, [edi - 1]
lea edi, [eax + eax]
mov eax, dword [esp + 0x48]
or edi, dword [eax + 0x38]
test ecx, ecx
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0xc], edi
jne 0x1002138a
mov eax, dword [esp + 0xc]
mov ecx, 0x1f
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
mov edi, dword [ebx + 0xc]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
jmp 0x1002138d
mov ebp, 0x10
xor eax, eax
jmp 0x10021103
mov ebp, 0x10
xor eax, eax
jmp 0x1002105a
mov ebp, 0x10
xor eax, eax
jmp 0x10020faf
mov eax, dword [esp + 0xc]
mov edi, 0x1f
bswap edx
mov dword [eax], edx
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
lea esi, [eax + eax]
mov eax, dword [esp + 0x48]
or esi, dword [eax + 0xc]
mov dword [ebx + 0x10], 0x1f
mov dword [ebx + 0xc], esi
jmp 0x10020f91
mov ebp, 0x10
xor eax, eax
jmp 0x10020eaf
mov ecx, 0x10
xor eax, eax
jmp 0x10020dff
mov eax, dword [esp + 0xc]
mov ebp, 0x1f
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
add eax, 4
mov dword [esp + 0xc], eax
lea edi, [edx + edx]
xor edx, edx
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x40]
mov dword [ebx + 0x10], 0x1f
test eax, eax
setne dl
or edi, edx
test eax, eax
mov dword [ebx + 0xc], edi
je 0x1002140b
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x44]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x1032fa10
mov dword [esp], eax
mov dword [esp + 0x14], eax
call fcn.102db958
test eax, eax
jne 0x10021a40
lea eax, [ebp - 1]
add edi, edi
test eax, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
je 0x100221f6
mov edx, dword [esp + 0x14]
sub ebp, 2
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], edi
mov eax, dword [eax + 0x4c]
mov dword [esp + 8], 0x10
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x14], eax
call fcn.102db958
test eax, eax
jne 0x10021f63
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x10], ebp
add eax, eax
test ebp, ebp
mov dword [ebx + 0xc], eax
je 0x10021f31
mov esi, dword [esp + 0x10]
sub ebp, 1
shl esi, 2
test ebp, ebp
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], ebp
jne 0x10021f5b
mov eax, dword [esp + 0xc]
mov ebp, 0x1f
bswap esi
mov dword [eax], esi
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x1032fa00
mov dword [esp], eax
mov dword [esp + 0x14], eax
call fcn.102db958
test eax, eax
je 0x10021c22
lea ecx, [esi + esi + 1]
test ebp, ebp
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], ebp
mov dword [esp + 0x10], ecx
je 0x10022620
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + 0xf]
cmp al, byte [edx + 0xb]
jne 0x10021823
cmp al, byte [edx + 0xe]
jne 0x10023ab3
cmp al, byte [edx + 0xd]
jne 0x10023b31
cmp al, byte [edx + 0xa]
jne 0x1002272e
cmp al, byte [edx + 7]
jne 0x10023b61
cmp al, byte [edx + 3]
jne 0x10023bd9
cmp al, byte [edx + 6]
jne 0x10023beb
cmp al, byte [edx + 9]
jne 0x10023c81
cmp al, byte [edx + 0xc]
jne 0x10023ced
cmp al, byte [edx + 8]
nop
jne 0x10023cff
cmp al, byte [edx + 5]
jne 0x10023d11
cmp al, byte [edx + 2]
jne 0x10023d8f
cmp al, byte [edx + 1]
jne 0x10023de9
cmp al, byte [edx + 4]
jne 0x10023e43
cmp al, byte [edx]
jne 0x10023e55
mov eax, 1
mov ecx, 0xf
mov dword [esp + 0x18], 1
movzx eax, byte [eax + 0x1032f900]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + eax]
neg edx
movsx edx, dl
mov eax, edx
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x1002312c
cmp eax, 0xff
jle 0x1002312f
mov dword [esp + 0x18], 0x10
mov eax, dword [esp + 0x14]
xor edx, edx
movzx ecx, byte [eax]
mov eax, 8
jmp 0x100218a5
sub edi, ebp
mov esi, eax
mov ecx, edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x10]
shr esi, cl
mov ecx, ebp
mov ebp, 0x20
sub ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
shl edi, cl
or esi, edi
mov edi, dword [esp + 0xc]
bswap esi
mov dword [edi], esi
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ebp
lea edi, [esi + 4]
mov dword [esp + 0xc], edi
mov dword [ebx + 4], edi
add edx, 1
cmp edx, dword [esp + 0x18]
jge 0x10022790
movzx eax, byte [edx + 0x1032f900]
mov esi, dword [esp + 0x14]
movzx ecx, byte [esi + eax]
movzx eax, byte [edx + 0x1032f8ff]
movzx eax, byte [esi + eax]
sub ecx, eax
movsx esi, cl
mov eax, esi
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x10022780
cmp eax, 0x100
mov esi, 1
mov ecx, 0x10
mov edi, 0
cmovl esi, eax
cmovl ecx, edi
movzx edi, byte [esi + 0x1032fa20]
add edi, ecx
cmp edi, ebp
jge 0x10021840
mov esi, dword [esp + 0x10]
mov ecx, edi
sub ebp, edi
mov dword [ebx + 0x10], ebp
shl esi, cl
mov ecx, esi
or ecx, eax
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x10], ecx
jmp 0x1002187e
shl eax, cl
sub edi, ecx
or eax, esi
jmp 0x10021329
shl edx, cl
sub edi, ecx
or edx, eax
mov dword [ebx + 0xc], edx
mov eax, edx
mov dword [ebx + 0x10], edi
jmp 0x100212bd
shl ebp, cl
sub edi, ecx
or ebp, edx
mov dword [ebx + 0xc], ebp
mov edx, ebp
mov dword [ebx + 0x10], edi
jmp 0x1002124c
shl edx, cl
sub edi, ecx
or edx, esi
jmp 0x10021189
mov ecx, eax
sub edi, eax
shl edx, cl
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edi
jmp 0x1002114d
shl esi, cl
sub edi, ecx
or esi, edx
mov dword [ebx + 0xc], esi
mov edx, esi
mov dword [ebx + 0x10], edi
jmp 0x100210e1
mov ecx, eax
sub edi, eax
shl esi, cl
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], edi
jmp 0x100210a4
shl esi, cl
sub edi, ecx
or esi, edx
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], edi
jmp 0x10021038
mov ecx, eax
sub edi, eax
shl esi, cl
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], edi
jmp 0x10020ff9
shl edx, cl
sub edi, ecx
or edx, esi
jmp 0x10020f35
mov ecx, eax
sub edi, eax
shl edx, cl
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edi
jmp 0x10020ef9
shl esi, cl
sub edi, ecx
or esi, edx
mov dword [ebx + 0xc], esi
mov edx, esi
mov dword [ebx + 0x10], edi
jmp 0x10020e86
mov esi, ebp
mov ecx, eax
shl esi, cl
sub edi, eax
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], edi
jmp 0x10020e49
mov edi, dword [ebx + 0x10]
mov ebp, dword [ebx + 0xc]
jmp 0x10020dd7
mov eax, ecx
and eax, 7
cmp eax, ecx
jl 0x10023f4f
mov edx, dword [esp + 0xc]
shl edi, cl
sub ecx, eax
bswap edi
lea eax, [ecx + 0x20]
xor ecx, ecx
mov dword [edx], edi
mov edx, dword [ebx + 4]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], 0
lea esi, [edx + 4]
mov dword [esp + 0xc], esi
mov eax, esi
mov dword [ebx + 4], esi
jmp 0x100214bb
shl edi, cl
sub ebp, ecx
lea ecx, [ebp - 1]
or edi, edx
jmp 0x10021478
sub ebp, 1
lea esi, [edi + edi + 1]
test ebp, ebp
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], ebp
mov dword [esp + 0x10], esi
je 0x100225f0
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 0xf]
mov esi, eax
cmp dl, byte [eax + 0xb]
jne 0x10021b47
movzx eax, byte [eax + 0xe]
cmp al, dl
jne 0x10023ae9
movzx edx, byte [esi + 0xd]
cmp dl, al
jne 0x10023afb
movzx eax, byte [esi + 0xa]
cmp al, dl
jne 0x100226d4
movzx edx, byte [esi + 7]
cmp dl, al
jne 0x10023b91
movzx eax, byte [esi + 3]
cmp al, dl
jne 0x10023ba3
movzx edx, byte [esi + 6]
cmp dl, al
jne 0x10023c4e
movzx eax, byte [esi + 9]
cmp al, dl
jne 0x10023c6f
movzx edx, byte [esi + 0xc]
cmp dl, al
jne 0x10023cc9
movzx eax, byte [esi + 8]
cmp al, dl
jne 0x10023d59
cmp byte [esi + 5], al
jne 0x10023d47
cmp byte [esi + 2], al
jne 0x10023da1
cmp byte [esi + 1], al
jne 0x10023e0d
cmp byte [esi + 4], al
jne 0x10023e1f
cmp byte [esi], al
nop
jne 0x10023e31
mov eax, 1
mov ecx, 0xf
mov dword [esp + 0x18], 1
movzx eax, byte [eax + 0x1032f900]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + eax]
neg edx
movsx edx, dl
mov eax, edx
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x1002310d
cmp eax, 0xff
jle 0x10023110
mov dword [esp + 0x18], 0x10
mov eax, dword [esp + 0x14]
xor edx, edx
movzx ecx, byte [eax]
mov eax, 8
jmp 0x10021bc5
sub edi, ebp
mov esi, eax
mov ecx, edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x10]
shr esi, cl
mov ecx, ebp
mov ebp, 0x20
sub ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
shl edi, cl
or esi, edi
mov edi, dword [esp + 0xc]
bswap esi
mov dword [edi], esi
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ebp
lea edi, [esi + 4]
mov dword [esp + 0xc], edi
mov dword [ebx + 4], edi
add edx, 1
cmp edx, dword [esp + 0x18]
jge 0x100227f0
movzx eax, byte [edx + 0x1032f900]
mov esi, dword [esp + 0x14]
movzx ecx, byte [esi + eax]
movzx eax, byte [edx + 0x1032f8ff]
movzx eax, byte [esi + eax]
sub ecx, eax
movsx esi, cl
mov eax, esi
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x10022760
cmp eax, 0x100
mov esi, 1
mov ecx, 0x10
mov edi, 0
cmovl esi, eax
cmovl ecx, edi
movzx edi, byte [esi + 0x1032fa20]
add edi, ecx
cmp edi, ebp
jge 0x10021b60
mov esi, dword [esp + 0x10]
mov ecx, edi
sub ebp, edi
mov dword [ebx + 0x10], ebp
shl esi, cl
mov ecx, esi
or ecx, eax
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x10], ecx
jmp 0x10021b9e
add esi, esi
test ebp, ebp
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], ebp
je 0x10021ff3
mov edx, dword [esp + 0x14]
sub ebp, 1
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], esi
mov eax, dword [eax + 0x50]
mov dword [esp + 8], 0x10
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x14], eax
call fcn.102db958
test eax, eax
jne 0x10021ed0
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x10], ebp
add eax, eax
test ebp, ebp
mov dword [ebx + 0xc], eax
je 0x10021fc4
mov edi, dword [esp + 0x10]
sub ebp, 1
shl edi, 2
test ebp, ebp
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ebp
jne 0x10021caf
mov eax, dword [esp + 0xc]
mov bp, 0x20
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov esi, dword [eax + 0x3c]
test esi, esi
je 0x1002140b
mov eax, dword [esp + 0x44]
cmp dword [eax + 0x108], 3
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x54]
mov dword [esp + 8], 0x40
mov dword [esp + 4], 0x1032f9c0
mov dword [esp + 0x14], eax
mov dword [esp], eax
je 0x10022870
call fcn.102db958
test eax, eax
jne 0x10022402
lea eax, [ebp - 1]
add edi, edi
test eax, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
je 0x10022d30
sub ebp, 2
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x58]
mov dword [esp + 8], 0x40
mov dword [esp + 4], 0x1032f980
mov dword [esp], eax
mov dword [esp + 0x14], eax
call fcn.102db958
test eax, eax
je 0x10022830
mov eax, dword [esp + 0x10]
test ebp, ebp
mov dword [ebx + 0x10], ebp
lea edi, [eax + eax + 1]
mov dword [ebx + 0xc], edi
jne 0x10021d74
mov eax, dword [esp + 0xc]
mov bp, 0x20
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov ecx, 0x3f
mov esi, 0x40
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], edi
jmp 0x10021d8a
mov ecx, eax
movzx eax, byte [esi + 0x1032f87e]
movzx edi, cl
movzx ecx, al
movzx ecx, byte [edx + ecx]
cmp byte [edx + edi], cl
jne 0x100231b0
sub esi, 1
cmp esi, 1
jne 0x10021d88
mov edi, dword [esp + 0x10]
mov eax, 1
mov ecx, 0x3f
movzx eax, byte [eax + 0x1032f880]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + eax]
neg edx
movsx edx, dl
mov eax, edx
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x1002371c
mov eax, dword [esp + 0x14]
xor esi, esi
mov dword [esp + 0x10], edi
movzx edx, byte [eax]
mov eax, 8
jmp 0x10021e77
mov eax, dword [esp + 0x14]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x1032fa00
mov dword [esp], eax
call fcn.102db958
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x10022030
lea eax, [eax + eax + 1]
test ebp, ebp
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ebp
jne 0x10022650
mov edx, dword [esp + 0xc]
mov bp, 0x16
bswap eax
mov dword [edx], eax
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov edi, dword [ebx + 0xc]
shl edi, 0xa
or edi, 0x22
jmp 0x10021c82
mov edx, dword [esp + 0xc]
mov ebp, 0x1f
bswap eax
mov dword [edx], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x1f
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
lea esi, [eax + eax]
mov dword [ebx + 0xc], esi
sub ebp, 1
jmp 0x10021712
mov eax, dword [esp + 0x14]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x1032fa10
mov dword [esp], eax
call fcn.102db958
mov dword [ebx + 0x10], ebp
test eax, eax
mov eax, dword [esp + 0x10]
lea esi, [eax + eax + 1]
mov dword [ebx + 0xc], esi
jne 0x10022230
test ebp, ebp
jne 0x10022692
mov eax, dword [esp + 0xc]
mov bp, 0x16
bswap esi
mov dword [eax], esi
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov esi, dword [ebx + 0xc]
shl esi, 0xa
or esi, 0x22
jmp 0x100216e0
mov edx, dword [esp + 0xc]
mov ebp, 0x1f
bswap eax
mov dword [edx], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x1f
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
lea edi, [eax + eax]
mov dword [ebx + 0xc], edi
jmp 0x10021caf
mov eax, dword [esp + 0xc]
mov ebp, 0x1f
bswap esi
mov dword [eax], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0x48]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
jmp 0x10021c41
lea edi, [eax + eax + 1]
test ebp, ebp
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ebp
mov dword [esp + 0x10], edi
je 0x10022590
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 0xf]
cmp dl, byte [eax + 0xb]
jne 0x1002211c
cmp dl, byte [eax + 0xe]
jne 0x10023ac5
cmp dl, byte [eax + 0xd]
mov edi, eax
jne 0x10023b0d
movzx eax, byte [eax + 0xa]
cmp al, dl
jne 0x100226ef
cmp al, byte [edi + 7]
jne 0x10023b73
cmp al, byte [edi + 3]
jne 0x10023bc7
cmp al, byte [edi + 6]
jne 0x10023c3c
cmp al, byte [edi + 9]
jne 0x10023c93
cmp al, byte [edi + 0xc]
nop
jne 0x10023cdb
cmp al, byte [edi + 8]
jne 0x10023d7d
cmp al, byte [edi + 5]
jne 0x10023d6b
cmp al, byte [edi + 2]
jne 0x10023db3
cmp al, byte [edi + 1]
jne 0x10023dfb
cmp al, byte [edi + 4]
jne 0x10023e79
cmp al, byte [edi]
jne 0x10023e67
mov eax, 1
mov ecx, 0xf
mov dword [esp + 0x18], 1
movzx eax, byte [eax + 0x1032f900]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + eax]
neg edx
movsx edx, dl
mov eax, edx
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x1002314b
cmp eax, 0xff
jle 0x1002314e
mov dword [esp + 0x18], 0x10
mov eax, dword [esp + 0x14]
xor edx, edx
movzx ecx, byte [eax]
mov eax, 8
jmp 0x10022199
sub edi, ebp
mov esi, eax
mov ecx, edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x10]
shr esi, cl
mov ecx, ebp
mov ebp, 0x20
sub ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
shl edi, cl
or esi, edi
mov edi, dword [esp + 0xc]
bswap esi
mov dword [edi], esi
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ebp
add esi, 4
mov dword [esp + 0xc], esi
mov dword [ebx + 4], esi
add edx, 1
cmp edx, dword [esp + 0x18]
jge 0x100227d0
movzx eax, byte [edx + 0x1032f900]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + eax]
movzx eax, byte [edx + 0x1032f8ff]
movzx eax, byte [edi + eax]
sub ecx, eax
movsx esi, cl
mov eax, esi
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x10022750
cmp eax, 0x100
mov esi, 1
mov ecx, 0x10
mov edi, 0
cmovl esi, eax
cmovl ecx, edi
movzx edi, byte [esi + 0x1032fa20]
add edi, ecx
cmp edi, ebp
jge 0x10022134
mov esi, dword [esp + 0x10]
mov ecx, edi
sub ebp, edi
mov dword [ebx + 0x10], ebp
shl esi, cl
mov ecx, esi
or ecx, eax
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x10], ecx
jmp 0x10022172
mov eax, dword [esp + 0xc]
mov ebp, 0x1f
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0x44]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
jmp 0x1002169f
test ebp, ebp
mov dword [esp + 0x10], esi
je 0x100225c0
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 0xf]
mov esi, eax
cmp dl, byte [eax + 0xb]
jne 0x10022328
movzx eax, byte [eax + 0xe]
cmp al, dl
jne 0x10023ad7
movzx edx, byte [esi + 0xd]
cmp dl, al
jne 0x10023b1f
movzx eax, byte [esi + 0xa]
cmp al, dl
jne 0x1002270e
movzx edx, byte [esi + 7]
cmp dl, al
jne 0x10023b43
movzx eax, byte [esi + 3]
cmp al, dl
jne 0x10023bb5
movzx edx, byte [esi + 6]
cmp dl, al
jne 0x10023c2a
movzx eax, byte [esi + 9]
cmp al, dl
jne 0x10023ca5
movzx edx, byte [esi + 0xc]
cmp dl, al
jne 0x10023cb7
movzx eax, byte [esi + 8]
cmp al, dl
jne 0x10023d35
cmp byte [esi + 5], al
jne 0x10023d23
cmp byte [esi + 2], al
jne 0x10023dc5
cmp byte [esi + 1], al
jne 0x10023dd7
cmp byte [esi + 4], al
jne 0x10023e9d
cmp byte [esi], al
jne 0x10023e8b
mov eax, 1
mov ecx, 0xf
mov dword [esp + 0x18], 1
movzx eax, byte [eax + 0x1032f900]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + eax]
neg edx
movsx edx, dl
mov eax, edx
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x1002316a
cmp eax, 0xff
jle 0x1002316d
mov dword [esp + 0x18], 0x10
mov eax, dword [esp + 0x14]
xor edx, edx
movzx ecx, byte [eax]
mov eax, 8
jmp 0x100223a5
sub edi, ebp
mov esi, eax
mov ecx, edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x10]
shr esi, cl
mov ecx, ebp
mov ebp, 0x20
sub ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
shl edi, cl
or esi, edi
mov edi, dword [esp + 0xc]
bswap esi
mov dword [edi], esi
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ebp
lea edi, [esi + 4]
mov dword [esp + 0xc], edi
mov dword [ebx + 4], edi
add edx, 1
cmp edx, dword [esp + 0x18]
jge 0x100227b0
movzx eax, byte [edx + 0x1032f900]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + eax]
movzx eax, byte [edx + 0x1032f8ff]
movzx eax, byte [edi + eax]
sub ecx, eax
movsx esi, cl
mov eax, esi
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x10022770
cmp eax, 0x100
mov esi, 1
mov ecx, 0x10
mov edi, 0
cmovl esi, eax
cmovl ecx, edi
movzx edi, byte [esi + 0x1032fa20]
add edi, ecx
cmp edi, ebp
jge 0x10022340
mov esi, dword [esp + 0x10]
mov ecx, edi
sub ebp, edi
mov dword [ebx + 0x10], ebp
shl esi, cl
mov ecx, esi
or ecx, eax
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x10], ecx
jmp 0x1002237e
sub ebp, 1
lea edi, [edi + edi + 1]
test ebp, ebp
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ebp
mov dword [esp + 0x10], edi
jne 0x10022441
mov eax, dword [esp + 0xc]
mov ebp, edi
bswap ebp
mov dword [eax], ebp
mov eax, dword [ebx + 4]
mov ebp, 0x20
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
mov ecx, 0x3f
mov eax, 0x40
mov esi, dword [esp + 0x14]
jmp 0x10022453
mov ecx, edx
movzx edx, byte [eax + 0x1032f87e]
movzx edi, cl
movzx ecx, dl
movzx ecx, byte [esi + ecx]
cmp byte [esi + edi], cl
jne 0x10023190
sub eax, 1
cmp eax, 1
jne 0x10022451
mov edx, 1
mov esi, 0x3f
movzx edx, byte [edx + 0x1032f880]
mov edi, dword [esp + 0x14]
movzx edx, byte [edi + edx]
neg edx
movsx ecx, dl
mov edx, ecx
neg edx
lea edx, [edx + edx + 1]
test edx, edx
js 0x1002372b
cmp edx, 0xff
mov ecx, 0x11
jle 0x1002372e
mov edx, 0x40
cmp ecx, esi
cmovg eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
xor edi, edi
movzx edx, byte [eax]
mov eax, 8
jmp 0x10022539
mov esi, ecx
mov edx, eax
sub esi, ebp
mov ecx, esi
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x10]
shr edx, cl
mov ecx, ebp
mov ebp, 0x20
sub ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
shl esi, cl
or edx, esi
mov esi, dword [esp + 0xc]
bswap edx
mov dword [esi], edx
mov edx, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ebp
add edx, 4
mov dword [esp + 0xc], edx
mov dword [ebx + 4], edx
add edi, 1
cmp edi, dword [esp + 0x18]
jge 0x10022d60
movzx eax, byte [edi + 0x1032f880]
mov esi, dword [esp + 0x14]
movzx edx, byte [esi + eax]
movzx eax, byte [edi + 0x1032f87f]
movzx eax, byte [esi + eax]
sub edx, eax
movsx edx, dl
mov eax, edx
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x10022810
cmp eax, 0x100
mov ecx, 1
mov edx, 0x10
mov esi, 0
cmovl ecx, eax
cmovl edx, esi
movzx esi, byte [ecx + 0x1032fa20]
lea ecx, [esi + edx]
cmp ecx, ebp
jge 0x100224d2
mov edx, dword [esp + 0x10]
sub ebp, ecx
mov dword [ebx + 0x10], ebp
shl edx, cl
or edx, eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x10], edx
jmp 0x10022512
mov eax, dword [esp + 0xc]
mov bp, 0x20
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
jmp 0x10022046
mov eax, dword [esp + 0xc]
mov bp, 0x20
bswap esi
mov dword [eax], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
jmp 0x1002223c
mov eax, dword [esp + 0xc]
mov bp, 0x20
bswap esi
mov dword [eax], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
jmp 0x10021a59
mov eax, dword [esp + 0xc]
mov bp, 0x20
bswap ecx
mov dword [eax], ecx
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
jmp 0x10021753
cmp ebp, 9
jg 0x10023f72
mov ecx, ebp
mov edx, 0x11
shl eax, cl
mov ecx, 9
sub ecx, ebp
mov edi, 0x22
shr edx, cl
add ebp, 0x16
or eax, edx
mov edx, dword [esp + 0xc]
mov dword [ebx + 0xc], eax
bswap eax
mov dword [edx], eax
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
jmp 0x10021c82
cmp ebp, 9
jg 0x10023f37
mov ecx, ebp
mov eax, 0x11
shl esi, cl
mov ecx, 9
sub ecx, ebp
add ebp, 0x16
shr eax, cl
or esi, eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0xc], esi
bswap esi
mov dword [eax], esi
mov eax, dword [ebx + 4]
mov esi, 0x22
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
jmp 0x100216e0
mov dword [esp + 0x18], 0xd
mov eax, 0xd
mov ecx, 0x10
sub ecx, dword [esp + 0x18]
jmp 0x10021b18
mov dword [esp + 0x18], 0xd
mov eax, 0xd
lea esi, [esi]
mov ecx, 0x10
sub ecx, dword [esp + 0x18]
jmp 0x100220ed
mov dword [esp + 0x18], 0xd
mov eax, 0xd
nop
lea esi, [esi]
mov ecx, 0x10
sub ecx, dword [esp + 0x18]
jmp 0x100222f9
mov dword [esp + 0x18], 0xd
mov eax, 0xd
nop
lea esi, [esi]
mov ecx, 0x10
sub ecx, dword [esp + 0x18]
jmp 0x100217f4
add esi, esi
xor ecx, ecx
mov eax, esi
jmp 0x100221c8
add esi, esi
xor ecx, ecx
mov eax, esi
jmp 0x10021bf4
add esi, esi
xor ecx, ecx
mov eax, esi
jmp 0x100223d4
add esi, esi
xor ecx, ecx
mov eax, esi
jmp 0x100218d4
cmp dword [esp + 0x18], 0x10
jne 0x10022aa1
mov eax, dword [esp + 0x48]
sub ebp, 1
mov edx, dword [eax + 0x48]
jmp 0x10021c41
cmp dword [esp + 0x18], 0x10
jne 0x10022b46
mov esi, dword [esp + 0x10]
sub ebp, 1
add esi, esi
jmp 0x100216e0
cmp dword [esp + 0x18], 0x10
jne 0x10022a12
mov edi, dword [esp + 0x10]
sub ebp, 1
add edi, edi
jmp 0x10021c82
cmp dword [esp + 0x18], 0x10
jne 0x10022bd4
mov eax, dword [esp + 0x48]
sub ebp, 1
mov edx, dword [eax + 0x44]
jmp 0x1002169f
lea eax, [edx + edx]
xor edx, edx
mov ecx, eax
jmp 0x10022568
mov edi, dword [esp + 0x10]
add edi, edi
test ebp, ebp
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ebp
jne 0x1002140b
mov eax, dword [esp + 0xc]
mov bp, 0x20
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
mov edi, dword [ebx + 0xc]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
jmp 0x1002140b
call fcn.102db958
test eax, eax
je 0x10022d73
sub ebp, 1
lea edi, [edi + edi + 1]
test ebp, ebp
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ebp
jne 0x100228b1
mov eax, dword [esp + 0xc]
mov bp, 0x20
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov ecx, 0x3f
mov eax, 0x40
mov esi, dword [esp + 0x14]
mov dword [esp + 0x10], ebp
jmp 0x100228c7
mov ecx, edx
movzx edx, byte [eax + 0x1032f87e]
movzx ebp, cl
movzx ecx, dl
movzx ecx, byte [esi + ecx]
cmp byte [esi + ebp], cl
jne 0x10023755
sub eax, 1
cmp eax, 1
jne 0x100228c5
mov ebp, dword [esp + 0x10]
mov edx, 1
mov esi, 0x3f
mov ecx, dword [esp + 0x14]
movzx edx, byte [edx + 0x1032f880]
movzx edx, byte [ecx + edx]
neg edx
movsx ecx, dl
mov edx, ecx
neg edx
lea edx, [edx + edx + 1]
test edx, edx
js 0x10023c60
cmp edx, 0xff
mov ecx, 0x11
jle 0x10023c63
mov edx, 0x40
cmp ecx, esi
cmovg eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x10], edi
movzx ecx, byte [eax]
mov eax, 8
jmp 0x100229b5
sub edi, ebp
mov esi, eax
mov ecx, edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x10]
shr esi, cl
mov ecx, ebp
mov ebp, 0x20
sub ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
shl edi, cl
or esi, edi
mov edi, dword [esp + 0xc]
bswap esi
mov dword [edi], esi
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ebp
add edi, 4
mov dword [esp + 0xc], edi
mov dword [ebx + 4], edi
add edx, 1
cmp edx, dword [esp + 0x18]
jge 0x1002323f
movzx eax, byte [edx + 0x1032f880]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + eax]
movzx eax, byte [edx + 0x1032f87f]
movzx eax, byte [edi + eax]
sub ecx, eax
movsx esi, cl
mov eax, esi
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x10022c80
cmp eax, 0x100
mov esi, 1
mov ecx, 0x10
mov edi, 0
cmovl esi, eax
cmovl ecx, edi
movzx edi, byte [esi + 0x1032fa20]
add edi, ecx
cmp edi, ebp
jge 0x10022950
mov esi, dword [esp + 0x10]
mov ecx, edi
sub ebp, edi
mov dword [ebx + 0x10], ebp
shl esi, cl
mov ecx, esi
or ecx, eax
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x10], ecx
jmp 0x1002298e
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
movzx eax, byte [eax + 0x1032f900]
movzx edx, byte [edx + eax]
neg edx
movsx edx, dl
mov eax, edx
neg eax
lea esi, [eax + eax + 1]
test esi, esi
js 0x100236f0
cmp esi, 0x100
mov edx, 1
mov ecx, 0x10
mov eax, 0
cmovl edx, esi
cmovl ecx, eax
movzx eax, byte [edx + 0x1032fa20]
add ecx, eax
cmp ecx, ebp
jl 0x10023208
mov eax, ecx
mov edi, dword [esp + 0x10]
mov edx, esi
sub eax, ebp
mov ecx, eax
shr edx, cl
mov ecx, ebp
shl edi, cl
mov ebp, 0x1f
or edx, edi
mov edi, dword [esp + 0xc]
sub ebp, eax
mov dword [ebx + 0xc], edx
bswap edx
mov dword [edi], edx
mov edx, dword [ebx + 4]
lea edi, [esi + esi]
add edx, 4
mov dword [esp + 0xc], edx
mov dword [ebx + 4], edx
jmp 0x10021c82
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
movzx eax, byte [eax + 0x1032f900]
movzx edx, byte [edx + eax]
neg edx
movsx edx, dl
mov eax, edx
neg eax
lea edi, [eax + eax + 1]
test edi, edi
js 0x10023711
cmp edi, 0x100
mov edx, 1
mov ecx, 0x10
mov eax, 0
cmovl edx, edi
cmovl ecx, eax
movzx eax, byte [edx + 0x1032fa20]
add ecx, eax
cmp ecx, ebp
jl 0x100231e5
mov eax, ecx
mov esi, dword [esp + 0x10]
mov edx, edi
sub eax, ebp
mov ecx, eax
shr edx, cl
mov ecx, ebp
shl esi, cl
mov ebp, 0x1f
or edx, esi
mov esi, dword [esp + 0xc]
sub ebp, eax
bswap edx
mov dword [esp + 0x10], edi
mov dword [esi], edx
mov edx, dword [ebx + 4]
mov dword [ebx + 0xc], edi
add edx, 4
mov dword [esp + 0xc], edx
mov dword [ebx + 4], edx
mov edx, 0x20
sub edx, eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x10], edx
mov edx, dword [esp + 0x48]
mov edx, dword [edx + 0x48]
jmp 0x10021c41
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
movzx eax, byte [eax + 0x1032f900]
movzx eax, byte [edx + eax]
neg eax
movsx eax, al
mov edx, eax
neg edx
lea esi, [edx + edx + 1]
test esi, esi
js 0x10023706
cmp esi, 0x100
mov eax, 1
mov ecx, 0x10
mov edx, 0
cmovl eax, esi
cmovl ecx, edx
movzx edx, byte [eax + 0x1032fa20]
add ecx, edx
cmp ecx, ebp
jl 0x100231d0
mov edx, ecx
mov edi, dword [esp + 0x10]
mov eax, esi
sub edx, ebp
add esi, esi
mov ecx, edx
shr eax, cl
mov ecx, ebp
shl edi, cl
mov ebp, 0x1f
or eax, edi
mov edi, dword [esp + 0xc]
sub ebp, edx
mov dword [ebx + 0xc], eax
bswap eax
mov dword [edi], eax
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
jmp 0x100216e0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
movzx eax, byte [eax + 0x1032f900]
movzx edx, byte [edx + eax]
neg edx
movsx edx, dl
mov eax, edx
neg eax
lea edi, [eax + eax + 1]
test edi, edi
js 0x100236fb
cmp edi, 0x100
mov edx, 1
mov ecx, 0x10
mov eax, 0
cmovl edx, edi
cmovl ecx, eax
movzx eax, byte [edx + 0x1032fa20]
add ecx, eax
cmp ecx, ebp
jl 0x1002321c
mov eax, ecx
mov esi, dword [esp + 0x10]
mov edx, edi
sub eax, ebp
mov ecx, eax
shr edx, cl
mov ecx, ebp
shl esi, cl
mov ebp, 0x1f
or edx, esi
mov esi, dword [esp + 0xc]
sub ebp, eax
bswap edx
mov dword [esp + 0x10], edi
mov dword [esi], edx
mov edx, dword [ebx + 4]
mov dword [ebx + 0xc], edi
add edx, 4
mov dword [esp + 0xc], edx
mov dword [ebx + 4], edx
mov edx, 0x20
sub edx, eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x10], edx
mov edx, dword [esp + 0x48]
mov edx, dword [edx + 0x44]
jmp 0x1002169f
add esi, esi
xor ecx, ecx
mov eax, esi
jmp 0x100229e4
mov eax, dword [esp + 0xc]
mov ebp, 0x1f
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
jmp 0x10021d14
cmp dword [esp + 0x18], 0x40
jne 0x100232df
sub ebp, 1
jmp 0x10021d14
lea eax, [ebp - 1]
add edi, edi
test eax, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
je 0x1002327b
mov eax, dword [esp + 0x14]
sub ebp, 2
mov edx, dword [esp + 0x48]
mov edx, dword [edx + 0x5c]
mov dword [esp + 8], 0x40
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x14], edx
call fcn.102db958
test eax, eax
jne 0x10023050
lea eax, [edi + edi]
test ebp, ebp
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ebp
je 0x10022fb8
lea esi, [edi*4]
sub ebp, 1
test ebp, ebp
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], ebp
jne 0x10022fe2
mov eax, dword [esp + 0xc]
mov ebp, 0x1f
bswap esi
mov dword [eax], esi
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov edi, dword [eax + 0x58]
mov dword [esp + 8], 0x40
mov dword [esp + 4], 0x1032f980
mov dword [esp], edi
call fcn.102db958
test eax, eax
je 0x10022ff0
mov edx, dword [esp + 0xc]
mov ebp, 0x1f
bswap eax
mov dword [edx], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x1f
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
lea esi, [eax + eax]
mov dword [ebx + 0xc], esi
sub ebp, 1
jmp 0x10022e01
mov eax, dword [esp + 0x14]
mov dword [esp + 8], 0x40
mov dword [esp + 4], 0x1032f9c0
mov dword [esp], eax
call fcn.102db958
test eax, eax
jne 0x1002351c
lea edi, [edi + edi + 1]
test ebp, ebp
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ebp
jne 0x100237f2
mov eax, dword [esp + 0xc]
mov bp, 0x16
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov esi, dword [ebx + 0xc]
shl esi, 0xa
or esi, 0x22
jmp 0x10022dcf
lea eax, [edx + edx]
movzx eax, byte [eax + 0x1032fa20]
cmp eax, ecx
mov eax, 0x10
cmovle eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
jmp 0x10021b4f
lea eax, [edx + edx]
movzx eax, byte [eax + 0x1032fa20]
cmp eax, ecx
mov eax, 0x10
cmovle eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
jmp 0x1002182b
lea eax, [edx + edx]
movzx eax, byte [eax + 0x1032fa20]
cmp eax, ecx
mov eax, 0x10
cmovle eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
jmp 0x10022124
lea eax, [edx + edx]
movzx eax, byte [eax + 0x1032fa20]
cmp eax, ecx
mov eax, 0x10
cmovle eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
jmp 0x10022330
cmp eax, 0x40
mov dword [esp + 0x18], eax
je 0x100224c2
mov esi, 0x40
mov edx, eax
sub esi, eax
jmp 0x1002247f
cmp esi, 0x40
mov edi, dword [esp + 0x10]
mov dword [esp + 0x18], esi
je 0x10021dfc
mov ecx, 0x40
mov eax, esi
sub ecx, esi
jmp 0x10021dba
mov eax, dword [esp + 0x10]
sub ebp, ecx
sub ebp, 1
shl eax, cl
or eax, esi
lea esi, [eax + eax]
jmp 0x100216e0
mov esi, dword [esp + 0x10]
sub ebp, ecx
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x10], ebp
sub ebp, 1
shl esi, cl
or esi, edi
mov edx, dword [eax + 0x48]
mov dword [ebx + 0xc], esi
mov dword [esp + 0x10], esi
jmp 0x10021c41
mov edi, dword [esp + 0x10]
sub ebp, ecx
sub ebp, 1
shl edi, cl
or edi, esi
add edi, edi
jmp 0x10021c82
mov esi, dword [esp + 0x10]
sub ebp, ecx
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x10], ebp
sub ebp, 1
shl esi, cl
or esi, edi
mov edx, dword [eax + 0x44]
mov dword [ebx + 0xc], esi
mov dword [esp + 0x10], esi
jmp 0x1002169f
cmp dword [esp + 0x18], 0x40
mov edi, dword [esp + 0x10]
jne 0x100239eb
mov eax, dword [esp + 0x48]
sub ebp, 1
mov eax, dword [eax + 0x54]
jmp 0x10022d8d
mov eax, dword [esp + 0xc]
mov ebp, 0x1f
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
mov edi, dword [ebx + 0xc]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x54]
jmp 0x10022d8d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
movzx eax, byte [eax + 0x1032f880]
movzx eax, byte [edx + eax]
neg eax
movsx eax, al
mov edx, eax
neg edx
lea esi, [edx + edx + 1]
test esi, esi
js 0x10023b85
cmp esi, 0x100
mov edx, 1
mov ecx, 0x10
mov eax, 0
cmovl edx, esi
cmovl ecx, eax
movzx eax, byte [edx + 0x1032fa20]
add ecx, eax
cmp ecx, ebp
jl 0x10023a86
mov eax, ecx
mov edi, dword [esp + 0x10]
mov edx, esi
sub eax, ebp
mov ecx, eax
shr edx, cl
mov ecx, ebp
shl edi, cl
mov ebp, 0x1f
or edx, edi
mov edi, dword [esp + 0xc]
sub ebp, eax
bswap edx
mov dword [esp + 0x10], esi
mov dword [edi], edx
mov edx, dword [ebx + 4]
mov dword [ebx + 0xc], esi
add edx, 4
mov dword [esp + 0xc], edx
mov dword [ebx + 4], edx
mov edx, 0x20
sub edx, eax
mov dword [ebx + 0x10], edx
jmp 0x10021d14
lea edx, [edi + edi + 1]
test ebp, ebp
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], ebp
mov dword [esp + 0x10], edx
jne 0x10023555
mov eax, dword [esp + 0xc]
mov bp, 0x20
bswap edx
mov dword [eax], edx
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
mov ecx, 0x3f
mov eax, 0x40
mov esi, dword [esp + 0x14]
jmp 0x10023567
mov ecx, edx
movzx edx, byte [eax + 0x1032f87e]
movzx edi, cl
movzx ecx, dl
movzx ecx, byte [esi + ecx]
cmp byte [esi + edi], cl
jne 0x10023774
sub eax, 1
cmp eax, 1
jne 0x10023565
mov edx, 1
mov esi, 0x3f
movzx edx, byte [edx + 0x1032f880]
mov edi, dword [esp + 0x14]
movzx edx, byte [edi + edx]
neg edx
movsx ecx, dl
mov edx, ecx
neg edx
lea edx, [edx + edx + 1]
test edx, edx
js 0x10023bfd
cmp edx, 0xff
mov ecx, 0x11
jle 0x10023c00
mov edx, 0x40
cmp ecx, esi
cmovg eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
xor edi, edi
movzx ecx, byte [eax]
mov eax, 8
jmp 0x10023649
mov esi, ecx
mov edx, eax
sub esi, ebp
mov ecx, esi
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x10]
shr edx, cl
mov ecx, ebp
mov ebp, 0x20
sub ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
shl esi, cl
or edx, esi
mov esi, dword [esp + 0xc]
bswap edx
mov dword [esi], edx
mov edx, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ebp
add edx, 4
mov dword [esp + 0xc], edx
mov dword [ebx + 4], edx
add edi, 1
cmp edi, dword [esp + 0x18]
jge 0x100236a8
movzx eax, byte [edi + 0x1032f880]
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + eax]
movzx eax, byte [edi + 0x1032f87f]
movzx eax, byte [edx + eax]
sub ecx, eax
movsx ecx, cl
mov eax, ecx
neg eax
lea eax, [eax + eax + 1]
test eax, eax
js 0x100236a0
cmp eax, 0x100
mov ecx, 1
mov edx, 0x10
mov esi, 0
cmovl ecx, eax
cmovl edx, esi
movzx esi, byte [ecx + 0x1032fa20]
lea ecx, [esi + edx]
cmp ecx, ebp
jge 0x100235e6
mov edx, dword [esp + 0x10]
sub ebp, ecx
mov dword [ebx + 0x10], ebp
shl edx, cl
or edx, eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x10], edx
jmp 0x10023626
add ecx, ecx
xor edx, edx
mov eax, ecx
jmp 0x10023674
cmp dword [esp + 0x18], 0x40
jne 0x1002395c
mov esi, dword [esp + 0x10]
sub ebp, 1
add esi, esi
jmp 0x10022dcf
add edx, edx
xor ecx, ecx
mov esi, edx
jmp 0x10022a55
add edx, edx
xor ecx, ecx
mov edi, edx
jmp 0x10022c17
add eax, eax
xor ecx, ecx
mov esi, eax
jmp 0x10022b89
add edx, edx
xor ecx, ecx
mov edi, edx
jmp 0x10022ae4
lea edx, [ecx + ecx]
movzx ecx, byte [edx + 0x1032fa20]
jmp 0x100224b4
cmp eax, 0x40
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], eax
je 0x1002293a
mov esi, 0x40
mov edx, eax
sub esi, eax
jmp 0x100228f7
cmp eax, 0x40
mov dword [esp + 0x18], eax
je 0x100235d6
mov esi, 0x40
mov edx, eax
sub esi, eax
jmp 0x10023593
cmp ebp, 9
jg 0x10023f47
mov ecx, ebp
mov eax, 0x11
shl edi, cl
mov ecx, 9
sub ecx, ebp
mov esi, 0x22
shr eax, cl
add ebp, 0x16
or edi, eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0xc], edi
bswap edi
mov dword [eax], edi
mov eax, dword [ebx + 4]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
jmp 0x10022dcf
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
movzx eax, byte [eax + 0x1032f880]
movzx eax, byte [edx + eax]
neg eax
movsx ecx, al
mov eax, ecx
neg eax
lea edx, [eax + eax + 1]
test edx, edx
js 0x10023f16
cmp edx, 0x100
mov ecx, 1
mov esi, 0x10
mov eax, 0
cmovl ecx, edx
cmovl esi, eax
movzx ecx, byte [ecx + 0x1032fa20]
add ecx, esi
cmp ecx, ebp
jl 0x10023ec0
mov edi, ecx
mov esi, dword [esp + 0x10]
mov eax, edx
sub edi, ebp
mov ecx, edi
shr eax, cl
mov ecx, ebp
shl esi, cl
mov ebp, 0x1f
or eax, esi
mov esi, dword [esp + 0xc]
sub ebp, edi
mov dword [ebx + 0xc], eax
bswap eax
mov dword [esi], eax
mov eax, dword [ebx + 4]
lea esi, [edx + edx]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
jmp 0x10022dcf
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
movzx eax, byte [eax + 0x1032f880]
movzx eax, byte [edx + eax]
neg eax
movsx edx, al
mov eax, edx
neg eax
lea esi, [eax + eax + 1]
test esi, esi
js 0x10023f0b
cmp esi, 0x100
mov edx, 1
mov ecx, 0x10
mov eax, 0
cmovl edx, esi
cmovl ecx, eax
movzx edx, byte [edx + 0x1032fa20]
add ecx, edx
cmp ecx, ebp
jl 0x10023eaf
mov edx, ecx
mov eax, esi
sub edx, ebp
mov ecx, edx
shr eax, cl
mov ecx, ebp
shl edi, cl
mov ebp, 0x1f
or eax, edi
mov edi, dword [esp + 0xc]
sub ebp, edx
bswap eax
mov dword [edi], eax
mov eax, dword [ebx + 4]
mov edi, esi
mov dword [ebx + 0xc], esi
add eax, 4
mov dword [esp + 0xc], eax
mov dword [ebx + 4], eax
mov eax, 0x20
sub eax, edx
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x54]
jmp 0x10022d8d
mov edx, dword [esp + 0x10]
sub ebp, ecx
mov dword [ebx + 0x10], ebp
sub ebp, 1
shl edx, cl
or edx, esi
mov dword [ebx + 0xc], edx
mov dword [esp + 0x10], edx
jmp 0x10021d14
mov dword [esp + 0x18], 0xf
mov eax, 0xf
jmp 0x10022740
mov dword [esp + 0x18], 0xf
mov eax, 0xf
jmp 0x10022700
mov dword [esp + 0x18], 0xf
mov eax, 0xf
jmp 0x10022720
mov dword [esp + 0x18], 0xf
mov eax, 0xf
jmp 0x100226e1
mov dword [esp + 0x18], 0xe
mov eax, 0xe
jmp 0x100226e1
mov dword [esp + 0x18], 0xe
mov eax, 0xe
jmp 0x10022700
mov dword [esp + 0x18], 0xe
mov eax, 0xe
jmp 0x10022720
mov dword [esp + 0x18], 0xe
mov eax, 0xe
jmp 0x10022740
mov dword [esp + 0x18], 0xc
mov eax, 0xc
jmp 0x10022720
mov dword [esp + 0x18], 0xc
mov eax, 0xc
jmp 0x10022740
mov dword [esp + 0x18], 0xc
mov eax, 0xc
jmp 0x10022700
lea esi, [eax + eax]
xor ecx, ecx
mov edx, esi
jmp 0x10023322
mov dword [esp + 0x18], 0xc
mov eax, 0xc
jmp 0x100226e1
mov dword [esp + 0x18], 0xb
mov eax, 0xb
jmp 0x100226e1
mov dword [esp + 0x18], 0xb
mov eax, 0xb
jmp 0x10022720
mov dword [esp + 0x18], 0xb
mov eax, 0xb
jmp 0x10022700
mov dword [esp + 0x18], 0xb
mov eax, 0xb
jmp 0x10022740
mov dword [esp + 0x18], 0xa
mov eax, 0xa
jmp 0x10022740
lea edx, [ecx + ecx]
movzx ecx, byte [edx + 0x1032fa20]
jmp 0x100235c8
mov dword [esp + 0x18], 0xa
mov eax, 0xa
jmp 0x10022720
mov dword [esp + 0x18], 0xa
mov eax, 0xa
jmp 0x10022700
mov dword [esp + 0x18], 0xa
mov eax, 0xa
jmp 0x100226e1
lea edx, [ecx + ecx]
movzx ecx, byte [edx + 0x1032fa20]
jmp 0x1002292c
mov dword [esp + 0x18], 9
mov eax, 9
jmp 0x100226e1
mov dword [esp + 0x18], 9
mov eax, 9
jmp 0x10022740
mov dword [esp + 0x18], 9
mov eax, 9
jmp 0x10022700
mov dword [esp + 0x18], 9
mov eax, 9
jmp 0x10022720
mov dword [esp + 0x18], 8
mov eax, 8
jmp 0x10022720
mov dword [esp + 0x18], 8
mov eax, 8
jmp 0x100226e1
mov dword [esp + 0x18], 8
mov eax, 8
jmp 0x10022700
mov dword [esp + 0x18], 8
mov eax, 8
jmp 0x10022740
mov dword [esp + 0x18], 7
mov eax, 7
jmp 0x10022740
mov dword [esp + 0x18], 6
mov eax, 6
jmp 0x10022740
mov dword [esp + 0x18], 6
mov eax, 6
jmp 0x10022720
mov dword [esp + 0x18], 7
mov eax, 7
jmp 0x10022720
mov dword [esp + 0x18], 6
mov eax, 6
jmp 0x100226e1
mov dword [esp + 0x18], 7
mov eax, 7
jmp 0x100226e1
mov dword [esp + 0x18], 6
mov eax, 6
jmp 0x10022700
mov dword [esp + 0x18], 7
mov eax, 7
jmp 0x10022700
mov dword [esp + 0x18], 5
mov eax, 5
jmp 0x10022740
mov dword [esp + 0x18], 5
mov eax, 5
jmp 0x100226e1
mov dword [esp + 0x18], 5
mov eax, 5
jmp 0x10022700
mov dword [esp + 0x18], 5
mov eax, 5
jmp 0x10022720
mov dword [esp + 0x18], 4
mov eax, 4
jmp 0x10022720
mov dword [esp + 0x18], 4
mov eax, 4
jmp 0x10022740
mov dword [esp + 0x18], 4
mov eax, 4
jmp 0x10022700
mov dword [esp + 0x18], 4
mov eax, 4
jmp 0x100226e1
mov dword [esp + 0x18], 3
mov eax, 3
jmp 0x100226e1
mov dword [esp + 0x18], 2
mov eax, 2
jmp 0x100226e1
mov dword [esp + 0x18], 3
mov eax, 3
jmp 0x10022740
mov dword [esp + 0x18], 2
mov eax, 2
jmp 0x10022740
mov dword [esp + 0x18], 2
mov eax, 2
jmp 0x10022700
mov dword [esp + 0x18], 3
mov eax, 3
jmp 0x10022700
mov dword [esp + 0x18], 2
mov eax, 2
jmp 0x10022720
mov dword [esp + 0x18], 3
mov eax, 3
jmp 0x10022720
shl edi, cl
sub ebp, ecx
or edi, esi
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ebp
jmp 0x1002324e
mov esi, dword [esp + 0x10]
sub ebp, ecx
sub ebp, 1
shl esi, cl
or esi, edx
add esi, esi
jmp 0x10022dcf
add edx, edx
xor ecx, ecx
mov esi, edx
jmp 0x10023a2e
add ecx, ecx
xor esi, esi
mov edx, ecx
jmp 0x1002399f
sub ebp, 0xa
jmp 0x10021fb6
sub ebp, 0xa
jmp 0x1002309f
mov edx, ecx
mov ecx, eax
sub edx, eax
mov esi, edx
and esi, 0x1f
jmp 0x100214a6
mov esi, edx
mov eax, dword [esp + 0x48]
jmp 0x10020f91
sub edi, 3
jmp 0x100211c5
sub ebp, 0xa
jmp 0x10021f23