Function at 0x10003ac0
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x48
mov esi, esp
mov eax, dword [0x10080800]
xor eax, ebp
mov dword [esi + 0x40], eax
cmp dword [0x10081f70], 0xa
jl 0x10003b10
mov eax, dword [0x10081f6c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10003b10
nop word cs:[eax + eax]
jmp 0x10003b00
push eax
mov edx, esp
push eax
mov edi, esp
push eax
mov ebx, esp
sub esp, 0xc
mov dword [esi + 0x2c], esp
push eax
mov eax, esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
push eax
mov dword [esi + 0xc], esp
sub esp, 0x98
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x38], ecx
mov esp, ecx
push eax
sub esp, 0x14
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x28], esp
push eax
mov dword [esi + 0x18], esp
push eax
mov dword [esi + 0x24], esp
push eax
mov dword [esi], esp
mov dword [esi + 0x3c], edx
mov ecx, dword [ebp + 0x14]
mov dword [edx], ecx
mov dword [esi + 0x10], edi
mov dword [edi], 0
mov dword [esi + 4], ebx
mov byte [ebx], 0
cmp dword [0x10081dbc], 0xa
jl 0x10003b89
mov ecx, dword [0x10081dc0]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
jne 0x100041d0
mov ecx, dword [esi + 0x2c]
push eax
push 0x20
call fcn.10008da0
cmp dword [0x10081dbc], 0xa
jl 0x10003bb1
mov eax, dword [0x10081dc0]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100041e0
mov ecx, dword [esi + 0x1c]
push dword [esi + 0xc]
push 0x38
call fcn.10008da0
mov ebx, dword [esi + 0x38]
mov ecx, ebx
push 1
call fcn.10008e50
mov ecx, ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.100091c0
mov ecx, eax
push dword [ebp + 0x10]
call fcn.10009600
mov edx, dword [0x10081e38]
mov eax, dword [0x10081e34]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x10003c1d
test ecx, ecx
je 0x10003c1d
lea ecx, [ebx + 4]
push dword [esi + 0x30]
call fcn.1001a370
mov ecx, dword [0x10081e38]
mov eax, dword [0x10081e34]
lea edx, [ecx + 1]
imul ecx, edx
and ecx, 1
test ecx, ecx
je 0x10004030
cmp eax, 9
jg 0x10004054
jmp 0x10004030
cmp edx, 0x10
mov edx, dword [esi + 0x30]
cmovae edx, ecx
add eax, edx
mov ecx, dword [esi + 0x28]
push dword [esi + 0x18]
push eax
push edx
call fcn.10009910
mov eax, dword [0x10081f6c]
mov edx, dword [0x10081f70]
cmp edx, 0xa
jl 0x10004212
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10004212
push eax
sub esp, 8
mov ecx, esp
push eax
mov eax, esp
sub esp, 0xc
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0x18], esp
sub esp, 0x98
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x14
mov edi, esp
sub esp, 0xc
mov dword [esi + 8], esp
push eax
mov dword [esi + 0x14], esp
cmp dword [0x10081dbc], 0xa
jl 0x10003cd3
mov edx, dword [0x10081dc0]
mov dword [esi + 0x28], ecx
mov ecx, eax
lea eax, [edx + 1]
imul eax, edx
and eax, 1
mov eax, ecx
mov ecx, dword [esi + 0x28]
jne 0x10004110
push eax
push 0x20
call fcn.10008da0
cmp dword [0x10081dbc], 0xa
jl 0x10003cf8
mov eax, dword [0x10081dc0]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10004120
mov ecx, dword [esi + 0xc]
push dword [esi + 0x18]
push 0x38
call fcn.10008da0
mov ecx, ebx
push 1
call fcn.10008e50
mov ecx, ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.100091c0
mov ecx, eax
push dword [ebp + 0x10]
call fcn.10009600
mov edx, dword [0x10081e38]
mov eax, dword [0x10081e34]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x10003d5f
test ecx, ecx
je 0x10003d5f
lea ecx, [ebx + 4]
push edi
call fcn.1001a370
mov ecx, dword [0x10081e38]
mov eax, dword [0x10081e34]
lea edx, [ecx + 1]
imul ecx, edx
and ecx, 1
test ecx, ecx
je 0x10003d70
cmp eax, 9
jg 0x10003d92
nop dword [eax + eax]
lea ecx, [ebx + 4]
push edi
call fcn.1001a370
cmp dword [0x10081e34], 0xa
jl 0x10003da0
mov eax, dword [0x10081e38]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10003da0
lea ecx, [ebx + 4]
push edi
call fcn.1001a370
jmp 0x10003d70
cmp dword [0x10081dbc], 0xa
jl 0x10003dbd
mov eax, dword [0x10081dc0]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10004130
cmp dword [0x10081f80], 0xa
jl 0x10003dda
mov eax, dword [0x10081f7c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10004140
cmp dword [0x10081dc4], 0xa
jl 0x10003df7
mov eax, dword [0x10081dc8]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10004150
mov edx, dword [edi + 0x14]
mov ecx, dword [edi]
mov eax, dword [edi + 0x10]
cmp dword [0x10081e3c], 0xa
jl 0x10003e23
mov ebx, dword [0x10081e40]
mov dword [esi + 0xc], ecx
lea ecx, [ebx + 1]
imul ecx, ebx
and ecx, 1
mov ecx, dword [esi + 0xc]
jne 0x10004160
cmp edx, 0x10
cmovae edi, ecx
add eax, edi
mov ecx, dword [esi + 8]
push dword [esi + 0x14]
push eax
push edi
call fcn.10009910
sub esp, 0xc
mov ecx, esp
push eax
mov eax, esp
sub esp, 0xc
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0x18], esp
sub esp, 0x98
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x14
mov edi, esp
sub esp, 0xc
mov dword [esi + 8], esp
push eax
mov dword [esi + 0x14], esp
cmp dword [0x10081dbc], 0xa
jl 0x10003e8f
mov edx, dword [0x10081dc0]
mov dword [esi + 0x28], ecx
mov ecx, eax
lea eax, [edx + 1]
imul eax, edx
and eax, 1
mov eax, ecx
mov ecx, dword [esi + 0x28]
jne 0x10004170
push eax
push 0x20
call fcn.10008da0
cmp dword [0x10081dbc], 0xa
jl 0x10003eb4
mov eax, dword [0x10081dc0]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10004180
mov ecx, dword [esi + 0xc]
push dword [esi + 0x18]
push 0x38
call fcn.10008da0
mov ecx, ebx
push 1
call fcn.10008e50
mov ecx, ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.100091c0
mov ecx, eax
push dword [ebp + 0x10]
call fcn.10009600
mov edx, dword [0x10081e38]
mov eax, dword [0x10081e34]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x10003f1b
test ecx, ecx
je 0x10003f1b
lea ecx, [ebx + 4]
push edi
call fcn.1001a370
mov ecx, dword [0x10081e38]
mov eax, dword [0x10081e34]
lea edx, [ecx + 1]
imul ecx, edx
and ecx, 1
test ecx, ecx
je 0x10003f30
cmp eax, 9
jg 0x10003f52
nop word cs:[eax + eax]
lea ecx, [ebx + 4]
push edi
call fcn.1001a370
cmp dword [0x10081e34], 0xa
jl 0x10003f60
mov eax, dword [0x10081e38]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10003f60
lea ecx, [ebx + 4]
push edi
call fcn.1001a370
jmp 0x10003f30
cmp dword [0x10081dbc], 0xa
jl 0x10003f7d
mov eax, dword [0x10081dc0]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10004190
cmp dword [0x10081f80], 0xa
jl 0x10003f9a
mov eax, dword [0x10081f7c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100041a0
cmp dword [0x10081dc4], 0xa
jl 0x10003fb7
mov eax, dword [0x10081dc8]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100041b0
mov edx, dword [edi + 0x14]
mov ecx, dword [edi]
mov eax, dword [edi + 0x10]
cmp dword [0x10081e3c], 0xa
jl 0x10003fe3
mov ebx, dword [0x10081e40]
mov dword [esi + 0xc], ecx
lea ecx, [ebx + 1]
imul ecx, ebx
and ecx, 1
mov ecx, dword [esi + 0xc]
jne 0x100041c0
cmp edx, 0x10
cmovae edi, ecx
add eax, edi
mov ecx, dword [esi + 8]
push dword [esi + 0x14]
push eax
push edi
call fcn.10009910
mov ecx, dword [0x10081f6c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10081f70], 0xa
jl 0x10003b10
test eax, eax
jne 0x10003c7b
jmp 0x10003b10
lea ecx, [ebx + 4]
push dword [esi + 0x30]
call fcn.1001a370
cmp dword [0x10081e34], 0xa
jl 0x10004070
mov eax, dword [0x10081e38]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10004070
lea ecx, [ebx + 4]
push dword [esi + 0x30]
call fcn.1001a370
jmp 0x10004030
cmp dword [0x10081dbc], 0xa
jl 0x1000408d
mov eax, dword [0x10081dc0]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100041f0
cmp dword [0x10081f80], 0xa
jl 0x100040aa
mov eax, dword [0x10081f7c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10004200
cmp dword [0x10081dc4], 0xa
jl 0x100040c7
mov eax, dword [0x10081dc8]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10004210
mov eax, dword [esi + 0x30]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
cmp dword [0x10081e3c], 0xa
jl 0x10003c40
mov ebx, dword [0x10081e40]
lea edi, [ebx + 1]
imul edi, ebx
and edi, 1
je 0x10003c40
nop word cs:[eax + eax]
jmp 0x10004100
jmp 0x10004110
jmp 0x10004120
jmp 0x10004130
jmp 0x10004140
jmp 0x10004150
jmp 0x10004160
jmp 0x10004170
jmp 0x10004180
jmp 0x10004190
jmp 0x100041a0
jmp 0x100041b0
jmp 0x100041c0
jmp 0x100041d0
jmp 0x100041e0
jmp 0x100041f0
jmp 0x10004200
jmp 0x10004210
mov dword [esi + 0xc], 0
jmp 0x1000423c
mov ecx, dword [esi + 0x28]
mov edi, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x18], edi
sub ecx, edi
lea ebx, [ecx - 3]
mov edi, dword [esi + 0xc]
cmp edi, ebx
lea ebx, [edi + 2]
mov dword [esi + 0xc], ebx
je 0x10004652
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp edx, 0xa
setl al
or al, cl
test al, al
je 0x10004250
mov eax, dword [esi + 0x28]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
sub ecx, edi
mov eax, dword [esi + 0xc]
cmp eax, ecx
mov ebx, dword [esi + 4]
mov dword [esi + 0xc], eax
jae 0x10004655
movzx edx, byte [edi + eax]
mov ecx, eax
or ecx, 1
cmp dl, byte [edi + ecx]
jbe 0x1000440c
mov eax, dword [0x10081f94]
mov dword [esi + 0x18], eax
mov eax, dword [0x10081f98]
mov dword [esi + 8], eax
mov dword [esi + 0x14], ecx
jmp 0x100042a3
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x28]
mov edx, dword [eax]
mov ah, byte [edx + ecx]
mov edi, dword [esi + 0xc]
movzx ebx, byte [edx + edi]
cmp dword [esi + 8], 0xa
jl 0x100042d0
mov al, bl
mov ebx, dword [esi + 0x18]
lea edi, [ebx + 1]
imul edi, ebx
mov ebx, eax
and edi, 1
jne 0x10004300
nop word [eax + eax]
mov edi, dword [esi + 0xc]
mov byte [edx + edi], ah
mov byte [edx + ecx], bl
cmp dword [0x10081f98], 0xa
jl 0x10004330
mov byte [esi + 0x18], bl
mov ebx, dword [0x10081f94]
lea edi, [ebx + 1]
imul edi, ebx
mov al, ah
mov ah, byte [esi + 0x18]
and edi, 1
je 0x10004330
nop dword [eax + eax]
mov edi, dword [esi + 0xc]
mov byte [edx + edi], al
mov byte [edx + ecx], ah
cmp dword [0x10081f98], 0xa
jl 0x10004323
mov edi, dword [0x10081f94]
lea ebx, [edi + 1]
imul ebx, edi
and ebx, 1
jne 0x10004300
mov ebx, eax
jmp 0x100042d0
mov eax, dword [0x10081f6c]
mov edx, dword [0x10081f70]
lea ebx, [eax + 1]
imul ebx, eax
and ebx, 1
cmp edx, 0xa
jl 0x10004494
test ebx, ebx
mov edi, dword [esi + 0x28]
je 0x10004494
mov edx, dword [edi]
movzx eax, byte [edx + ecx]
mov edi, dword [esi + 0xc]
movzx ebx, byte [edx + edi]
mov byte [edx + edi], al
mov byte [edx + ecx], bl
mov edi, dword [0x10081f94]
mov dword [esi + 0x18], edi
mov edi, dword [0x10081f98]
mov dword [esi + 8], edi
cmp edi, 0xa
jl 0x100042a3
mov edi, dword [esi + 0x18]
inc edi
imul edi, dword [esi + 0x18]
and edi, 1
je 0x100042a3
nop word [eax + eax]
mov bh, bl
mov bl, al
nop word cs:[eax + eax]
mov eax, dword [esi + 0xc]
mov byte [edx + eax], bl
mov byte [edx + ecx], bh
cmp dword [0x10081f98], 0xa
jl 0x100043d2
mov eax, dword [0x10081f94]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
jne 0x100043b0
mov eax, dword [esi + 0xc]
mov byte [edx + eax], bh
mov byte [edx + ecx], bl
mov eax, dword [0x10081f94]
mov ecx, dword [0x10081f98]
lea edi, [eax + 1]
mov dword [esi + 0x18], eax
imul edi, eax
and edi, 1
mov dword [esi + 8], ecx
cmp ecx, 0xa
jl 0x100042a0
mov al, bh
test edi, edi
mov ecx, dword [esi + 0x14]
jne 0x100043a0
jmp 0x100042a3
mov eax, dword [esi + 0x10]
test byte [eax], 1
jne 0x100044e0
test byte [ebx], 1
jne 0x100044e0
mov eax, edx
shl al, 3
mov ah, dl
shl ah, 5
or ah, al
mov al, dl
shl al, 2
xor al, ah
mov ah, dl
shr ah, 1
shl dl, 4
and dl, ah
not dl
and dl, al
mov eax, dword [esi + 0xc]
mov byte [edi + eax], dl
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
movzx edx, byte [eax + ecx]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 5
or bl, dh
mov dh, dl
shl dh, 2
xor dh, bl
mov ebx, edx
shr bl, 1
shl dl, 4
and dl, bl
not dl
and dl, dh
mov byte [eax + ecx], dl
mov eax, dword [0x10081f6c]
mov edx, dword [0x10081f70]
lea ebx, [eax + 1]
imul ebx, eax
and ebx, 1
cmp edx, 0xa
jl 0x10004494
test ebx, ebx
jne 0x10004650
cmp edx, 0xa
jl 0x100044a1
test ebx, ebx
jne 0x10004640
mov edi, dword [esi + 0x10]
mov ecx, dword [edi]
inc ecx
mov dword [edi], ecx
mov ebx, dword [esi + 4]
inc byte [ebx]
mov edi, dword [0x100820a4]
sub edi, dword [0x100820a0]
cmp edi, ecx
jne 0x1000421b
mov ecx, dword [esi + 0x10]
mov dword [ecx], 0
mov byte [ebx], 0
jmp 0x1000421b
mov ah, dl
shl ah, 3
mov dh, dl
shl dh, 2
and ah, dh
mov ebx, edx
shr bl, 1
mov al, dl
shr al, 3
and al, bl
mov ebx, edx
shl bl, 4
xor al, bl
or al, ah
not al
add al, al
mov ah, dl
add ah, dl
mov ebx, edx
shl bl, 5
xor bl, ah
shr dl, 2
xor dl, dh
not dl
and dl, bl
or dl, al
mov eax, dword [esi + 0xc]
mov byte [edi + eax], dl
mov eax, dword [esi + 0x28]
mov edi, dword [eax]
movzx ebx, byte [edi + ecx]
mov ah, bl
shl ah, 3
mov bh, bl
shl bh, 2
and ah, bh
mov edx, ebx
shr dl, 1
mov al, bl
shr al, 3
and al, dl
mov edx, ebx
shl dl, 4
xor al, dl
or al, ah
mov edx, ebx
add dl, bl
mov ah, bl
shl ah, 5
xor ah, dl
not al
add al, al
shr bl, 2
xor bl, bh
not bl
and bl, ah
or bl, al
mov byte [edi + ecx], bl
mov eax, dword [0x10081f6c]
mov edx, dword [0x10081f70]
lea ebx, [eax + 1]
imul ebx, eax
and ebx, 1
cmp edx, 0xa
jl 0x10004487
test ebx, ebx
mov edi, dword [esi + 0x28]
je 0x10004487
mov eax, dword [edi]
mov dword [esi + 0x18], eax
mov edi, dword [esi + 0xc]
movzx ebx, byte [eax + edi]
mov ah, bl
shl ah, 3
mov bh, bl
shl bh, 2
and ah, bh
mov edx, ebx
shr dl, 1
mov al, bl
shr al, 3
and al, dl
mov edx, ebx
shl dl, 4
xor al, dl
or al, ah
not al
add al, al
mov edx, ebx
add dl, bl
mov ah, bl
shl ah, 5
xor ah, dl
shr bl, 2
xor bl, bh
not bl
and bl, ah
or bl, al
mov eax, dword [esi + 0x18]
mov byte [eax + edi], bl
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
movzx ebx, byte [eax + ecx]
mov ah, bl
shl ah, 3
mov bh, bl
shl bh, 2
and ah, bh
mov edx, ebx
shr dl, 1
mov al, bl
shr al, 3
and al, dl
mov edx, ebx
shl dl, 4
xor al, dl
or al, ah
mov edx, ebx
add dl, bl
mov ah, bl
shl ah, 5
xor ah, dl
shr bl, 2
xor bl, bh
not bl
and bl, ah
not al
add al, al
or bl, al
mov eax, dword [esi + 0x18]
mov byte [eax + ecx], bl
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
movzx edx, byte [eax + edi]
mov edi, eax
jmp 0x100044e0
jmp 0x10004640
jmp 0x10004650
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x2c]
push dword [eax]
push ecx
push edi
call fcn.10009a30
add esp, 0xc
cmp dword [0x10081f70], 0xa
jl 0x10004682
mov eax, dword [0x10081f6c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10004682
nop dword [eax]
jmp 0x10004680
xor edx, edx
jmp 0x1000468e
lea edx, [edi + 1]
cmp edi, 0x1e
ja 0x100046d2
mov edi, edx
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
movzx eax, byte [eax + edx]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
mov byte [ecx + edx], al
mov ecx, dword [0x10081f6c]
mov edx, dword [0x10081f70]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
mov ebx, edx
cmp edx, 0xa
jl 0x10004686
test eax, eax
je 0x10004686
nop word cs:[eax + eax]
jmp 0x100046d0
cmp ebx, 0xa
jl 0x100046e2
test eax, eax
je 0x100046e2
nop dword [eax + eax]
jmp 0x100046e0
mov eax, dword [esi + 0x28]
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, edi
cmp eax, 6
jb 0x100048c2
mov ebx, edi
mov edi, 5
jmp 0x1000471e
mov edi, dword [esi + 0x18]
inc edi
mov ebx, dword [esi + 0x28]
mov ebx, dword [ebx]
mov dword [esi + 0xc], ebx
mov ebx, dword [esi + 0x28]
mov ebx, dword [ebx + 4]
sub ebx, dword [esi + 0xc]
cmp edi, ebx
mov ebx, dword [esi + 0xc]
jae 0x100048c4
mov dword [esi + 0x18], edi
movzx ecx, byte [ebx + edi]
test cl, 1
jne 0x100047cd
mov edi, dword [esi + 0x1c]
mov edi, dword [edi]
mov byte [edi + edx], cl
inc edx
jmp 0x10004751
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx]
mov eax, dword [esi + 0x18]
movzx ecx, byte [ecx + eax]
mov edi, dword [esi + 0x1c]
mov edi, dword [edi]
mov byte [edi + edx + 2], cl
add edx, 3
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x100048a7
mov ebx, edx
test edi, edi
je 0x100048a7
mov dword [esi + 0xc], ebx
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov edx, dword [esi + 0x18]
movzx ecx, byte [ecx + edx]
mov byte [esi + 8], cl
mov ebx, dword [esi + 0x1c]
mov edi, dword [ebx]
mov ecx, dword [esi + 0xc]
movzx eax, byte [esi + 8]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
movzx ecx, byte [ecx + edx]
mov edx, dword [esi + 0xc]
mov edi, dword [ebx]
mov byte [edx + edi + 1], cl
cmp dword [0x10081f70], 0xa
jl 0x10004739
lea ebx, [edx + 2]
mov ecx, dword [0x10081f6c]
lea edi, [ecx + 1]
imul ecx, edi
and ecx, 1
jne 0x10004778
jmp 0x10004739
mov eax, ebx
mov dword [esi + 0xc], ebx
mov edi, dword [esi + 0x10]
mov ebx, dword [edi]
mov eax, dword [0x100820a0]
mov dword [esi + 0x14], eax
movzx ecx, byte [eax + ebx]
mov eax, dword [esi + 0x24]
mov byte [esi + 8], cl
mov byte [eax], cl
inc ebx
mov dword [edi], ebx
mov edi, dword [0x100820a4]
sub edi, dword [esi + 0x14]
mov eax, dword [esi + 4]
movzx ecx, byte [eax]
inc cl
mov byte [eax], cl
cmp edi, ebx
jne 0x10004816
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
xor ecx, ecx
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0xc]
movzx ebx, byte [esi + 8]
add bl, byte [edi + eax]
add bl, cl
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
mov byte [ecx + edx], bl
inc edx
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x100048a7
test edi, edi
je 0x100048a7
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov eax, dword [esi + 0x24]
movzx ebx, byte [eax]
mov edx, dword [esi + 0x18]
add bl, byte [ecx + edx]
mov eax, dword [esi + 4]
add bl, byte [eax]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi]
mov eax, dword [esi + 0xc]
mov byte [ecx + eax], bl
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov eax, dword [esi + 0x24]
movzx ebx, byte [eax]
add bl, byte [ecx + edx]
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 4]
add bl, byte [eax]
mov ecx, dword [edi]
mov byte [edx + ecx + 1], bl
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
add edx, 2
cmp eax, 0xa
jge 0x10004847
cmp eax, 0xa
jl 0x100046fe
test edi, edi
je 0x100046fe
nop dword [eax + eax]
jmp 0x100048c0
mov eax, ebx
mov ebx, eax
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov edi, dword [esi + 0x10]
mov dword [edi], eax
dec al
mov edi, dword [esi + 4]
mov byte [edi], al
mov eax, ebx
lea ebx, [ecx + 1]
imul ebx, ecx
and ebx, 1
cmp eax, 0xa
jl 0x10004902
test ebx, ebx
je 0x10004902
nop word cs:[eax + eax]
jmp 0x10004900
xor edi, edi
mov dword [esi + 0xc], ebx
mov ebx, 0x38
sub ebx, edx
mov dword [esi + 8], edi
cmp edi, ebx
jge 0x10004a04
xor ebx, ebx
mov edi, dword [esi + 0x2c]
jmp 0x1000492f
mov ecx, dword [esi + 0xc]
lea ebx, [ecx + 4]
cmp ecx, 0x1b
ja 0x100049c7
mov ecx, dword [edi]
mov eax, ebx
or ebx, 1
movzx ebx, byte [ecx + ebx]
add bl, byte [ecx + eax]
mov edi, eax
or edi, 2
add bl, byte [ecx + edi]
mov dword [esi + 0xc], eax
mov edi, eax
or edi, 3
add bl, byte [ecx + edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
mov byte [ecx + edx], bl
inc edx
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
cmp eax, 0xa
jl 0x1000499a
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
mov edi, dword [esi + 0x2c]
je 0x1000499d
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov byte [ecx + edx], bl
mov ecx, dword [eax]
mov byte [edx + ecx + 1], bl
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
add edx, 2
cmp eax, 0xa
jge 0x10004969
jmp 0x1000499d
mov edi, dword [esi + 0x2c]
cmp edx, 0x38
mov dword [esi + 0x18], ecx
je 0x100049c2
cmp eax, 0xa
jl 0x10004920
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
mov edi, dword [esi + 0x2c]
je 0x10004920
jmp 0x10004a00
mov edx, 0x38
mov ecx, dword [esi + 0x18]
lea ebx, [ecx + 1]
imul ebx, ecx
and ebx, 1
cmp eax, 0xa
jl 0x100049dc
test ebx, ebx
jne 0x10004a02
mov edi, dword [esi + 8]
inc edi
cmp eax, 0xa
jl 0x10004904
test ebx, ebx
je 0x10004904
jmp 0x10004900
jmp 0x10004a00
jmp 0x10004a02
mov ebx, eax
mov eax, dword [esi]
mov dword [eax], 0
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov edx, dword [0x100820a4]
sub edx, dword [0x100820a0]
cmp eax, edx
jne 0x10004a34
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10004a3c
test al, 1
jne 0x10004ae9
mov eax, dword [esi + 4]
test byte [eax], 1
mov eax, ebx
mov edx, dword [esi + 0xc]
jne 0x10004aee
xor eax, eax
mov edi, dword [esi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x10004aee
test edx, edx
je 0x10004aee
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
jmp 0x10004a51
mov eax, ebx
mov edx, dword [esi + 0xc]
mov dword [esi + 0xc], edx
mov dword [esi + 0x18], ecx
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x10004b04
cmp dword [esi + 0xc], 0
je 0x10004b04
jmp 0x10004b02
mov edi, dword [esi + 0x10]
mov edx, dword [edi]
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov ecx, dword [esi]
mov ebx, dword [ecx]
inc edx
inc al
inc ebx
mov dword [edi], edx
mov dword [esi + 8], eax
mov edi, dword [esi + 4]
mov byte [edi], al
mov dword [esi + 0x14], ebx
mov dword [ecx], ebx
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
cmp edx, eax
jne 0x10004b46
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10004b5d
mov ebx, edx
mov eax, edx
test al, 1
jne 0x10004c18
mov eax, dword [esi + 8]
and al, 1
jne 0x10004c18
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx ecx, byte [eax + edx]
mov ch, cl
shl ch, 3
mov ebx, ecx
shl bl, 2
mov bh, cl
shl bh, 4
or bh, bl
xor bh, ch
mov ch, cl
shr ch, 1
mov bl, cl
shr bl, 3
and bl, ch
or bl, bh
mov ch, cl
add ch, cl
shl cl, 5
and cl, ch
not cl
and cl, bl
mov byte [eax + edx], cl
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x10004bfa
test edi, edi
je 0x10004bfa
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edx, dword [edi]
jmp 0x10004b60
mov dword [esi + 0x18], ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x10]
mov ebx, dword [eax]
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 8], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x20], 0xa
jl 0x10004c26
cmp dword [esi + 0xc], 0
je 0x10004c26
jmp 0x10004c24
mov ecx, ebx
inc ecx
mov edx, dword [esi + 8]
inc dl
mov ebx, dword [esi + 0x14]
inc ebx
mov eax, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov dword [esi + 8], edx
mov byte [eax], dl
mov eax, dword [esi]
mov edx, ebx
mov dword [eax], ebx
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 0x24], ecx
cmp ecx, eax
jne 0x10004c68
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10004c82
test byte [esi + 0x24], 1
jne 0x10004d9b
mov eax, dword [esi + 8]
and al, 1
je 0x10004c82
jmp 0x10004d9b
mov eax, dword [esi]
mov edx, dword [eax]
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx ecx, byte [eax + edx]
mov ch, cl
shl ch, 3
mov ebx, ecx
shl bl, 2
mov bh, cl
shl bh, 4
or bh, bl
xor bh, ch
mov ch, cl
shr ch, 1
mov bl, cl
shr bl, 3
and bl, ch
or bl, bh
mov ch, cl
add ch, cl
shl cl, 5
and cl, ch
not cl
and cl, bl
mov byte [eax + edx], cl
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x10004d7d
test edi, edi
je 0x10004d7d
mov eax, dword [esi]
mov eax, dword [eax]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
cmp dword [0x10081f70], 0xa
jl 0x10004c7e
mov eax, dword [0x10081f6c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10004ce0
jmp 0x10004c7e
mov dword [esi + 0x18], ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 8], eax
mov eax, dword [esi]
mov edx, dword [eax]
cmp dword [esi + 0xc], 0
sete ah
cmp dword [esi + 0x20], 0xa
setl al
or al, ah
mov byte [esi + 0x37], al
cmp al, 1
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0x24]
jne 0x10004de8
inc eax
mov dword [esi + 0x24], eax
mov dword [edi], eax
inc bl
mov dword [esi + 8], ebx
mov byte [ecx], bl
inc edx
mov dword [esi + 0x14], edx
mov eax, dword [esi]
mov dword [eax], edx
cmp byte [esi + 0x37], 0
jne 0x10004dfd
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0x24]
inc eax
mov dword [edi], eax
inc bl
mov byte [ecx], bl
inc edx
mov edi, ecx
mov ecx, dword [esi]
mov dword [ecx], edx
mov ecx, edi
mov edi, dword [esi + 0x10]
jmp 0x10004dbe
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
cmp dword [esi + 0x24], eax
jne 0x10004e1e
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10004e33
test byte [esi + 0x24], 1
jne 0x10004ef1
mov eax, dword [esi + 8]
and al, 1
jne 0x10004ef1
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx ecx, byte [eax + edx]
mov ch, cl
shl ch, 3
mov ebx, ecx
shl bl, 2
mov bh, cl
shl bh, 4
or bh, bl
xor bh, ch
mov ch, cl
shr ch, 1
mov bl, cl
shr bl, 3
and bl, ch
or bl, bh
mov ch, cl
add ch, cl
shl cl, 5
and cl, ch
not cl
and cl, bl
mov byte [eax + edx], cl
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x10004ed0
test edi, edi
je 0x10004ed0
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edx, dword [edi]
jmp 0x10004e36
mov dword [esi + 0x18], ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 8], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x20], 0xa
jl 0x10004eff
cmp dword [esi + 0xc], 0
je 0x10004eff
jmp 0x10004efd
mov ecx, dword [esi + 0x24]
inc ecx
mov ebx, dword [esi + 8]
inc bl
mov edx, dword [esi + 0x14]
inc edx
mov eax, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov dword [esi + 8], ebx
mov byte [eax], bl
mov eax, dword [esi]
mov dword [esi + 0x14], edx
mov dword [eax], edx
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 0x24], ecx
cmp ecx, eax
jne 0x10004f43
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10004f58
test byte [esi + 0x24], 1
jne 0x10005016
mov eax, dword [esi + 8]
and al, 1
jne 0x10005016
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx ecx, byte [eax + edx]
mov ch, cl
shl ch, 3
mov ebx, ecx
shl bl, 2
mov bh, cl
shl bh, 4
or bh, bl
xor bh, ch
mov ch, cl
shr ch, 1
mov bl, cl
shr bl, 3
and bl, ch
or bl, bh
mov ch, cl
add ch, cl
shl cl, 5
and cl, ch
not cl
and cl, bl
mov byte [eax + edx], cl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x10004ffb
test edi, edi
je 0x10004ffb
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edx, dword [edi]
jmp 0x10004f5b
mov dword [esi + 0xc], edi
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 8], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
sete ah
cmp dword [esi + 0x20], 0xa
setl al
or al, ah
cmp al, 1
mov edi, dword [esi]
jne 0x10005052
mov edx, dword [esi + 0x24]
inc edx
mov ebx, dword [esi + 0x10]
mov dword [esi + 0x24], edx
mov dword [ebx], edx
mov ebx, dword [esi + 8]
inc bl
mov edx, dword [esi + 4]
mov dword [esi + 8], ebx
mov byte [edx], bl
mov edx, dword [esi + 0x14]
inc edx
mov dword [esi + 0x14], edx
mov dword [edi], edx
test al, al
jne 0x10005076
mov edx, dword [esi + 0x24]
inc edx
mov ebx, dword [esi + 0x10]
mov dword [esi + 0x24], edx
mov dword [ebx], edx
mov ebx, dword [esi + 8]
inc bl
mov edx, dword [esi + 4]
mov dword [esi + 8], ebx
mov byte [edx], bl
mov edx, dword [esi + 0x14]
inc edx
mov dword [esi + 0x14], edx
mov dword [edi], edx
jmp 0x1000502c
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x24], eax
jne 0x1000509d
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
mov edx, dword [esi + 0x14]
jmp 0x100050bd
test byte [esi + 0x24], 1
jne 0x10005464
mov edx, dword [esi + 8]
mov ebx, edx
and bl, 1
mov edx, dword [esi + 0x14]
je 0x100050bd
jmp 0x100051df
mov eax, dword [esi]
mov edx, dword [eax]
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx ecx, byte [eax + edx]
mov ch, cl
shl ch, 3
mov ebx, ecx
shl bl, 2
mov bh, cl
shl bh, 4
or bh, bl
xor bh, ch
mov ch, cl
shr ch, 1
mov bl, cl
shr bl, 3
and bl, ch
or bl, bh
mov ch, cl
add ch, cl
shl cl, 5
and cl, ch
not cl
and cl, bl
mov byte [eax + edx], cl
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x100051b9
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
je 0x100051b9
mov eax, dword [esi]
mov eax, dword [eax]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
cmp dword [0x10081f70], 0xa
jl 0x100050b9
mov eax, dword [0x10081f6c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x1000511c
jmp 0x100050b9
mov dword [esi + 0x18], ecx
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 8], eax
mov eax, dword [esi]
mov edx, dword [eax]
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x24]
inc ebx
mov edi, dword [esi + 0x10]
mov dword [edi], ebx
mov eax, dword [esi + 8]
inc al
mov ecx, edx
mov edx, dword [esi + 4]
mov dword [esi + 8], eax
mov byte [edx], al
inc ecx
mov edi, dword [esi]
mov dword [esi + 0x14], ecx
mov dword [edi], ecx
mov dword [esi + 0x24], ebx
cmp ebx, dword [esi + 0xc]
jne 0x10005244
mov eax, dword [esi + 0x18]
lea ebx, [eax + 1]
imul ebx, eax
test bl, 1
sete bh
cmp dword [esi + 0x20], 0xa
setl bl
or bl, bh
jne 0x10005225
test bl, bl
je 0x10005221
mov edi, dword [esi + 0x10]
mov dword [edi], 0
mov edx, dword [esi + 4]
mov byte [edx], 0
mov dword [esi + 0x24], 0
mov dword [esi + 8], 0
jmp 0x1000524e
test byte [esi + 0x24], 1
jne 0x100052dd
cmp dword [esi + 0x20], 0xa
jl 0x10005264
mov eax, dword [esi + 0x18]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
je 0x10005264
jmp 0x10005262
test byte [esi + 8], 1
jne 0x100052dd
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov edx, dword [esi + 0x14]
movzx ecx, byte [eax + edx]
mov ch, cl
shl ch, 3
mov ebx, ecx
shl bl, 2
mov bh, cl
shl bh, 4
or bh, bl
xor bh, ch
mov ch, cl
shr ch, 1
mov bl, cl
shr bl, 3
and bl, ch
or bl, bh
mov ch, cl
add ch, cl
shl cl, 5
and cl, ch
not cl
and cl, bl
mov byte [eax + edx], cl
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 8], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 0xc], eax
mov eax, dword [0x10081f6c]
mov dword [esi + 0x18], eax
mov edx, dword [0x10081f70]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x24]
inc ecx
mov edi, dword [esi + 0x10]
mov dword [edi], ecx
mov eax, dword [esi + 8]
inc al
mov edx, dword [esi + 4]
mov dword [esi + 8], eax
mov byte [edx], al
mov ebx, dword [esi + 0x14]
inc ebx
mov edi, dword [esi]
mov edx, ebx
mov dword [edi], ebx
cmp ecx, dword [esi + 0xc]
jne 0x10005337
mov edi, dword [esi + 0x18]
lea eax, [edi + 1]
imul eax, edi
test al, 1
sete ah
cmp dword [esi + 0x20], 0xa
setl al
or al, ah
jne 0x1000531f
test al, al
je 0x1000531b
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
mov dword [esi + 8], 0
jmp 0x10005341
mov eax, ecx
test al, 1
jne 0x10005404
mov edi, dword [esi + 0x18]
lea eax, [edi + 1]
imul eax, edi
and eax, 1
cmp dword [esi + 0x20], 0xa
jl 0x10005359
test eax, eax
je 0x10005359
jmp 0x10005357
test byte [esi + 8], 1
jne 0x10005410
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx ecx, byte [eax + edx]
mov ch, cl
shl ch, 3
mov ebx, ecx
shl bl, 2
mov bh, cl
shl bh, 4
or bh, bl
xor bh, ch
mov ch, cl
shr ch, 1
mov bl, cl
shr bl, 3
and bl, ch
or bl, bh
mov ch, cl
add ch, cl
shl cl, 5
and cl, ch
not cl
and cl, bl
mov byte [eax + edx], cl
mov edi, dword [0x10081f6c]
mov edx, dword [0x10081f70]
lea eax, [edi + 1]
mov dword [esi + 0x18], edi
imul eax, edi
and eax, 1
mov dword [esi + 0x20], edx
cmp edx, 0xa
jl 0x10005410
test eax, eax
je 0x10005410
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edx, dword [edi]
jmp 0x10005363
mov edx, dword [esi + 0x18]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
cmp dword [esi + 0x20], 0xa
jl 0x1000541c
test eax, eax
je 0x1000541c
jmp 0x1000541a
mov ecx, dword [esi]
mov edx, dword [ecx]
inc edx
mov eax, dword [esi + 4]
movzx eax, byte [eax]
inc al
mov edi, dword [esi + 0x10]
mov ebx, dword [edi]
inc ebx
mov dword [edi], ebx
mov dword [esi + 0xc], eax
mov edi, dword [esi + 4]
mov byte [edi], al
mov dword [esi + 8], edx
mov dword [ecx], edx
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x24], eax
cmp ebx, eax
jne 0x1000546c
mov ecx, dword [esi + 0x10]
mov dword [ecx], 0
mov ecx, dword [esi + 4]
mov byte [ecx], 0
jmp 0x1000547a
mov edx, dword [esi + 0x14]
jmp 0x100051df
test byte [esi + 0x14], 1
jne 0x100054ed
mov edx, dword [esi + 0xc]
and dl, 1
jne 0x100054ed
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
mov eax, dword [esi + 8]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 0xc], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 0x24], eax
mov eax, dword [0x10081f6c]
mov dword [esi + 0x18], eax
mov edx, dword [0x10081f70]
mov dword [esi + 0x20], edx
mov edi, dword [esi + 0x14]
inc edi
mov edx, dword [esi + 0x10]
mov dword [edx], edi
mov eax, dword [esi + 0xc]
inc al
mov edx, dword [esi + 4]
mov dword [esi + 0xc], eax
mov byte [edx], al
mov eax, dword [esi + 8]
inc eax
mov edx, dword [esi]
mov ebx, eax
mov dword [edx], eax
cmp edi, dword [esi + 0x24]
jne 0x10005528
cmp dword [esi + 0x20], 0xa
jl 0x1000553c
mov edi, dword [esi + 0x18]
lea edx, [edi + 1]
imul edx, edi
and edx, 1
je 0x1000553c
jmp 0x10005526
mov eax, edi
test al, 1
je 0x10005552
mov eax, dword [esi + 0x18]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
jmp 0x10005570
mov edx, dword [esi + 0x10]
mov dword [edx], 0
mov edx, dword [esi + 4]
mov byte [edx], 0
mov dword [esi + 0xc], 0
mov edx, dword [esi + 0x18]
lea edi, [edx + 1]
imul edi, edx
and edi, 1
cmp dword [esi + 0x20], 0xa
jl 0x1000556a
test edi, edi
je 0x1000556a
jmp 0x10005568
test byte [esi + 0xc], 1
je 0x10005588
cmp dword [esi + 0x20], 0xa
jl 0x10005683
test edi, edi
je 0x10005683
jmp 0x10005582
mov eax, dword [esi]
mov ebx, dword [eax]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
mov eax, ebx
movzx edx, byte [ecx + ebx]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x10005570
test edi, edi
je 0x10005570
mov eax, dword [esi]
mov eax, dword [eax]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
cmp dword [0x10081f70], 0xa
jl 0x10005584
mov eax, dword [0x10081f6c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100055e6
jmp 0x10005584
mov eax, dword [esi]
mov edx, dword [eax]
inc edx
mov eax, dword [esi + 4]
movzx ecx, byte [eax]
inc cl
mov eax, dword [esi + 0x10]
mov ebx, dword [eax]
inc ebx
mov dword [eax], ebx
mov eax, dword [esi + 4]
mov byte [eax], cl
mov dword [esi + 0xc], edx
mov eax, dword [esi]
mov dword [eax], edx
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
cmp ebx, eax
jne 0x100056c4
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x100056ce
test bl, 1
jne 0x10005724
and cl, 1
jne 0x10005724
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov edi, dword [esi + 0xc]
movzx edx, byte [ecx + edi]
mov eax, edx
shl al, 3
mov ah, dl
shl ah, 2
mov dh, dl
shl dh, 4
or dh, ah
xor dh, al
mov eax, edx
shr al, 1
mov ah, dl
shr ah, 3
and ah, al
or ah, dh
mov al, dl
add al, dl
shl dl, 5
and dl, al
not dl
and dl, ah
mov byte [ecx + edi], dl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
mov dword [esi + 0x20], eax
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
cmp dword [esi + 0x20], 0xa
jl 0x10005730
test edi, edi
je 0x10005730
jmp 0x1000572e
mov eax, dword [esi]
mov eax, dword [eax]
inc eax
mov ecx, dword [esi + 4]
movzx ecx, byte [ecx]
inc cl
mov edx, dword [esi + 0x10]
mov ebx, dword [edx]
inc ebx
mov dword [edx], ebx
mov edx, dword [esi + 4]
mov byte [edx], cl
mov edx, dword [esi]
mov dword [edx], eax
mov edx, dword [0x100820a4]
sub edx, dword [0x100820a0]
cmp ebx, edx
jne 0x1000576f
mov ecx, dword [esi + 0x10]
mov dword [ecx], 0
mov ecx, dword [esi + 4]
mov byte [ecx], 0
jmp 0x10005781
test bl, 1
jne 0x10005821
and cl, 1
jne 0x10005821
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x10005821
test edi, edi
je 0x10005821
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
jmp 0x10005781
cmp dword [esi + 0x20], 0xa
jl 0x1000582d
test edi, edi
je 0x1000582d
jmp 0x1000582b
mov eax, dword [esi]
mov eax, dword [eax]
inc eax
mov ecx, dword [esi + 4]
movzx ecx, byte [ecx]
inc cl
mov edx, dword [esi + 0x10]
mov ebx, dword [edx]
inc ebx
mov dword [edx], ebx
mov edx, dword [esi + 4]
mov byte [edx], cl
mov edx, dword [esi]
mov dword [edx], eax
mov edx, dword [0x100820a4]
sub edx, dword [0x100820a0]
cmp ebx, edx
jne 0x1000586c
mov ecx, dword [esi + 0x10]
mov dword [ecx], 0
mov ecx, dword [esi + 4]
mov byte [ecx], 0
jmp 0x1000587e
test bl, 1
jne 0x1000591e
and cl, 1
jne 0x1000591e
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x1000591e
test edi, edi
je 0x1000591e
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
jmp 0x1000587e
cmp dword [esi + 0x20], 0xa
jl 0x1000592a
test edi, edi
je 0x1000592a
jmp 0x10005928
mov eax, dword [esi]
mov eax, dword [eax]
inc eax
mov ecx, dword [esi + 4]
movzx edx, byte [ecx]
inc dl
mov ecx, dword [esi + 0x10]
mov ebx, dword [ecx]
inc ebx
mov dword [ecx], ebx
mov byte [esi + 8], dl
mov ecx, dword [esi + 4]
mov byte [ecx], dl
mov ecx, dword [esi]
mov dword [ecx], eax
mov edx, dword [0x100820a4]
sub edx, dword [0x100820a0]
mov dword [esi + 0xc], ebx
cmp ebx, edx
jne 0x1000596f
mov ecx, dword [esi + 0x10]
mov dword [ecx], 0
mov ecx, dword [esi + 4]
mov byte [ecx], 0
jmp 0x10005986
test byte [esi + 0xc], 1
jne 0x10005a3b
movzx edx, byte [esi + 8]
and dl, 1
jne 0x10005a3b
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x10005a26
test edi, edi
je 0x10005a26
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
jmp 0x10005986
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov byte [esi + 8], al
mov eax, dword [esi]
mov eax, dword [eax]
test edi, edi
sete dl
cmp dword [esi + 0x20], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x10005a71
mov ebx, dword [esi + 0xc]
inc ebx
mov edx, dword [esi + 0x10]
mov dword [esi + 0xc], ebx
mov dword [edx], ebx
movzx ebx, byte [esi + 8]
inc bl
mov edx, dword [esi + 4]
mov byte [esi + 8], bl
mov byte [edx], bl
inc eax
mov edx, dword [esi]
mov dword [edx], eax
test cl, cl
jne 0x10005a92
mov ebx, dword [esi + 0xc]
inc ebx
mov edx, dword [esi + 0x10]
mov dword [esi + 0xc], ebx
mov dword [edx], ebx
movzx ebx, byte [esi + 8]
inc bl
mov edx, dword [esi + 4]
mov byte [esi + 8], bl
mov byte [edx], bl
inc eax
mov edx, dword [esi]
mov dword [edx], eax
jmp 0x10005a4e
mov edx, dword [0x100820a4]
sub edx, dword [0x100820a0]
cmp dword [esi + 0xc], edx
jne 0x10005ab4
mov ecx, dword [esi + 0x10]
mov dword [ecx], 0
mov ecx, dword [esi + 4]
mov byte [ecx], 0
jmp 0x10005ac8
test byte [esi + 0xc], 1
jne 0x10005b68
and byte [esi + 8], 1
jne 0x10005b68
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x10005b68
test edi, edi
je 0x10005b68
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
jmp 0x10005ac8
cmp dword [esi + 0x20], 0xa
jl 0x10005b74
test edi, edi
je 0x10005b74
jmp 0x10005b72
mov eax, dword [esi]
mov ebx, dword [eax]
inc ebx
mov eax, dword [esi + 4]
movzx eax, byte [eax]
inc al
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
inc edx
mov dword [ecx], edx
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 4]
mov byte [ecx], al
mov dword [esi + 0xc], ebx
mov eax, dword [esi]
mov dword [eax], ebx
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 8], edx
cmp edx, eax
jne 0x10005bbb
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10005bd0
test byte [esi + 8], 1
jne 0x10005c8e
mov eax, dword [esi + 0x14]
and al, 1
jne 0x10005c8e
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov edi, dword [esi + 0xc]
movzx ecx, byte [eax + edi]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + edi], cl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x10005c76
test edi, edi
je 0x10005c76
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
mov dword [esi + 0xc], eax
jmp 0x10005bd0
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
test edi, edi
sete ah
cmp dword [esi + 0x20], 0xa
setl al
or al, ah
cmp al, 1
jne 0x10005cc8
mov edx, dword [esi + 8]
inc edx
mov ebx, dword [esi + 0x10]
mov dword [esi + 8], edx
mov dword [ebx], edx
mov edx, dword [esi + 0x14]
inc dl
mov ebx, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [ebx], dl
mov edx, dword [esi + 0xc]
inc edx
mov ebx, dword [esi]
mov dword [esi + 0xc], edx
mov dword [ebx], edx
test al, al
jne 0x10005cee
mov edx, dword [esi + 8]
inc edx
mov ebx, dword [esi + 0x10]
mov dword [esi + 8], edx
mov dword [ebx], edx
mov edx, dword [esi + 0x14]
inc dl
mov ebx, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [ebx], dl
mov edx, dword [esi + 0xc]
inc edx
mov ebx, dword [esi]
mov dword [esi + 0xc], edx
mov dword [ebx], edx
jmp 0x10005ca0
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
cmp dword [esi + 8], eax
jne 0x10005d0f
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10005d2c
test byte [esi + 8], 1
jne 0x10005e48
mov eax, dword [esi + 0x14]
and al, 1
je 0x10005d2c
jmp 0x10005e48
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov edi, dword [esi + 0xc]
movzx ecx, byte [eax + edi]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + edi], cl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x10005e30
test edi, edi
je 0x10005e30
mov eax, dword [esi]
mov eax, dword [eax]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
cmp dword [0x10081f70], 0xa
jl 0x10005d25
mov eax, dword [0x10081f6c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10005d93
jmp 0x10005d25
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x20], 0xa
jl 0x10005e54
test edi, edi
je 0x10005e54
jmp 0x10005e52
mov ecx, dword [esi + 8]
inc ecx
mov ebx, dword [esi + 0x14]
inc bl
mov edx, dword [esi + 0xc]
inc edx
mov eax, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [eax], bl
mov eax, dword [esi]
mov dword [esi + 0xc], edx
mov dword [eax], edx
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 8], ecx
cmp ecx, eax
jne 0x10005e98
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10005ead
test byte [esi + 8], 1
jne 0x10005f6b
mov eax, dword [esi + 0x14]
and al, 1
jne 0x10005f6b
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov edi, dword [esi + 0xc]
movzx ecx, byte [eax + edi]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + edi], cl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x10005f53
test edi, edi
je 0x10005f53
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
mov dword [esi + 0xc], eax
jmp 0x10005ead
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
test edi, edi
sete ah
cmp dword [esi + 0x20], 0xa
setl al
or al, ah
cmp al, 1
jne 0x10005fa5
mov edx, dword [esi + 8]
inc edx
mov ebx, dword [esi + 0x10]
mov dword [esi + 8], edx
mov dword [ebx], edx
mov edx, dword [esi + 0x14]
inc dl
mov ebx, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [ebx], dl
mov edx, dword [esi + 0xc]
inc edx
mov ebx, dword [esi]
mov dword [esi + 0xc], edx
mov dword [ebx], edx
test al, al
jne 0x10005fcb
mov edx, dword [esi + 8]
inc edx
mov ebx, dword [esi + 0x10]
mov dword [esi + 8], edx
mov dword [ebx], edx
mov edx, dword [esi + 0x14]
inc dl
mov ebx, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [ebx], dl
mov edx, dword [esi + 0xc]
inc edx
mov ebx, dword [esi]
mov dword [esi + 0xc], edx
mov dword [ebx], edx
jmp 0x10005f7d
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
cmp dword [esi + 8], eax
jne 0x10005fec
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10006009
test byte [esi + 8], 1
jne 0x10006125
mov eax, dword [esi + 0x14]
and al, 1
je 0x10006009
jmp 0x10006125
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov edi, dword [esi + 0xc]
movzx ecx, byte [eax + edi]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + edi], cl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x1000610d
test edi, edi
je 0x1000610d
mov eax, dword [esi]
mov eax, dword [eax]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
cmp dword [0x10081f70], 0xa
jl 0x10006002
mov eax, dword [0x10081f6c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10006070
jmp 0x10006002
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
test edi, edi
sete ah
cmp dword [esi + 0x20], 0xa
setl al
or al, ah
cmp al, 1
jne 0x1000615f
mov edx, dword [esi + 8]
inc edx
mov ebx, dword [esi + 0x10]
mov dword [esi + 8], edx
mov dword [ebx], edx
mov edx, dword [esi + 0x14]
inc dl
mov ebx, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [ebx], dl
mov edx, dword [esi + 0xc]
inc edx
mov ebx, dword [esi]
mov dword [esi + 0xc], edx
mov dword [ebx], edx
test al, al
jne 0x10006185
mov edx, dword [esi + 8]
inc edx
mov ebx, dword [esi + 0x10]
mov dword [esi + 8], edx
mov dword [ebx], edx
mov edx, dword [esi + 0x14]
inc dl
mov ebx, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [ebx], dl
mov edx, dword [esi + 0xc]
inc edx
mov ebx, dword [esi]
mov dword [esi + 0xc], edx
mov dword [ebx], edx
jmp 0x10006137
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
cmp dword [esi + 8], eax
jne 0x100061a6
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x100061bb
test byte [esi + 8], 1
jne 0x10006279
mov eax, dword [esi + 0x14]
and al, 1
jne 0x10006279
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov edi, dword [esi + 0xc]
movzx ecx, byte [eax + edi]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + edi], cl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x10006261
test edi, edi
je 0x10006261
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
mov dword [esi + 0xc], eax
jmp 0x100061bb
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
test edi, edi
sete ah
cmp dword [esi + 0x20], 0xa
setl al
or al, ah
cmp al, 1
jne 0x100062b3
mov edx, dword [esi + 8]
inc edx
mov ebx, dword [esi + 0x10]
mov dword [esi + 8], edx
mov dword [ebx], edx
mov edx, dword [esi + 0x14]
inc dl
mov ebx, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [ebx], dl
mov edx, dword [esi + 0xc]
inc edx
mov ebx, dword [esi]
mov dword [esi + 0xc], edx
mov dword [ebx], edx
test al, al
jne 0x100062d9
mov edx, dword [esi + 8]
inc edx
mov ebx, dword [esi + 0x10]
mov dword [esi + 8], edx
mov dword [ebx], edx
mov edx, dword [esi + 0x14]
inc dl
mov ebx, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [ebx], dl
mov edx, dword [esi + 0xc]
inc edx
mov ebx, dword [esi]
mov dword [esi + 0xc], edx
mov dword [ebx], edx
jmp 0x1000628b
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
cmp dword [esi + 8], eax
jne 0x100062fa
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10006307
test byte [esi + 8], 1
jne 0x10006375
mov eax, dword [esi + 0x14]
and al, 1
jne 0x10006375
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov edi, dword [esi + 0xc]
movzx ecx, byte [eax + edi]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + edi], cl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 8], eax
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
test edi, edi
sete ah
cmp dword [esi + 0x20], 0xa
setl al
or al, ah
cmp al, 1
jne 0x100063af
mov edx, dword [esi + 8]
inc edx
mov edi, dword [esi + 0x10]
mov dword [esi + 8], edx
mov dword [edi], edx
mov edx, dword [esi + 0x14]
inc dl
mov edi, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [edi], dl
mov edx, dword [esi + 0xc]
inc edx
mov edi, dword [esi]
mov dword [esi + 0xc], edx
mov dword [edi], edx
test al, al
jne 0x100063d5
mov edx, dword [esi + 8]
inc edx
mov edi, dword [esi + 0x10]
mov dword [esi + 8], edx
mov dword [edi], edx
mov edx, dword [esi + 0x14]
inc dl
mov edi, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [edi], dl
mov edx, dword [esi + 0xc]
inc edx
mov edi, dword [esi]
mov dword [esi + 0xc], edx
mov dword [edi], edx
jmp 0x10006387
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 0x24], eax
cmp dword [esi + 8], eax
jne 0x100063f9
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10006419
test byte [esi + 8], 1
jne 0x10006543
mov edx, dword [esi + 0x14]
mov ebx, edx
and bl, 1
je 0x10006419
jmp 0x10006543
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov edi, dword [esi + 0xc]
movzx ecx, byte [eax + edi]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + edi], cl
mov eax, dword [0x10081f6c]
mov dword [esi + 0x18], eax
mov eax, dword [0x10081f70]
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x1000651d
mov edx, dword [esi + 0x18]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
je 0x1000651d
mov eax, dword [esi]
mov eax, dword [eax]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, dword [edi]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
cmp dword [0x10081f70], 0xa
jl 0x10006412
mov eax, dword [0x10081f6c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10006480
jmp 0x10006412
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 8]
inc eax
mov edi, dword [esi + 0x10]
mov dword [edi], eax
mov edx, dword [esi + 0x14]
inc dl
mov edi, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [edi], dl
mov edx, dword [esi + 0xc]
inc edx
mov edi, dword [esi]
mov dword [esi + 0xc], edx
mov dword [edi], edx
mov edx, dword [esi + 0x18]
lea ebx, [edx + 1]
imul ebx, edx
mov edi, eax
cmp eax, dword [esi + 0x24]
jne 0x100065a1
test bl, 1
sete dh
cmp dword [esi + 0x20], 0xa
setl dl
or dl, dh
jne 0x10006589
test dl, dl
je 0x10006585
mov edx, dword [esi + 0x10]
mov dword [edx], 0
mov edx, dword [esi + 4]
mov byte [edx], 0
mov dword [esi + 0x14], 0
xor edi, edi
cmp dword [esi + 0x20], 0xa
jl 0x100065ae
and ebx, 1
je 0x100065ae
jmp 0x100065ac
mov eax, edi
test al, 1
jne 0x1000668f
mov edx, dword [esi + 0x14]
mov ebx, edx
and bl, 1
jne 0x1000668f
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov edi, dword [esi + 0xc]
movzx ecx, byte [eax + edi]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + edi], cl
mov eax, dword [0x10081f6c]
mov dword [esi + 0x18], eax
mov eax, dword [0x10081f70]
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x1000666c
mov edx, dword [esi + 0x18]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
je 0x1000666c
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
mov dword [esi + 0xc], eax
jmp 0x100065c6
mov eax, dword [esi + 0x10]
mov edi, dword [eax]
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, dword [0x100820a4]
sub eax, dword [0x100820a0]
mov dword [esi + 0x24], eax
mov eax, edi
inc eax
mov edi, dword [esi + 0x10]
mov dword [edi], eax
mov edx, dword [esi + 0x14]
inc dl
mov edi, dword [esi + 4]
mov dword [esi + 0x14], edx
mov byte [edi], dl
mov edx, dword [esi + 0xc]
inc edx
mov edi, dword [esi]
mov ebx, edx
mov dword [edi], edx
mov edx, dword [esi + 0x18]
lea edi, [edx + 1]
imul edi, edx
and edi, 1
mov edx, eax
cmp eax, dword [esi + 0x24]
jne 0x100066ed
test edi, edi
sete dl
cmp dword [esi + 0x20], 0xa
setl al
or al, dl
jne 0x100066d5
test al, al
je 0x100066d1
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
mov dword [esi + 0x14], 0
xor edx, edx
cmp dword [esi + 0x20], 0xa
jl 0x100066f9
test edi, edi
je 0x100066f9
jmp 0x100066f7
test dl, 1
jne 0x100067ad
mov eax, dword [esi + 0x14]
and al, 1
jne 0x100067ad
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx ecx, byte [eax + ebx]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + ebx], cl
mov edx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edi, [edx + 1]
mov dword [esi + 0x18], edx
imul edi, edx
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x100067ad
test edi, edi
je 0x100067ad
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov ebx, dword [edi]
jmp 0x1000670d
cmp dword [esi + 0x20], 0xa
jl 0x100067b9
test edi, edi
je 0x100067b9
jmp 0x100067b7
mov ecx, dword [esi]
mov eax, dword [ecx]
inc eax
mov edx, dword [esi + 4]
movzx edx, byte [edx]
inc dl
mov edi, dword [esi + 0x10]
mov ebx, dword [edi]
inc ebx
mov dword [edi], ebx
mov dword [esi + 0xc], edx
mov edi, dword [esi + 4]
mov byte [edi], dl
mov dword [ecx], eax
mov edx, dword [0x100820a4]
sub edx, dword [0x100820a0]
mov dword [esi + 8], ebx
mov dword [esi + 0x14], edx
cmp ebx, edx
jne 0x100067ff
mov ecx, dword [esi + 0x10]
mov dword [ecx], 0
mov ecx, dword [esi + 4]
mov byte [ecx], 0
jmp 0x10006815
test byte [esi + 8], 1
jne 0x100068d9
mov edx, dword [esi + 0xc]
and dl, 1
jne 0x100068d9
mov edi, dword [esi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [0x10081f6c]
mov dword [esi + 0x18], eax
mov eax, dword [0x10081f70]
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x100068b5
mov edx, dword [esi + 0x18]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
je 0x100068b5
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
jmp 0x10006817
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov dword [esi + 0xc], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov edx, dword [0x100820a4]
sub edx, dword [0x100820a0]
mov dword [esi + 0x14], edx
mov edi, dword [esi + 8]
inc edi
mov edx, dword [esi + 0x10]
mov dword [edx], edi
mov ebx, dword [esi + 0xc]
inc bl
mov edx, dword [esi + 4]
mov dword [esi + 0xc], ebx
mov byte [edx], bl
inc eax
mov edx, dword [esi]
mov dword [edx], eax
mov edx, edi
cmp edi, dword [esi + 0x14]
jne 0x10006913
mov edx, dword [esi + 0x10]
mov dword [edx], 0
mov edx, dword [esi + 4]
mov byte [edx], 0
mov dword [esi + 0xc], 0
xor edx, edx
mov ecx, dword [esi + 0x18]
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
cmp dword [esi + 0x20], 0xa
jl 0x1000692b
test edi, edi
je 0x1000692b
jmp 0x10006929
test dl, 1
jne 0x100069dc
mov ecx, dword [esi + 0xc]
and cl, 1
jne 0x100069dc
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [0x10081f6c]
lea edi, [eax + 1]
imul edi, eax
mov eax, dword [0x10081f70]
and edi, 1
mov dword [esi + 0x20], eax
cmp eax, 0xa
jl 0x100069dc
test edi, edi
je 0x100069dc
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov eax, dword [edi]
jmp 0x10006940
cmp dword [esi + 0x20], 0xa
jl 0x100069e8
test edi, edi
je 0x100069e8
jmp 0x100069e6
mov eax, dword [esi]
mov edi, dword [eax]
inc edi
mov edx, dword [esi + 4]
movzx eax, byte [edx]
inc al
mov ebx, dword [esi + 0x10]
mov ecx, dword [ebx]
inc ecx
mov dword [ebx], ecx
mov byte [edx], al
mov edx, dword [esi]
mov dword [edx], edi
mov edx, dword [0x100820a4]
sub edx, dword [0x100820a0]
cmp ecx, edx
jne 0x10006a26
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
xor eax, eax
xor ecx, ecx
mov ebx, dword [0x10081f6c]
mov edx, dword [0x10081f70]
mov dword [esi + 0x18], edx
lea edx, [ebx + 1]
mov dword [esi + 0xc], ebx
imul edx, ebx
and edx, 1
cmp dword [esi + 0x18], 0xa
jl 0x10006a4d
test edx, edx
je 0x10006a4d
jmp 0x10006a4b
test cl, 1
jne 0x10006b10
mov ebx, eax
and bl, 1
jne 0x10006b10
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx ecx, byte [eax + edi]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + edi], cl
mov ecx, dword [0x10081f6c]
mov eax, dword [0x10081f70]
lea edx, [ecx + 1]
mov dword [esi + 0xc], ecx
imul edx, ecx
and edx, 1
mov dword [esi + 0x18], eax
cmp eax, 0xa
jl 0x10006b01
test edx, edx
je 0x10006b01
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edi, dword [edi]
jmp 0x10006a61
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov edi, dword [esi]
mov edi, dword [edi]
test edx, edx
sete dh
cmp dword [esi + 0x18], 0xa
setl dl
or dl, dh
cmp dl, 1
jne 0x10006b39
inc ecx
mov ebx, dword [esi + 0x10]
mov dword [ebx], ecx
inc al
mov ebx, dword [esi + 4]
mov byte [ebx], al
inc edi
mov ebx, dword [esi]
mov dword [ebx], edi
test dl, dl
jne 0x10006b4d
inc ecx
mov ebx, dword [esi + 0x10]
mov dword [ebx], ecx
inc al
mov ebx, dword [esi + 4]
mov byte [ebx], al
inc edi
mov ebx, dword [esi]
mov dword [ebx], edi
jmp 0x10006b23
mov edx, dword [0x100820a4]
sub edx, dword [0x100820a0]
mov dword [esi + 8], edx
cmp ecx, edx
jne 0x10006b71
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
jmp 0x10006b85
test cl, 1
jne 0x10006c43
mov edx, eax
and dl, 1
jne 0x10006c43
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx ecx, byte [eax + edi]
mov edx, ecx
shl dl, 3
mov ch, cl
shl ch, 2
mov dh, cl
shl dh, 4
or dh, ch
xor dh, dl
mov dl, cl
shr dl, 1
mov ch, cl
shr ch, 3
and ch, dl
or ch, dh
mov edx, ecx
add dl, cl
shl cl, 5
and cl, dl
not cl
and cl, ch
mov byte [eax + edi], cl
mov eax, dword [0x10081f6c]
mov dword [esi + 0xc], eax
mov eax, dword [0x10081f70]
mov dword [esi + 0x18], eax
cmp eax, 0xa
jl 0x10006c25
mov ecx, dword [esi + 0xc]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
je 0x10006c25
mov edi, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + eax]
mov dh, dl
shl dh, 3
mov ebx, edx
shl bl, 2
mov bh, dl
shl bh, 4
or bh, bl
xor bh, dh
mov dh, dl
shr dh, 1
mov bl, dl
shr bl, 3
and bl, dh
or bl, bh
mov dh, dl
add dh, dl
shl dl, 5
and dl, dh
not dl
and dl, bl
mov byte [ecx + eax], dl
mov edi, dword [edi]
jmp 0x10006b85
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
movzx eax, byte [eax]
mov edx, dword [esi]
mov edi, dword [edx]
mov edx, dword [0x100820a4]
sub edx, dword [0x100820a0]
mov dword [esi + 8], edx
inc ecx
mov edx, dword [esi + 0x10]
mov dword [edx], ecx
inc al
mov edx, dword [esi + 4]
mov byte [edx], al
inc edi
mov edx, dword [esi]
mov dword [edx], edi
mov ebx, dword [esi + 0xc]
lea edx, [ebx + 1]
imul edx, ebx
and edx, 1
cmp ecx, dword [esi + 8]
jne 0x10006c85
cmp dword [esi + 0x18], 0xa
jl 0x10006c72
test edx, edx
je 0x10006c72
jmp 0x10006c70
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov byte [eax], 0
xor eax, eax
xor ecx, ecx
cmp dword [esi + 0x18], 0xa
jl 0x10006c91
test edx, edx
je 0x10006c91
jmp 0x10006c8f
test cl, 1
jne 0x10006d54
mov ebx, eax
and bl, 1
jne 0x10006d54
cmp dword [esi + 0x18], 0xa
jl 0x10006d60