Function at 0x100a6b40
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov dword [ecx + 0x5c], edx
sub edx, 1
je 0x100a2711
sub edx, 1
je 0x100a270b
sub edx, 1
je 0x100a2705
xor eax, eax
ret
mov eax, 3
ret
mov eax, 2
ret
mov eax, 1
ret
sub esp, 0x2c
push ebx
mov ebx, ecx
push ebp
mov ebp, edx
mov dword [esp + 0x1c], ebx
push esi
cmp dword [ebx + 0x5c], 0
lea esi, [ebx + 8]
mov edx, 1
mov dword [esp + 0x18], ebp
push edi
mov dword [esp + 0x14], edx
jge 0x100a6b6f
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
mov eax, dword [esp + 0x48]
test ecx, ecx
je 0x100a6b9b
test eax, eax
je 0x100a6b86
cmp dword [eax], 0
jne 0x100a6b99
mov edx, 0xffffffec
mov ecx, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
jmp 0x100a26f0
test ecx, ecx
mov edi, dword [esp + 0x40]
mov ecx, 0
cmovne ecx, eax
cmp dword [ebx + 0x30], 0
mov dword [esp + 0x18], ecx
jne 0x100a6bbb
mov eax, dword [ebp]
mov dword [esi + 0xc], eax
mov eax, dword [edi]
jmp 0x100a6bc7
mov edx, 2
lea eax, [ebx + 0x28]
mov dword [esp + 0x14], edx
mov dword [esi + 8], eax
mov ebp, 0x20
lea eax, [ebx + 0x136c]
mov dword [esp + 0x34], 0x3e
mov dword [esp + 0x30], eax
cmp edx, 1
je 0x100a6c6e
cmp edx, 2
jne 0x100a7b15
cmp dword [ebx + 0x64], 0
je 0x100a6c17
mov edx, dword [esp + 0x44]
push 1
push ecx
push ecx
mov ecx, ebx
call fcn.100a4f60
add esp, 0xc
test eax, eax
js 0x100a7acc
mov edx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je 0x100a7adc
cmp dword [esi + 0xc], 0
mov eax, dword [esp + 0x1c]
jne 0x100a6c3f
mov dword [ebx + 0x30], 0
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, dword [edi]
mov dword [esi + 8], eax
jmp 0x100a6c61
cmp dword [eax], 0
je 0x100a7b76
mov eax, dword [edi]
mov al, byte [eax]
mov byte [ecx + ebx + 0x28], al
inc dword [ebx + 0x30]
mov eax, dword [ebx + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x1c]
inc dword [edi]
dec dword [eax]
mov ecx, dword [esp + 0x18]
mov edx, 1
mov dword [esp + 0x14], edx
mov eax, dword [ebx]
cmp eax, 0x18
ja case.default.0x100a6c79
jmp dword [eax*4 + 0x100a7bc0]
mov edi, dword [esi + 4]
mov eax, ebp
sub eax, edi
jne 0x100a6cc2
mov edx, dword [esi + 0xc]
test edx, edx
jne 0x100a6ca2
mov edi, dword [esp + 0x40]
mov edx, 2
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
mov ecx, dword [esi + 8]
shr dword [esi], 8
movzx eax, byte [ecx]
shl eax, 0x18
or dword [esi], eax
lea eax, [edi - 8]
mov dword [esi + 4], eax
lea eax, [edx - 1]
mov dword [esi + 0xc], eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x135c]
mov dword [esp + 0x2c], eax
and eax, 0xffffffdf
mov dword [ebx + 0x135c], eax
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, edx
shr eax, cl
lea edi, [ecx + 1]
mov dword [esi + 4], edi
test al, 1
jne 0x100a6cf4
mov dword [ebx + 0x1360], 0x10
jmp 0x100a6d6e
mov ecx, edi
mov eax, edx
shr eax, cl
lea ecx, [edi + 3]
mov dword [esi + 4], ecx
and eax, 7
je 0x100a6d10
add eax, 0x11
mov dword [ebx + 0x1360], eax
jmp 0x100a6d6e
mov eax, edx
shr eax, cl
add ecx, 3
and eax, 7
mov dword [esi + 4], ecx
cmp eax, 1
jne 0x100a6d55
test byte [esp + 0x2c], 0x20
je 0x100a6d36
shr edx, cl
lea eax, [ecx + 1]
mov dword [esi + 4], eax
test dl, 1
je 0x100a6d4c
mov edi, dword [esp + 0x40]
mov edx, 0xfffffff3
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
or dword [ebx + 0x135c], 0x20
jmp 0x100a6d6e
test eax, eax
je 0x100a6d64
add eax, 8
mov dword [ebx + 0x1360], eax
jmp 0x100a6d6e
mov dword [ebx + 0x1360], 0x11
test byte [ebx + 0x135c], 0x20
mov edx, 1
mov dword [esp + 0x14], edx
je 0x100a6d8f
mov dword [ebx], edx
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
jmp case.default.0x100a6c79
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [ebx], 2
jmp case.default.0x100a6c79
mov edi, dword [esi + 4]
mov eax, ebp
sub eax, edi
cmp eax, 6
jae 0x100a6de1
mov edx, dword [esi + 0xc]
test edx, edx
je 0x100a7342
mov ecx, dword [esi + 8]
dec edx
shr dword [esi], 8
movzx eax, byte [ecx]
add dword [esi + 4], 0xfffffff8
mov edi, dword [esi + 4]
shl eax, 0x18
or dword [esi], eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov eax, ebp
sub eax, edi
mov dword [esi + 0xc], edx
cmp eax, 6
jb 0x100a6db1
mov eax, dword [esi]
mov ecx, edi
shr eax, cl
and eax, 0x3f
mov dword [ebx + 0x1360], eax
add dword [esi + 4], 6
mov eax, dword [ebx + 0x1360]
sub eax, 0xa
cmp eax, 0x14
ja 0x100a6d36
mov edi, dword [esp + 0x40]
mov dword [ebx], 2
mov ecx, dword [ebx + 0x1360]
mov eax, 1
shl eax, cl
sub eax, 0x10
push 0x3030
push dword [ebx + 0x20]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x18]
call eax
add esp, 8
mov dword [ebx + 0xac], eax
test eax, eax
jne 0x100a6e4f
mov ecx, dword [esp + 0x18]
mov edx, 0xffffffe2
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
add eax, 0x1da0
mov dword [ebx + 0xb0], eax
mov dword [ebx + 0xbc], 0
mov dword [ebx + 0xd0], 1
mov dword [ebx + 0xd4], 1
mov dword [ebx + 0xd8], 1
mov dword [ebx + 0xc4], 0x1000000
mov dword [ebx + 0xc8], 0x1000000
mov dword [ebx + 0xcc], 0x1000000
mov dword [ebx + 0xdc], 1
mov dword [ebx + 0xe4], 1
mov dword [ebx + 0xe8], 0
mov dword [ebx + 0xec], 1
mov dword [ebx + 0xf0], 0
mov dword [ebx + 0xe0], 0
mov dword [ebx + 0x136c], 0
mov dword [ebx + 0x1370], 0
mov dword [ebx + 0x104], 0
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x108], 0
mov dword [ebx + 0x78], 0
mov byte [ebx + 0x10c], 0
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0x9c], 0
mov dword [ebx], 4
mov edx, esi
mov ecx, ebx
call fcn.100a28e0
mov edx, eax
mov dword [esp + 0x14], edx
cmp edx, 1
jne 0x100a6d82
test byte [ebx + 0x135c], 6
je 0x100a6fbb
mov ecx, dword [esi + 4]
mov edi, ecx
neg edi
and edi, 7
je 0x100a6fbb
mov edx, dword [esi]
mov eax, dword [edi*4 + 0x1017cad0]
shr edx, cl
and eax, edx
lea eax, [ecx + edi]
mov dword [esi + 4], eax
je 0x100a6fb7
mov edi, dword [esp + 0x40]
mov edx, 0xfffffff2
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
mov edx, dword [esp + 0x14]
test byte [ebx + 0x135c], 4
je 0x100a6fd7
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [ebx], 0xc
jmp case.default.0x100a6c79
cmp dword [ebx + 0xbc], 0
jne 0x100a6ff3
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [ebx], 0xe
jmp case.default.0x100a6c79
mov ecx, ebx
call fcn.100a5250
test byte [ebx + 0x135c], 2
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
je 0x100a701a
mov dword [ebx], 0xb
jmp case.default.0x100a6c79
mov dword [ebx + 4], 0
mov dword [ebx], 0x11
jmp case.default.0x100a6c79
push ebx
push ecx
mov edx, ecx
mov ecx, dword [esp + 0x4c]
call fcn.100a5110
mov edx, eax
add esp, 8
mov dword [esp + 0x14], edx
cmp edx, 1
jne 0x100a6d82
mov ecx, dword [esp + 0x18]
mov dword [ebx], 0xe
jmp case.default.0x100a6c79
cmp dword [ebx + 0xbc], 0
jle 0x100a70bb
mov edi, dword [esi + 4]
mov eax, ebp
sub eax, edi
cmp eax, 8
jae 0x100a70a2
mov edx, dword [esi + 0xc]
test edx, edx
je 0x100a7342
mov ecx, dword [esi + 8]
dec edx
shr dword [esi], 8
movzx eax, byte [ecx]
add dword [esi + 4], 0xfffffff8
mov edi, dword [esi + 4]
shl eax, 0x18
or dword [esi], eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov eax, ebp
sub eax, edi
mov dword [esi + 0xc], edx
cmp eax, 8
jb 0x100a7072
lea eax, [edi + 8]
mov dword [esi + 4], eax
dec dword [ebx + 0xbc]
cmp dword [ebx + 0xbc], 0
jg 0x100a7063
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx], 0xe
jmp case.default.0x100a6c79
mov eax, dword [ebx + 4]
cmp eax, 3
jl 0x100a70e1
mov dword [ebx], 5
jmp case.default.0x100a6c79
add eax, 0x34
mov edx, esi
mov ecx, ebx
lea eax, [ebx + eax*4]
push eax
call fcn.100a2720
mov ecx, dword [esp + 0x1c]
mov edx, eax
add esp, 4
mov dword [esp + 0x14], edx
cmp edx, 1
jne 0x100a6bea
mov eax, dword [ebx + 4]
inc dword [ebx + eax*4 + 0xd0]
mov eax, dword [ebx + 4]
cmp dword [ebx + eax*4 + 0xd0], 2
jae 0x100a7127
inc eax
mov dword [ebx + 4], eax
jmp case.default.0x100a6c79
mov dword [ebx], 0x12
mov eax, dword [ebx + 4]
push ebx
push 0
mov ecx, dword [ebx + eax*4 + 0xd0]
imul eax, eax, 0x9e0
add ecx, 2
mov edx, ecx
add eax, dword [ebx + 0xac]
push eax
call fcn.100a3500
mov edx, eax
add esp, 0xc
mov dword [esp + 0x14], edx
cmp edx, 1
jne 0x100a6d82
mov dword [ebx], 0x13
imul eax, dword [ebx + 4], 0x630
mov edx, 0x1a
push ebx
push 0
mov ecx, edx
add eax, dword [ebx + 0xb0]
push eax
call fcn.100a3500
mov edx, eax
add esp, 0xc
mov dword [esp + 0x14], edx
cmp edx, 1
jne 0x100a6d82
mov dword [ebx], 0x14
mov eax, dword [ebx + 4]
imul ecx, eax, 0x630
add eax, 0x31
lea eax, [ebx + eax*4]
add ecx, dword [ebx + 0xb0]
cmp dword [ebx + 0x1358], 0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
jne 0x100a7289
mov edi, dword [esi + 4]
mov eax, ebp
sub eax, edi
cmp eax, 0xf
jae 0x100a7203
mov edx, dword [esi + 0xc]
test edx, edx
je 0x100a7256
mov ecx, dword [esi + 8]
dec edx
shr dword [esi], 8
movzx eax, byte [ecx]
add dword [esi + 4], 0xfffffff8
mov edi, dword [esi + 4]
shl eax, 0x18
or dword [esi], eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov eax, ebp
sub eax, edi
mov dword [esi + 0xc], edx
cmp eax, 0xf
jb 0x100a71d7
mov edx, dword [esi]
mov ecx, edi
shr edx, cl
mov ecx, dword [esp + 0x28]
and edx, 0x7fff
movzx eax, dl
lea eax, [ecx + eax*4]
mov dword [esp + 0x28], eax
mov al, byte [eax]
cmp al, 8
jbe 0x100a7277
movzx eax, al
add edi, 8
shr edx, 8
mov dword [esi + 4], edi
mov ecx, dword [eax*4 + 0x1017cab0]
and ecx, edx
mov edx, dword [esp + 0x28]
movzx eax, word [edx + 2]
add ecx, eax
mov al, byte [edx + ecx*4]
movzx eax, al
add eax, edi
mov dword [esi + 4], eax
lea edx, [edx + ecx*4]
movzx ecx, word [edx + 2]
jmp 0x100a728f
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x20]
push eax
mov edx, esi
call fcn.100a2e30
add esp, 4
test eax, eax
je 0x100a7342
mov ecx, dword [esp + 0x20]
jmp 0x100a7293
mov edx, dword [esp + 0x28]
movzx eax, al
add eax, edi
mov dword [esi + 4], eax
movzx ecx, word [edx + 2]
jmp 0x100a728f
mov ecx, dword [ebx + 0xc0]
mov dword [esp + 0x20], ecx
movzx edx, byte [ecx*4 + 0x1017ca6a]
mov eax, ebp
mov edi, dword [esi + 4]
sub eax, edi
mov dword [esp + 0x28], edx
cmp eax, edx
jae 0x100a72e1
mov edx, dword [esi + 0xc]
nop dword [eax]
test edx, edx
je 0x100a732e
mov ecx, dword [esi + 8]
dec edx
shr dword [esi], 8
movzx eax, byte [ecx]
add dword [esi + 4], 0xfffffff8
mov edi, dword [esi + 4]
shl eax, 0x18
or dword [esi], eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov eax, ebp
sub eax, edi
mov dword [esi + 0xc], edx
cmp eax, dword [esp + 0x28]
jb 0x100a72b0
mov edx, dword [esp + 0x28]
mov eax, dword [esi]
mov ecx, edi
shr eax, cl
mov ecx, dword [edx*4 + 0x1017cad0]
and ecx, eax
lea eax, [edx + edi]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x40]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x20]
movzx eax, word [eax*4 + 0x1017ca68]
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
inc dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x1358], 0
mov dword [ebx], 0x11
jmp case.default.0x100a6c79
mov eax, dword [esp + 0x20]
mov dword [ebx + 0xc0], eax
mov dword [ebx + 0x1358], 1
mov edi, dword [esp + 0x40]
mov edx, 2
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
mov edi, dword [esi + 4]
mov eax, ebp
sub eax, edi
cmp eax, 6
jae 0x100a7393
mov edx, dword [esi + 0xc]
test edx, edx
je 0x100a7342
mov ecx, dword [esi + 8]
dec edx
shr dword [esi], 8
movzx eax, byte [ecx]
add dword [esi + 4], 0xfffffff8
mov edi, dword [esi + 4]
shl eax, 0x18
or dword [esi], eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov eax, ebp
sub eax, edi
mov dword [esi + 0xc], edx
cmp eax, 6
jb 0x100a7367
mov edx, dword [esi]
lea eax, [edi + 6]
mov ecx, edi
mov dword [esi + 4], eax
shr edx, cl
and edx, 0x3f
mov ecx, edx
shr edx, 2
and ecx, 3
shl edx, cl
add edx, 0x10
mov dword [ebx + 0xf4], ecx
mov dword [ebx + 0xf8], edx
mov eax, dword [ecx*4 + 0x1017cad0]
mov dword [ebx + 0xfc], eax
push dword [ebx + 0xd0]
mov eax, dword [ebx + 0x18]
push dword [ebx + 0x20]
call eax
add esp, 8
mov dword [ebx + 0x1370], eax
test eax, eax
jne 0x100a73f9
mov edi, dword [esp + 0x40]
mov edx, 0xffffffeb
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
mov dword [ebx + 4], 0
mov dword [ebx], 6
mov eax, dword [ebx + 4]
mov dword [esp + 0x28], eax
cmp eax, dword [ebx + 0xd0]
jge 0x100a7480
mov edi, dword [esi + 4]
mov eax, ebp
sub eax, edi
cmp eax, 2
jae 0x100a7454
mov edx, dword [esi + 0xc]
test edx, edx
je 0x100a75d4
mov ecx, dword [esi + 8]
dec edx
shr dword [esi], 8
movzx eax, byte [ecx]
add dword [esi + 4], 0xfffffff8
mov edi, dword [esi + 4]
shl eax, 0x18
or dword [esi], eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov eax, ebp
sub eax, edi
mov dword [esi + 0xc], edx
cmp eax, 2
jb 0x100a7424
mov edx, dword [esi]
lea eax, [edi + 2]
mov ecx, edi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x1370]
shr edx, cl
mov ecx, dword [esp + 0x28]
and edx, dword [0x1017cad8]
mov byte [ecx + eax], dl
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, dword [ebx + 0xd0]
jl 0x100a7415
mov dword [ebx], 0x15
mov ecx, dword [ebx + 0xd0]
lea eax, [ebx + 0x136c]
push ebx
push eax
lea edx, [ebx + 0x1368]
shl ecx, 6
call fcn.100a3a00
mov edx, eax
add esp, 8
mov dword [esp + 0x14], edx
cmp edx, 1
jne 0x100a6d82
xorps xmm0, xmm0
xor edi, edi
movups xmmword [ebx + 0x137c], xmm0
mov dword [esp + 0x28], edi
movups xmmword [ebx + 0x138c], xmm0
cmp dword [ebx + 0xd0], edi
jbe 0x100a7565
mov eax, dword [esp + 0x30]
mov ecx, edi
shl ecx, 6
xor ebp, ebp
mov eax, dword [eax]
lea esi, [ebp + 0x10]
mov bl, byte [ecx + eax]
lea edi, [eax + 2]
add edi, ecx
nop
movzx edx, byte [edi - 2]
lea edi, [edi + 4]
movzx ecx, byte [edi - 5]
movzx eax, bl
xor edx, eax
movzx eax, bl
xor ecx, eax
movzx eax, bl
or edx, ecx
movzx ecx, byte [edi - 3]
xor ecx, eax
movzx eax, bl
or edx, ecx
movzx ecx, byte [edi - 4]
xor ecx, eax
or edx, ecx
or ebp, edx
sub esi, 1
jne 0x100a74f0
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
test ebp, ebp
jne 0x100a754c
mov eax, edi
mov ecx, edi
shr eax, 5
and ecx, 0x1f
lea edx, [ebx + eax*4]
mov eax, dword [edx + 0x137c]
bts eax, ecx
mov dword [edx + 0x137c], eax
inc edi
mov dword [esp + 0x28], edi
cmp edi, dword [ebx + 0xd0]
jb 0x100a74d7
lea esi, [ebx + 8]
mov ebp, 0x20
mov dword [ebx], 0x16
mov edx, dword [ebx + 0xf8]
mov edi, 0x18
mov ecx, dword [ebx + 0xf4]
lea eax, [edx - 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x135c]
and eax, 0x20
cmovne edi, dword [esp + 0x34]
inc ecx
shl edi, cl
add edi, edx
mov dword [esp + 0x2c], edi
test eax, 0x20
je 0x100a7601
mov eax, dword [ebx + 0xf4]
mov edx, 1
mov ecx, eax
shl edx, cl
mov ecx, dword [eax*4 + 0x101d6bb0]
mov edi, dword [eax*4 + str.I]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp ecx, eax
jae 0x100a75f1
add edi, edx
add edi, ecx
jmp 0x100a7601
mov eax, dword [esp + 0x28]
mov edx, 2
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 4], eax
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
add eax, edx
cmp ecx, eax
jbe 0x100a75fb
add edi, ecx
jmp 0x100a7601
add edi, edx
add edi, dword [esp + 0x28]
mov ecx, dword [ebx + 0xd8]
lea eax, [ebx + 0x104]
push ebx
lea edx, [ebx + 0x100]
shl ecx, 2
push eax
mov dword [esp + 0x30], edi
call fcn.100a3a00
mov edx, eax
add esp, 8
mov dword [esp + 0x14], edx
cmp edx, 1
jne 0x100a6d82
mov edi, dword [ebx + 0x1368]
imul eax, edi, 0x9dc
push eax
push dword [ebx + 0x20]
mov eax, dword [ebx + 0x18]
call eax
mov ebp, eax
mov dword [ebx + 0x84], 0x1000100
lea ecx, [edi*4]
mov word [ebx + 0x88], di
mov dword [ebx + 0x7c], ebp
add ecx, ebp
mov dword [ebx + 0x80], ecx
mov edi, dword [ebx + 0xd4]
imul eax, edi, 0x10e4
push eax
push dword [ebx + 0x20]
mov eax, dword [ebx + 0x18]
call eax
mov edx, dword [esp + 0x34]
mov ebx, eax
mov eax, dword [esp + 0x3c]
add eax, 0x1f
shr eax, 5
lea ecx, [ebx + edi*4]
mov dword [edx + 0x94], 0x2c002c0
mov word [edx + 0x98], di
mov dword [edx + 0x8c], ebx
movzx eax, word [eax*2 + 0x10183020]
mov dword [edx + 0x90], ecx
inc eax
mov edi, dword [edx + 0x100]
imul eax, edi
shl eax, 2
push eax
push dword [edx + 0x20]
mov eax, dword [edx + 0x18]
call eax
mov edx, dword [esp + 0x3c]
add esp, 0x18
mov ecx, dword [esp + 0x2c]
mov word [edx + 0xa4], cx
mov ecx, dword [esp + 0x28]
mov word [edx + 0xa6], cx
lea ecx, [eax + edi*4]
mov dword [edx + 0xa0], ecx
xor ecx, ecx
test eax, eax
mov dword [edx + 0x9c], eax
mov word [edx + 0xa8], di
setne cl
xor eax, eax
test ebx, ebx
setne al
and ecx, eax
neg ebp
sbb ebp, ebp
test ecx, ebp
je 0x100a7b84
mov ebx, edx
mov ebp, 0x20
mov dword [ebx + 4], 0
mov dword [ebx], 0x17
mov ecx, dword [ebx + 4]
mov eax, ecx
sub eax, 0
je 0x100a7759
sub eax, 1
je 0x100a7752
sub eax, 1
jne 0x100a7b99
mov edi, 0x9c
jmp 0x100a775e
mov edi, 0x8c
jmp 0x100a775e
mov edi, 0x7c
cmp dword [ebx + 0x1344], 1
je 0x100a7789
mov eax, dword [edi + ebx + 4]
xor edx, edx
mov dword [ebx + 0x810], eax
mov dword [ebx + 0x80c], 0
mov dword [ebx + 0x1344], 1
jmp 0x100a778f
mov edx, dword [ebx + 0x80c]
movzx eax, word [edi + ebx + 0xc]
cmp edx, eax
jge 0x100a7803
mov ecx, dword [ebx + 0x810]
nop
movzx edx, word [edi + ebx + 0xa]
lea eax, [esp + 0x38]
push ebx
push eax
push ecx
movzx ecx, word [edi + ebx + 8]
call fcn.100a3500
mov edx, eax
add esp, 0xc
mov dword [esp + 0x14], edx
cmp edx, 1
jne 0x100a6d82
mov ecx, dword [edi + ebx]
mov edx, dword [ebx + 0x80c]
mov eax, dword [ebx + 0x810]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x38]
inc dword [ebx + 0x80c]
shl eax, 2
add dword [ebx + 0x810], eax
movzx eax, word [edi + ebx + 0xc]
mov ecx, dword [ebx + 0x810]
cmp dword [ebx + 0x80c], eax
jl 0x100a77a0
mov ecx, dword [ebx + 4]
mov edi, dword [esp + 0x40]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x18]
mov edx, 1
mov dword [ebx + 0x1344], 0
mov dword [esp + 0x14], edx
mov dword [ebx + 4], eax
cmp eax, 3
jl case.default.0x100a6c79
mov edi, dword [ebx + 0xe0]
mov edx, edi
mov eax, edi
shl edx, 6
add edx, dword [ebx + 0x136c]
mov ecx, edi
shr eax, 5
and ecx, 0x1f
mov dword [ebx + 0x74], edx
mov eax, dword [ebx + eax*4 + 0x137c]
shr eax, cl
and eax, 1
mov dword [ebx + 0xb4], eax
movzx ecx, byte [edx]
mov eax, dword [ebx + 0x7c]
mov eax, dword [eax + ecx*4]
mov ecx, ebx
mov dword [ebx + 0x108], eax
mov eax, dword [ebx + 0x1370]
movzx eax, byte [eax + edi]
and eax, 3
shl eax, 9
add eax, 0x1017cb58
mov dword [ebx + 0x70], eax
mov eax, dword [ebx + 0x104]
mov dword [ebx + 0x78], eax
mov eax, dword [ebx + 0x8c]
mov eax, dword [eax]
mov dword [ebx + 0x6c], eax
call fcn.100a5080
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x100a78b9
mov edx, 0xffffffe5
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
mov edx, dword [esp + 0x14]
mov dword [ebx], 7
jmp case.default.0x100a6c79
mov ecx, ebx
call fcn.100a52c0
mov edx, eax
mov dword [esp + 0x14], eax
cmp edx, 2
je 0x100a78e7
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
jmp case.default.0x100a6c79
mov ecx, ebx
call fcn.100a6040
mov ecx, dword [esp + 0x18]
mov edx, eax
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
mov edx, dword [esp + 0x44]
push 0
push ecx
push ecx
mov ecx, ebx
call fcn.100a4f60
mov ecx, dword [esp + 0x24]
mov edx, eax
add esp, 0xc
mov dword [esp + 0x14], edx
cmp edx, 1
jne 0x100a6bea
mov ecx, ebx
call fcn.100a5050
mov ecx, dword [ebx + 0x1360]
mov eax, 1
shl eax, cl
cmp dword [ebx + 0x40], eax
jne 0x100a7941
mov eax, dword [ebx + 0x38]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebx]
cmp eax, 0xf
jne 0x100a796b
cmp dword [ebx + 0xbc], 0
mov ecx, 7
mov edx, dword [esp + 0x14]
mov eax, 0xe
cmovne eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [ebx], eax
jmp case.default.0x100a6c79
cmp eax, 0x10
jne 0x100a7984
mov edx, dword [esp + 0x14]
mov eax, 0xa
mov ecx, dword [esp + 0x18]
mov dword [ebx], eax
jmp case.default.0x100a6c79
cmp dword [ebx + 4], 0
jne 0x100a79ad
cmp dword [ebx + 0xbc], 0
mov ecx, 9
mov edx, dword [esp + 0x14]
mov eax, 0xe
cmovne eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [ebx], eax
jmp case.default.0x100a6c79
mov edx, dword [esp + 0x14]
mov eax, 8
mov ecx, dword [esp + 0x18]
mov dword [ebx], eax
jmp case.default.0x100a6c79
cmp dword [ebx + 0xbc], 0
jge 0x100a79d8
mov edx, 0xfffffff6
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
mov ecx, ebx
call fcn.100e73a0
test byte [ebx + 0x135c], 1
jne 0x100a79fb
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx], 3
jmp case.default.0x100a6c79
mov edi, dword [esi + 4]
mov eax, edi
neg eax
and eax, 7
mov dword [esp + 0x2c], eax
je 0x100a7a3c
mov edx, dword [esi]
mov ecx, edi
mov eax, dword [eax*4 + 0x1017cad0]
shr edx, cl
and eax, edx
mov eax, dword [esp + 0x2c]
lea edi, [eax + edi]
mov dword [esi + 4], edi
je 0x100a7a3c
mov edi, dword [esp + 0x40]
mov edx, 0xfffffff1
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
jmp case.default.0x100a6c79
cmp dword [ebx + 0x30], 0
jne 0x100a7a8b
mov eax, dword [esi + 0xc]
mov ecx, ebp
sub ecx, edi
shr ecx, 3
sub dword [esi + 8], ecx
add eax, ecx
mov dword [esp + 0x2c], eax
mov dword [esi + 0xc], eax
lea edx, [ecx*8]
cmp edx, 0x20
jne 0x100a7a6c
mov dword [esi], 0
jmp 0x100a7a70
mov ecx, edx
shl dword [esi], cl
mov ecx, dword [esp + 0x1c]
lea eax, [edx + edi]
mov edi, dword [esp + 0x40]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esi + 8]
mov dword [edi], eax
jmp 0x100a7a8f
mov edi, dword [esp + 0x40]
mov dword [ebx], 0x18
cmp dword [ebx + 0x64], 0
je 0x100a7bac
mov edx, dword [esp + 0x44]
push 1
push ecx
push dword [esp + 0x20]
mov ecx, ebx
call fcn.100a4f60
mov edx, eax
add esp, 0xc
mov dword [esp + 0x14], edx
cmp edx, 1
je 0x100a7bb0
mov ecx, dword [esp + 0x18]
jmp case.default.0x100a6c79
mov edx, eax
mov ecx, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
jmp 0x100a26f0
mov eax, dword [esi + 8]
mov dword [edi], eax
mov eax, dword [esi + 0xc]
mov esi, dword [esp + 0x1c]
mov dword [esi], eax
test eax, eax
je 0x100a7b76
mov eax, dword [edi]
mov ecx, dword [ebx + 0x30]
mov al, byte [eax]
mov byte [ecx + ebx + 0x28], al
inc dword [ebx + 0x30]
inc dword [edi]
add dword [esi], 0xffffffff
jne 0x100a7af2
mov ecx, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
jmp 0x100a26f0
cmp dword [ebx + 0x30], 0
je 0x100a7b30
mov dword [ebx + 0x30], 0
mov ecx, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
jmp 0x100a26f0
mov edi, dword [esi + 4]
sub ebp, edi
mov eax, dword [esi + 0xc]
shr ebp, 3
sub dword [esi + 8], ebp
add eax, ebp
mov dword [esp + 0x38], eax
mov dword [esi + 0xc], eax
lea ecx, [ebp*8]
cmp ecx, 0x20
jne 0x100a7b5b
mov dword [esi], 0
jmp 0x100a7b5d
shl dword [esi], cl
lea eax, [edi + ecx]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x38]
mov dword [ecx], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esi + 8]
mov dword [ecx], eax
mov ecx, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
jmp 0x100a26f0
mov ecx, dword [esp + 0x24]
mov edx, 0xffffffea
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
jmp 0x100a26f0
mov edx, 0xffffffe1
mov ecx, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
jmp 0x100a26f0
mov edx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov ecx, ebx
pop ebx
add esp, 0x2c
jmp 0x100a26f0