Function at 0x10b6858
Capabilities:
Encode data using xor

Disassembly:
push edi
pushfd
push ebp
mov ebp, esp
sub esp, 0x8c
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x80], edx
lea eax, [ebp + 4]
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], esi
sub eax, 4
mov dword [ebp - 0x7c], edi
mov ecx, dword [0x1116588]
mov edi, 0xfffffff
mov dword [ebp - 0x6c], eax
add eax, 0xc
mov dword [ebp - 0x44], eax
mov eax, dword [eax]
mov ebx, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [eax + 4]
and eax, edi
xor edx, edx
mov dword [ebp - 0x20], ecx
lea ecx, [ecx + eax - 1]
mov eax, ecx
div dword [ebp - 0x20]
mov esi, 0x1000000
shr ebx, 2
and ebx, edi
add ebx, esi
mov eax, dword [0x1116588]
mov dword [ebp - 0x50], ebx
sub ecx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [0x1011bb0]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x1116588]
mov eax, dword [0x1011bb0]
test eax, eax
je 0x10b697c
and dword [ebp - 0x3c], 0
mov eax, dword [0x1011bb0]
dec eax
lea ecx, [eax + 1]
xor eax, eax
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10b6925
mov edx, dword [0x12d47a4]
shr dword [ebp - 0x1c], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x12d47a4], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x1c], 0
jne 0x10b68fb
xor edx, edx
div ecx
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x1c], edx
jbe 0x10b696e
mov eax, 0xcb65
inc dword [ebp - 0x3c]
lea edx, [edx*4 + 0x12d4c14]
mov ecx, 0xffff349a
lock cmpxchg dword [edx], ecx
cmp eax, 0xcb65
je 0x10b6b09
mov ecx, dword [0x1011bb0]
mov eax, dword [ebp - 0x1c]
inc eax
xor edx, edx
div ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], edx
cmp eax, dword [ebp - 0x4c]
jb 0x10b6932
and dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 0
jne 0x10b6a02
call dword [fcn.01001238]
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x1c]
push 0x40
push 0x1000
push dword [ebp - 0x24]
push 0
call dword [0x1001198]
test eax, eax
jne 0x10b6b20
push eax
call dword [0x10010c8]
cmp dword [ebp - 0x1c], 0x11
jb 0x10b6989
and dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp dword [0x12ef80c], eax
ja 0x10b69c6
test al, 3
je 0x10b69de
test eax, eax
je 0x10b69da
push 0x8000
push 0
push dword [ebp - 0x14]
call dword [0x1001194]
and dword [ebp - 0x14], 0
push dword [ebp - 0x20]
call dword [0x100118c]
cmp dword [ebp - 0x14], 0
je 0x10b68cb
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x10b6a02
mov byte [eax], 0
inc eax
dec ecx
jne 0x10b69fb
mov eax, 0x4e65aaa7
mov eax, dword [ebp - 0x44]
add dword [eax], 8
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
and eax, edi
lea ecx, [ebx + eax]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [0x1116588]
mov dword [ebp - 0x48], ebx
sub ecx, eax
sub dword [ebp - 0x48], esi
inc ecx
mov edx, ecx
mov dword [ebp - 0x3c], eax
xor eax, eax
test ecx, ecx
je 0x10b6a5c
mov ebx, dword [0x12d47a4]
imul ebx, ebx, 0x343fd
add ebx, 0x269ec3
mov dword [0x12d47a4], ebx
shr ebx, 0x10
shl eax, 0x10
shr edx, 0x10
or eax, ebx
test edx, edx
jne 0x10b6a35
xor edx, edx
div ecx
mov eax, dword [ebp - 0x14]
add eax, edx
push eax
push dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x48]
mov eax, 0xda98e65f
mov eax, dword [ebp - 0x4c]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x74]
push eax
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0xd], 0
mov eax, 0xd8e9d027
mov eax, dword [ebp - 0x70]
mov ecx, dword [0x11e47bc]
and dword [ebp - 0x30], 0
and dword [ebp - 0x2c], 0
and eax, edi
mov dword [ebp - 0x18], eax
and ebx, edi
add esp, 0x10
add ebx, esi
mov edi, 0xfffff000
mov eax, esi
sub eax, ecx
mov dword [ebp - 0x38], eax
jne 0x10b6b28
xor esi, esi
cmp dword [ebp - 0x18], esi
jbe 0x10b6d1b
mov edi, 0x328f5a12
movzx ecx, byte [esi + ebx]
sub ecx, edi
add dword [ebp - 0x30], ecx
add ecx, dword [ebp - 0x2c]
mov eax, ecx
imul eax, eax, 0x41b
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
mov ecx, 0xcd70a5ee
mul ecx
add eax, edx
imul eax, eax, 0xcd70a5ee
ror eax, 0x1b
add dword [ebp - 0x30], eax
inc esi
mov dword [ebp - 0x2c], eax
cmp esi, dword [ebp - 0x18]
jb 0x10b6aca
jmp 0x10b6d1b
mov eax, dword [0x1116588]
imul eax, dword [ebp - 0x1c]
lea eax, [eax + section..data]
mov dword [ebp - 0x14], eax
jmp 0x10b6972
mov dword [ebp - 0x14], eax
jmp 0x10b69b7
mov edx, dword [0x100003c]
mov ecx, ebx
lea edx, [edx + 0x10000a0]
mov eax, dword [ebp - 0x18]
add eax, ebx
mov dword [ebp - 0x28], eax
mov eax, dword [edx]
add eax, esi
mov edx, dword [edx + 4]
mov dword [ebp - 0x20], edx
sub ecx, esi
mov edx, ecx
and edx, edi
mov esi, ecx
sub esi, edx
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x18]
add ecx, esi
mov esi, ecx
and esi, edi
sub ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x68], esi
mov esi, eax
add ecx, eax
mov dword [ebp - 0x60], ecx
cmp eax, ecx
je 0x10b6b7f
cmp dword [esi], edx
jae 0x10b6b7f
add esi, dword [esi + 4]
cmp esi, ecx
jne 0x10b6b74
and dword [ebp - 0x58], 0
cmp esi, ecx
je 0x10b6bb0
cmp dword [esi], edx
jne 0x10b6bb0
mov eax, dword [esi + 4]
sub eax, 8
shr eax, 1
je 0x10b6bb0
lea ecx, [esi + 8]
movzx edx, word [ecx]
and edx, 0xfff
cmp edx, dword [ebp - 0x24]
jae 0x10b6bb0
inc dword [ebp - 0x58]
inc ecx
inc ecx
cmp dword [ebp - 0x58], eax
jne 0x10b6b98
mov edi, 0x328f5a12
mov ecx, 0xfff
cmp esi, dword [ebp - 0x60]
je 0x10b6cd5
mov eax, dword [esi]
cmp eax, dword [ebp - 0x68]
ja 0x10b6cd5
mov edx, dword [ebp - 0x58]
mov eax, dword [esi + 4]
add eax, 0xfffffff8
shr eax, 1
cmp edx, eax
jne 0x10b6bf8
add esi, dword [esi + 4]
cmp esi, dword [ebp - 0x60]
je 0x10b6cd5
mov eax, dword [ebp - 0x68]
cmp dword [esi], eax
ja 0x10b6cd5
xor edx, edx
jmp 0x10b6bd1
mov eax, dword [ebp - 0x68]
cmp dword [esi], eax
jne 0x10b6c0f
movzx eax, word [esi + edx*2 + 8]
and eax, ecx
cmp eax, dword [ebp - 0x64]
jae 0x10b6cd5
mov eax, edx
inc edx
mov dword [ebp - 0x58], edx
mov edx, 0xf000
test word [esi + eax*2 + 8], dx
je 0x10b6bba
movzx eax, word [esi + eax*2 + 8]
and dword [ebp - 0x18], 0
and eax, ecx
mov ecx, dword [esi]
lea eax, [eax + ecx + 0x1000000]
mov dword [ebp - 0x34], eax
sub dword [ebp - 0x34], ebx
mov dword [ebp - 0x24], eax
je 0x10b6c82
mov eax, dword [ebp - 0x18]
movzx ecx, byte [ebx + eax]
sub ecx, edi
add dword [ebp - 0x30], ecx
add ecx, dword [ebp - 0x2c]
mov eax, ecx
imul eax, eax, 0x41b
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
mov ecx, 0xcd70a5ee
mul ecx
add eax, edx
imul eax, eax, 0xcd70a5ee
ror eax, 0x1b
add dword [ebp - 0x30], eax
inc dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x34]
jb 0x10b6c40
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
sub eax, dword [ebp - 0x38]
xor ebx, ebx
mov dword [ebp - 0x54], eax
movzx ecx, byte [ebp + ebx - 0x54]
sub ecx, edi
add dword [ebp - 0x30], ecx
add ecx, dword [ebp - 0x2c]
mov eax, ecx
imul eax, eax, 0x41b
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
mov ecx, 0xcd70a5ee
mul ecx
add eax, edx
imul eax, eax, 0xcd70a5ee
ror eax, 0x1b
add dword [ebp - 0x30], eax
inc ebx
mov dword [ebp - 0x2c], eax
cmp ebx, 4
jb 0x10b6c8f
mov ebx, dword [ebp - 0x24]
add ebx, 4
jmp 0x10b6bb5
xor esi, esi
mov eax, dword [ebp - 0x28]
sub eax, ebx
mov dword [ebp - 0x20], eax
je 0x10b6d1b
movzx ecx, byte [esi + ebx]
sub ecx, edi
add dword [ebp - 0x30], ecx
add ecx, dword [ebp - 0x2c]
mov eax, ecx
imul eax, eax, 0x41b
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
mov ecx, 0xcd70a5ee
mul ecx
add eax, edx
imul eax, eax, 0xcd70a5ee
ror eax, 0x1b
add dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
inc esi
cmp esi, dword [ebp - 0x20]
jb 0x10b6ce1
xor ebx, ebx
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0x30]
mov byte [ebp + eax - 0xc], cl
inc eax
cmp eax, 8
jb 0x10b6d1f
mov eax, 0x956450f9
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
and eax, 7
mov dword [ebp - 0x20], eax
je 0x10b6ef8
cmp eax, ebx
mov esi, dword [ebp - 0x48]
not esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x14], ebx
jle 0x10b6d8a
push 0x38
pop edx
cmp dword [ebp - 0x14], 4
movzx ebx, byte [edi]
jge 0x10b6d77
lea ecx, [edx - 0x20]
shl ebx, cl
or dword [ebp - 0x38], ebx
jmp 0x10b6d7e
mov ecx, edx
shl ebx, cl
or dword [ebp - 0x18], ebx
inc edi
inc dword [ebp - 0x14]
sub edx, 8
cmp dword [ebp - 0x14], eax
jl 0x10b6d64
movzx edx, word [ebp - 8]
mov eax, esi
mov ecx, dword [ebp - 0xc]
sub ecx, esi
mov dword [ebp - 0x28], edx
rol ecx, 0xc
imul edx, ecx
movzx ecx, word [ebp - 0xc]
ror eax, 0x10
mov dword [ebp - 0x24], ecx
xor eax, edx
movzx edx, word [ebp - 0xa]
xor eax, dword [ebp - 0x48]
xor ecx, eax
imul ecx, edx
mov ebx, eax
ror ebx, 5
xor ebx, ecx
xor esi, ebx
mov ebx, dword [ebp - 0x24]
mov ecx, esi
mov dword [ebp - 0x14], edx
sub ecx, dword [ebp - 8]
mov edx, esi
ror ecx, 0xb
imul ebx, ecx
rol edx, 7
add edx, ebx
mov ebx, dword [ebp - 0x28]
xor eax, edx
movzx ecx, word [ebp - 6]
mov edx, dword [ebp - 0x28]
xor edx, eax
imul edx, ecx
mov dword [ebp - 0x34], ecx
mov ecx, eax
shr ecx, 5
xor edx, ecx
xor esi, edx
mov ecx, esi
sub ecx, dword [ebp - 0xc]
mov edx, esi
rol ecx, 0xb
imul ebx, ecx
ror edx, 0xe
xor edx, ebx
mov ebx, dword [ebp - 0x14]
xor eax, edx
mov ecx, eax
sub ecx, dword [ebp - 8]
mov edx, eax
ror ecx, 1
imul ebx, ecx
mov ecx, dword [ebp - 0x34]
rol edx, 0xb
xor edx, ebx
mov ebx, dword [ebp - 0x24]
xor esi, edx
xor ecx, esi
mov edx, esi
rol ecx, 7
imul ebx, ecx
mov ecx, dword [ebp - 0xc]
ror edx, 2
xor edx, ebx
mov ebx, ecx
xor eax, edx
mov edx, dword [ebp - 8]
xor edx, eax
sub ebx, edx
xor esi, ebx
mov edx, dword [ebp - 0x28]
mov ebx, esi
add ecx, esi
rol ecx, 7
imul edx, ecx
ror ebx, 3
sub edx, ebx
xor eax, edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
xor edx, eax
rol edx, 6
imul ecx, edx
mov edx, eax
shr edx, 8
sub ecx, edx
mov edx, dword [ebp - 0x24]
xor esi, ecx
mov ebx, esi
mov ecx, dword [ebp - 8]
and dword [ebp - 0x14], 0
xor ecx, esi
rol ecx, 2
imul edx, ecx
xor esi, dword [ebp - 0x18]
mov ecx, esi
rol ebx, 0xf
add ebx, edx
xor ebx, dword [ebp - 0x38]
xor eax, ebx
mov ebx, dword [ebp - 0x20]
test ebx, ebx
mov dword [ebp - 0x28], eax
jle 0x10b6ece
cmp dword [ebp - 0x14], 4
jge 0x10b6eb5
rol dword [ebp - 0x28], 8
mov dl, byte [ebp - 0x28]
mov ebx, dword [ebp - 0x40]
inc dword [ebp - 0x40]
xor byte [ebp - 0xd], dl
mov byte [ebx], dl
jmp 0x10b6ec3
mov edx, dword [ebp - 0x40]
inc dword [ebp - 0x40]
rol ecx, 8
xor byte [ebp - 0xd], cl
mov byte [edx], cl
inc dword [ebp - 0x14]
mov ebx, dword [ebp - 0x20]
cmp dword [ebp - 0x14], ebx
jl 0x10b6e9b
add ebx, 0xfffffffc
test ebx, ebx
jle 0x10b6ee5
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr esi, cl
shl esi, cl
mov edx, esi
jmp 0x10b6f07
xor edx, edx
test ebx, ebx
jge 0x10b6f07
neg ebx
shl ebx, 3
mov ecx, ebx
shr eax, cl
shl eax, cl
jmp 0x10b6f07
xor edx, edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
not eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov ecx, dword [ebp - 0x3c]
shr ecx, 3
test ecx, ecx
jbe 0x10b70c8
movzx esi, word [ebp - 6]
mov dword [ebp - 0x34], esi
movzx esi, word [ebp - 0xa]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], ecx
movzx ecx, byte [edi + 1]
movzx esi, byte [edi]
shl esi, 8
or ecx, esi
shl ecx, 8
movzx esi, byte [edi + 2]
or ecx, esi
movzx esi, byte [edi + 3]
shl ecx, 8
or ecx, esi
movzx esi, byte [edi + 5]
mov dword [ebp - 0x28], ecx
movzx ecx, byte [edi + 4]
shl ecx, 8
or ecx, esi
shl ecx, 8
movzx esi, byte [edi + 6]
or ecx, esi
movzx esi, byte [edi + 7]
shl ecx, 8
or ecx, esi
xor edx, ecx
mov ebx, edx
movzx esi, word [ebp - 8]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0xc]
sub ecx, edx
add edi, 8
rol ecx, 0xc
imul esi, ecx
ror ebx, 0x10
movzx ecx, word [ebp - 0xc]
xor ebx, esi
xor ebx, dword [ebp - 0x28]
xor eax, ebx
xor ecx, eax
imul ecx, dword [ebp - 0x14]
mov esi, eax
ror esi, 5
xor esi, ecx
xor edx, esi
movzx esi, word [ebp - 0xc]
mov ebx, edx
mov ecx, edx
sub ecx, dword [ebp - 8]
ror ecx, 0xb
imul esi, ecx
rol ebx, 7
add ebx, esi
xor eax, ebx
movzx esi, word [ebp - 8]
mov ebx, eax
mov ecx, esi
xor ecx, eax
imul ecx, dword [ebp - 0x34]
shr ebx, 5
xor ecx, ebx
xor edx, ecx
mov ecx, edx
mov ebx, edx
sub ecx, dword [ebp - 0xc]
rol ecx, 0xb
imul esi, ecx
ror ebx, 0xe
xor ebx, esi
xor eax, ebx
mov esi, eax
mov ecx, eax
mov ebx, dword [ebp - 0x14]
sub ecx, dword [ebp - 8]
ror ecx, 1
imul ebx, ecx
mov ecx, dword [ebp - 0x34]
rol esi, 0xb
xor esi, ebx
xor edx, esi
mov ebx, edx
movzx esi, word [ebp - 0xc]
xor ecx, edx
rol ecx, 7
ror ebx, 2
imul esi, ecx
mov ecx, dword [ebp - 0xc]
xor ebx, esi
xor eax, ebx
mov esi, dword [ebp - 8]
xor esi, eax
mov ebx, ecx
sub ebx, esi
xor edx, ebx
movzx esi, word [ebp - 8]
mov ebx, edx
add ecx, edx
rol ecx, 7
imul esi, ecx
ror ebx, 3
sub esi, ebx
mov ecx, dword [ebp - 8]
xor eax, esi
xor ecx, eax
mov esi, dword [ebp - 0x14]
rol ecx, 6
imul esi, ecx
mov ecx, eax
shr ecx, 8
sub esi, ecx
xor edx, esi
movzx esi, word [ebp - 0xc]
mov ebx, edx
mov ecx, dword [ebp - 8]
xor ecx, edx
rol ecx, 2
imul esi, ecx
mov cl, byte [ebp - 0xd]
xor edx, dword [ebp - 0x18]
rol ebx, 0xf
add ebx, esi
xor ebx, dword [ebp - 0x38]
xor eax, ebx
xor cl, al
xor cl, dl
mov esi, dword [ebp - 0x40]
mov byte [esi + 3], al
mov byte [esi + 7], dl
ror eax, 8
mov byte [esi + 2], al
xor cl, al
ror edx, 8
xor cl, dl
mov byte [esi + 6], dl
ror eax, 8
xor cl, al
mov byte [esi + 1], al
ror edx, 8
xor cl, dl
ror eax, 8
mov byte [esi + 5], dl
ror edx, 8
mov bl, dl
xor bl, al
xor cl, bl
mov byte [ebp - 0xd], cl
mov ecx, dword [ebp - 0x28]
mov byte [esi], al
mov byte [esi + 4], dl
mov dword [ebp - 0x38], ecx
add esi, 8
mov ecx, dword [ebp - 0x24]
dec dword [ebp - 0x20]
ror eax, 8
ror edx, 8
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x40], esi
jne 0x10b6f26
movzx ecx, byte [ebp - 0xd]
mov eax, dword [ebp - 0x4c]
movzx eax, byte [eax + 8]
sub ecx, eax
je 0x10b7162
call fcn.01244f80
mov ecx, dword [ebp - 0x44]
and ecx, 0xfffffffc
mov esi, eax
mov edi, ecx
mov edx, 0xffff
mov eax, 0xfffff000
lea ecx, [edi + 0xfff]
and esi, eax
and ecx, eax
mov eax, dword [ebp - 0x6c]
mov dword [eax + 8], 0x10d8814
xor eax, eax
mov ebx, dword [0x12d47a4]
imul ebx, ebx, 0x343fd
add ebx, 0x269ec3
mov dword [0x12d47a4], ebx
shr ebx, 0x10
shl eax, 0x10
shr edx, 0x10
or eax, ebx
test edx, edx
jne 0x10b710a
mov ebx, 0xffff
div ebx
inc edx
mov eax, edi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x44], 0
cmp edi, ecx
jae 0x10b7158
mov edx, dword [ebp - 0x44]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jb 0x10b714c
mov eax, 0x10d8814
jmp 0x10b7233
mov edx, dword [0x11e47bc]
mov ecx, 0x1000000
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x1c]
sub ecx, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x44], ecx
jne 0x10b7185
test eax, eax
je 0x10b7226
mov ecx, dword [0x11efd70]
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
sub esi, dword [ebp - 0x50]
add eax, ebx
mov dword [ebp - 0x54], eax
xor edi, edi
dec ecx
js 0x10b71c8
lea eax, [edi + ecx]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x11efd74]
and edx, 0xfffffff
cmp ebx, edx
jae 0x10b71bf
lea ecx, [eax - 1]
jmp 0x10b71c4
jbe 0x10b71cc
lea edi, [eax + 1]
cmp ecx, edi
jge 0x10b71a1
mov ebx, edi
jmp 0x10b721e
mov ebx, eax
jmp 0x10b721e
mov eax, dword [ebx*4 + 0x11efd74]
mov ecx, eax
and ecx, 0xfffffff
cmp ecx, dword [ebp - 0x54]
jae 0x10b7226
lea edi, [ecx + esi + 0x1000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x10b7211
dec ecx
je 0x10b720c
dec ecx
jne 0x10b7217
mov edx, dword [ebp - 0x44]
jmp 0x10b7217
mov edx, dword [ebp - 0x20]
jmp 0x10b7217
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x20]
dec eax
dec eax
jne 0x10b721d
add dword [edi], edx
inc ebx
cmp ebx, dword [0x11efd70]
jb 0x10b71d0
mov eax, dword [0x1116588]
mov eax, 0xb32565c6
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x88]
mov esp, ebp
pop ebp
popfd
ret