Function at 0x10191850
Capabilities:
Check for software breakpoints
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0xd28
mov eax, dword [0x101f9834]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 0x18]
mov edx, ecx
imul eax, dword [ebx + 0x3c]
push esi
mov esi, dword [ebx + 0x4c]
mov dword [ebp - 0xc2c], edx
push edi
movzx edi, word [edx + 0x26]
mov dword [ebp - 0xc0c], edi
movd xmm0, eax
mov eax, dword [ebx + 0x48]
pshufd xmm1, xmm0, 0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xc20], ecx
mov dword [ebp - 0xc54], eax
test esi, esi
je 0x101918ca
mov ecx, edi
mov eax, esi
sub ecx, dword [ebx + 0x3c]
sub eax, dword [ebx + 0x3c]
cmp esi, edi
cmova eax, ecx
mov dword [ebp - 0xc0c], eax
movzx eax, word [edx + 0x24]
cdq
sub eax, dword [ebx + 0x34]
mov ecx, edx
mov edx, dword [ebx + 0x30]
sbb ecx, dword [ebx + 0x38]
mov dword [ebp - 0xc24], eax
mov dword [ebp - 0xc10], ecx
test ecx, ecx
jb 0x10191911
ja 0x101918f0
cmp eax, edx
jbe 0x10191900
mov eax, edx
xor ecx, ecx
mov dword [ebp - 0xc24], eax
mov dword [ebp - 0xc10], ecx
test ecx, ecx
jne 0x10191911
cmp eax, 8
ja 0x10191911
add eax, 0xffffffff
adc ecx, 0xffffffff
jmp 0x10191918
mov eax, 8
xor ecx, ecx
movups xmm0, xmmword [ebx + 8]
push ecx
push eax
push dword [ebx + 0x24]
paddd xmm1, xmm0
mov dword [ebp - 0xc34], ecx
push dword [ebx + 0x20]
mov dword [ebp - 0xc30], eax
movaps xmmword [ebp - 0xd20], xmm1
movups xmmword [ebp - 0x18], xmm1
call fcn.1019d680
mov dword [ebp - 0x1c], edx
lea esi, [ebp - 0x358]
mov edi, 2
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmmword [ebp - 0xd20]
movups xmmword [ebp - 0x28], xmm0
mov ecx, esi
call fcn.1018be90
add esi, 0x198
sub edi, 1
jne 0x10191967
mov eax, dword [ebx + 0x24]
mov esi, eax
mov ecx, dword [ebx + 0x20]
mov edi, ecx
push 0
push dword [ebx + 0x18]
shld esi, edi, 3
push eax
push ecx
push 0
push 8
push esi
shl edi, 3
lea eax, [ebp - 0x18]
push edi
push 0
push 8
push 0
push 8
push dword [ebp - 0xc10]
lea ecx, [ebp - 0x358]
push dword [ebp - 0xc24]
push 0
push dword [ebp - 0xc0c]
push eax
call fcn.100e6320
push 0
push dword [ebx + 0x18]
mov eax, dword [ebp - 0xc24]
push dword [ebx + 0x24]
sub eax, dword [ebp - 0xc30]
push dword [ebx + 0x20]
mov ecx, dword [ebp - 0xc10]
sbb ecx, dword [ebp - 0xc34]
push 0
push 8
push esi
push edi
push 0
push 8
push 0
push 8
push ecx
push eax
push 0
push dword [ebp - 0xc0c]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.100e6320
mov esi, dword [ebx + 0x4c]
mov edi, dword [ebp - 0xc2c]
test esi, esi
jne 0x10191a52
mov eax, dword [edi + 0x30]
mov ecx, dword [ebp - 0xc20]
mov dword [ebp - 0xc24], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0xc44], eax
mov eax, dword [edi + 0x38]
mov dword [ebp - 0xc0c], eax
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xc10], eax
mov eax, dword [ebp - 0xc54]
shrd ecx, eax, 2
shr eax, 2
jmp 0x10191aa7
sub esi, dword [ebx + 0x3c]
xor edx, edx
movzx ecx, byte [edi + 0x40]
mov eax, esi
div ecx
movzx ecx, byte [edi + 0x41]
xor edx, edx
mov dword [ebp - 0xc24], eax
mov eax, esi
div ecx
movzx ecx, byte [edi + 0x42]
xor edx, edx
mov dword [ebp - 0xc44], eax
mov eax, esi
div ecx
movzx ecx, byte [edi + 0x43]
xor edx, edx
mov dword [ebp - 0xc0c], eax
mov eax, esi
div ecx
mov ecx, dword [ebp - 0xc20]
mov dword [ebp - 0xc10], eax
mov eax, dword [ebp - 0xc54]
shrd ecx, eax, 1
shr eax, 1
mov esi, dword [ebx + 0x30]
xor edx, edx
mov dword [ebp - 0xc54], eax
mov eax, esi
mov dword [ebp - 0xc40], ecx
movzx ecx, byte [edi + 0x44]
div ecx
movzx ecx, byte [edi + 0x45]
xor edx, edx
mov dword [ebp - 0xc34], eax
mov eax, esi
div ecx
movzx ecx, byte [edi + 0x46]
xor edx, edx
mov dword [ebp - 0xc3c], eax
mov eax, esi
div ecx
movzx ecx, byte [edi + 0x47]
xor edx, edx
mov dword [ebp - 0xc38], eax
mov eax, esi
div ecx
lea esi, [ebp - 0x638]
mov dword [ebp - 0xc18], eax
mov eax, dword [edi + 0x30]
mov edi, 2
shl eax, 3
mov dword [ebp - 0xc30], eax
nop dword [eax]
mov ecx, esi
call fcn.1018a270
add esi, 0x170
sub edi, 1
jne 0x10191b10
push edi
push 1
push edi
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp - 0xc20]
push 8
push edi
mov esi, dword [ecx]
add eax, eax
push 0x40
push edi
push dword [ebp - 0xc30]
mov dword [ebp - 0xc48], eax
lea ecx, [ebp - 0x638]
push edi
push 8
push edi
push 8
push edi
push dword [ebp - 0xc34]
add eax, esi
push edi
push dword [ebp - 0xc24]
mov dword [ebp - 0xc14], eax
lea eax, [ebp - 0xc14]
push eax
call fcn.100e6320
mov edi, dword [ebp - 0xc2c]
mov ecx, dword [ebp - 0xc20]
push 0
push 1
mov eax, dword [edi + 0x30]
push 0
push 8
push 0
push 0x40
push 0
push dword [ebp - 0xc30]
lea eax, [ecx + eax*8]
push 0
push 8
push 0
lea eax, [esi + eax*2]
push 8
mov dword [ebp - 0xc14], eax
lea ecx, [ebp - 0x4c8]
mov eax, dword [ebp - 0xc34]
push 0
add eax, 0xfffffff8
push eax
push 0
push dword [ebp - 0xc24]
lea eax, [ebp - 0xc14]
push eax
call fcn.100e6320
mov eax, dword [ebx + 0x44]
mov esi, dword [ebp - 0xc40]
push 0
push 1
mov eax, dword [eax + 4]
add esi, esi
push 0
push 8
push 0
push 0x40
push 0
add eax, esi
mov dword [ebp - 0xc14], eax
mov eax, dword [edi + 0x34]
shl eax, 3
push eax
push 0
push 8
push 0
push 8
push 0
push dword [ebp - 0xc3c]
lea eax, [ebp - 0xc14]
push 0
push dword [ebp - 0xc44]
push eax
lea ecx, [ebp - 0xa88]
call fcn.100e6320
mov ecx, dword [ebx + 0x44]
push 0
push 1
push 0
mov eax, dword [ecx + 8]
lea ecx, [ebp - 0xbf8]
push 8
push 0
push 0x40
push 0
add eax, esi
mov dword [ebp - 0xc14], eax
mov eax, dword [edi + 0x38]
shl eax, 3
push eax
push 0
push 8
push 0
push 8
push 0
push dword [ebp - 0xc38]
lea eax, [ebp - 0xc14]
push 0
push dword [ebp - 0xc0c]
push eax
call fcn.100e6320
lea esi, [ebp - 0x918]
mov edi, 2
nop dword [eax]
mov ecx, esi
call fcn.1018a270
add esi, 0x170
sub edi, 1
jne 0x10191c80
mov edi, dword [ebp - 0xc2c]
lea ecx, [ebp - 0x918]
push 0
push 1
mov eax, dword [ebx + 0x44]
mov edi, dword [edi + 0x3c]
push 0
push 8
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0xc48]
push 0
push 0x40
push 0
shl edi, 3
add eax, esi
push edi
push 0
push 8
push 0
push 8
push 0
push dword [ebp - 0xc18]
mov dword [ebp - 0xc14], eax
lea eax, [ebp - 0xc14]
push 0
push dword [ebp - 0xc10]
push eax
call fcn.100e6320
mov eax, dword [ebp - 0xc20]
lea ecx, [ebp - 0x7a8]
push 0
push 1
push 0
push 8
push 0
push 0x40
push 0
push edi
push 0
add eax, edi
push 8
push 0
push 8
lea eax, [esi + eax*2]
mov dword [ebp - 0xc14], eax
mov eax, dword [ebp - 0xc18]
push 0
add eax, 0xfffffff8
push eax
push 0
push dword [ebp - 0xc10]
lea eax, [ebp - 0xc14]
push eax
call fcn.100e6320
nop dword [eax]
mov eax, dword [ebp - 0xa38]
add eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xba8]
add eax, eax
mov dword [ebp - 0xc54], eax
nop dword [eax]
mov eax, dword [ebp - 0x928]
lea edi, [ebp - 0x358]
xor esi, esi
mov dword [ebp - 0xc24], 0
mov dword [ebp - 0xc30], edi
mov dword [ebp - 0xc34], esi
mov ecx, dword [ebp + eax*8 - 0x978]
mov eax, dword [ebp - 0x930]
mov eax, dword [ebp + eax*4 - 0xa08]
lea edx, [eax + ecx*2]
mov eax, dword [ebp - 0xa98]
mov dword [ebp - 0xc40], edx
mov ecx, dword [ebp + eax*8 - 0xae8]
mov eax, dword [ebp - 0xaa0]
mov eax, dword [ebp + eax*4 - 0xb78]
lea ecx, [eax + ecx*2]
sub ecx, edx
mov dword [ebp - 0xd14], ecx
nop word [eax + eax]
lea eax, [ecx + edx]
mov dword [ebp - 0xc3c], edx
mov dword [ebp - 0xc38], eax
lea eax, [edx + 8]
add eax, ecx
mov dword [ebp - 0xc14], 2
lea edx, [ebp - 0x638]
mov dword [ebp - 0xd10], eax
add edx, esi
lea esi, [ebp + esi - 0x918]
mov dword [ebp - 0xc44], edx
mov dword [ebp - 0xcf4], esi
nop
mov eax, dword [edx + 0x160]
mov ecx, dword [edx + eax*8 + 0x110]
mov eax, dword [edx + 0x158]
mov eax, dword [edx + eax*4 + 0x80]
lea eax, [eax + ecx*2]
mov dword [ebp - 0xc48], eax
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + eax*8 + 0x110]
mov eax, dword [esi + 0x158]
mov eax, dword [esi + eax*4 + 0x80]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xc34]
mov dword [ebp - 0xc5c], eax
add dword [ebp + ecx - 0x4e0], 1
mov edi, dword [ebp + ecx - 0x4e0]
adc dword [ebp + ecx - 0x4dc], 0
add dword [ebp + ecx - 0x7c0], 1
mov eax, dword [ebp + ecx - 0x4dc]
adc dword [ebp + ecx - 0x7bc], 0
mov edx, dword [ebp + ecx - 0x7c0]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + ecx - 0x7bc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc44]
mov dword [ebp + ecx - 0x4d8], 0
mov dword [ebp + ecx - 0x4d4], 0
mov dword [ebp + ecx - 0x7b8], 0
mov dword [ebp + ecx - 0x7b4], 0
mov ecx, dword [eax + 0x110]
mov eax, dword [eax + edi*4 + 0x80]
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x110]
mov dword [ebp - 0xc18], eax
mov eax, dword [esi + edx*4 + 0x80]
mov edx, dword [ebp - 0xc3c]
mov esi, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], 4
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xc48]
mov dword [ebp - 0xc0c], eax
lea eax, [edx + 4]
mov dword [ebp - 0xc2c], eax
lea eax, [ecx + 4]
mov dword [ebp - 0xc10], eax
lea eax, [esi + 4]
mov dword [ebp - 0xc20], eax
mov eax, dword [ebp - 0xc5c]
sub ecx, eax
sub edx, esi
mov esi, dword [ebp - 0xc30]
lea edi, [eax + 4]
lea eax, [ecx - 4]
mov dword [ebp - 0xc28], edi
mov dword [ebp - 0xd00], eax
lea eax, [edx - 4]
mov dword [ebp - 0xcf8], eax
nop
mov ecx, dword [esi + 0xe0]
mov eax, dword [esi + 0xe8]
mov edx, dword [esi + eax*8 + 0x88]
mov eax, dword [esi + ecx*4 + 0x108]
add eax, edx
mov dword [ebp - 0xc04], eax
mov eax, dword [ebp - 0xc24]
add eax, ecx
mov ecx, dword [ebp + eax*4 - 0x22c]
mov edi, dword [ebp + eax*4 - 0x1e4]
add ecx, edx
mov dword [ebp - 0xc00], ecx
add edi, edx
mov ecx, dword [ebp + eax*4 - 0x208]
mov eax, dword [ebp - 0xc04]
add ecx, edx
mov dword [ebp - 0xc08], ecx
mov edx, 0x1020855c
movzx eax, byte [eax]
movzx ecx, byte [ecx]
mov dword [ebp - 0xc8c], eax
mov eax, dword [ebp - 0xc00]
mov dword [ebp - 0xcec], ecx
movzx eax, byte [eax]
mov dword [ebp - 0xc4c], eax
mov al, byte [edi]
mov byte [ebp - 0xbf9], al
lea eax, [ecx*4]
sub edx, eax
add edi, dword [ebx + 0x18]
mov eax, dword [ebp - 0xc4c]
mov ecx, 0x1020895c
shl eax, 2
sub ecx, eax
mov eax, dword [ebp - 0xc8c]
movzx edx, word [edx]
shl eax, 2
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xd00]
add dx, word [ecx]
mov ecx, dword [ebp - 0xc28]
mov word [eax + ecx], dx
mov edx, 0x80
movzx eax, byte [ebp - 0xbf9]
sub ax, dx
mov edx, dword [ebp - 0xc04]
add edx, dword [ebx + 0x18]
shl ax, 4
mov word [ecx - 4], ax
mov ecx, dword [ebp - 0xc00]
add ecx, dword [ebx + 0x18]
mov eax, dword [ebp - 0xc08]
add eax, dword [ebx + 0x18]
mov dword [ebp - 0xc00], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xc98], ecx
movzx ecx, byte [eax]
mov dword [ebp - 0xc08], eax
mov al, byte [edi]
mov dword [ebp - 0xc04], edx
movzx edx, byte [edx]
mov dword [ebp - 0xc88], edx
mov edx, 0x1020855c
mov byte [ebp - 0xbf9], al
lea eax, [ecx*4]
sub edx, eax
mov dword [ebp - 0xce0], ecx
mov eax, dword [ebp - 0xc98]
mov ecx, 0x1020895c
shl eax, 2
sub ecx, eax
mov eax, dword [ebp - 0xc88]
movzx edx, word [edx]
shl eax, 2
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc10]
add dx, word [ecx]
mov word [eax - 2], dx
mov ecx, 0x80
movzx eax, byte [ebp - 0xbf9]
sub ax, cx
mov edx, dword [ebp - 0xc04]
mov ecx, dword [ebp - 0xc28]
add edx, dword [ebx + 0x18]
add edi, dword [ebx + 0x18]
shl ax, 4
mov word [ecx - 2], ax
mov ecx, dword [ebp - 0xc00]
add ecx, dword [ebx + 0x18]
mov eax, dword [ebp - 0xc08]
add eax, dword [ebx + 0x18]
mov dword [ebp - 0xc00], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xc08], eax
mov dword [ebp - 0xcb0], ecx
movzx ecx, byte [eax]
mov al, byte [edi]
mov byte [ebp - 0xbf9], al
mov dword [ebp - 0xc04], edx
movzx edx, byte [edx]
lea eax, [ecx*4]
mov dword [ebp - 0xca0], edx
mov edx, 0x1020855c
sub edx, eax
mov dword [ebp - 0xcc0], ecx
mov eax, dword [ebp - 0xcb0]
mov ecx, 0x1020895c
shl eax, 2
sub ecx, eax
add edi, dword [ebx + 0x18]
movzx edx, word [edx]
mov eax, dword [ebp - 0xca0]
shl eax, 2
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc10]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax], dx
movzx eax, byte [ebp - 0xbf9]
mov edx, dword [ebp - 0xc04]
sub ax, cx
mov ecx, dword [ebp - 0xc28]
add edx, dword [ebx + 0x18]
shl ax, 4
mov dword [ebp - 0xc04], edx
mov word [ecx], ax
mov ecx, dword [ebp - 0xc00]
add ecx, dword [ebx + 0x18]
mov eax, dword [ebp - 0xc08]
add eax, dword [ebx + 0x18]
movzx edx, byte [edx]
mov dword [ebp - 0xc00], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xcac], ecx
movzx ecx, byte [eax]
mov dword [ebp - 0xc08], eax
mov al, byte [edi]
mov dword [ebp - 0xc9c], edx
mov edx, 0x1020855c
mov byte [ebp - 0xbf9], al
lea eax, [ecx*4]
sub edx, eax
mov dword [ebp - 0xd0c], ecx
mov eax, dword [ebp - 0xcac]
mov ecx, 0x1020895c
shl eax, 2
sub ecx, eax
mov eax, dword [ebp - 0xc9c]
movzx edx, word [edx]
shl eax, 2
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc10]
add dx, word [ecx]
mov word [eax + 2], dx
movzx eax, byte [ebp - 0xbf9]
mov ecx, 0x80
sub ax, cx
mov edx, dword [ebp - 0xc04]
mov ecx, dword [ebp - 0xc28]
add edx, dword [ebx + 0x18]
add edi, dword [ebx + 0x18]
shl ax, 4
mov word [ecx + 2], ax
mov ecx, dword [ebp - 0xc00]
add ecx, dword [ebx + 0x18]
mov eax, dword [ebp - 0xc08]
add eax, dword [ebx + 0x18]
mov dword [ebp - 0xc00], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xc08], eax
mov dword [ebp - 0xc74], ecx
movzx ecx, byte [eax]
mov al, byte [edi]
mov byte [ebp - 0xbf9], al
mov dword [ebp - 0xc04], edx
movzx edx, byte [edx]
lea eax, [ecx*4]
mov dword [ebp - 0xcb4], edx
mov edx, 0x1020855c
sub edx, eax
mov dword [ebp - 0xcd8], ecx
mov eax, dword [ebp - 0xc74]
mov ecx, 0x1020895c
shl eax, 2
sub ecx, eax
add edi, dword [ebx + 0x18]
movzx edx, word [edx]
mov eax, dword [ebp - 0xcb4]
shl eax, 2
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc10]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax + 4], dx
movzx eax, byte [ebp - 0xbf9]
mov edx, dword [ebp - 0xc04]
sub ax, cx
mov ecx, dword [ebp - 0xc28]
add edx, dword [ebx + 0x18]
shl ax, 4
mov dword [ebp - 0xc04], edx
mov word [ecx + 4], ax
mov ecx, dword [ebp - 0xc00]
add ecx, dword [ebx + 0x18]
mov eax, dword [ebp - 0xc08]
add eax, dword [ebx + 0x18]
movzx edx, byte [edx]
mov dword [ebp - 0xc00], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xc08], eax
mov dword [ebp - 0xc70], ecx
movzx ecx, byte [eax]
mov al, byte [edi]
mov byte [ebp - 0xbf9], al
mov dword [ebp - 0xc80], edx
mov edx, 0x1020855c
lea eax, [ecx*4]
mov dword [ebp - 0xcd4], ecx
sub edx, eax
mov ecx, 0x1020895c
mov eax, dword [ebp - 0xc70]
shl eax, 2
sub ecx, eax
mov eax, dword [ebp - 0xc80]
movzx edx, word [edx]
shl eax, 2
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc10]
add dx, word [ecx]
mov word [eax + 6], dx
movzx eax, byte [ebp - 0xbf9]
mov edx, dword [ebp - 0xc04]
mov ecx, 0x80
sub ax, cx
add edx, dword [ebx + 0x18]
mov ecx, dword [ebp - 0xc28]
shl ax, 4
add edi, dword [ebx + 0x18]
mov dword [ebp - 0xc04], edx
mov word [ecx + 6], ax
movzx edx, byte [edx]
mov ecx, dword [ebp - 0xc00]
add ecx, dword [ebx + 0x18]
mov eax, dword [ebp - 0xc08]
add eax, dword [ebx + 0x18]
mov dword [ebp - 0xc08], eax
mov dword [ebp - 0xc00], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xc48], ecx
movzx ecx, byte [eax]
mov al, byte [edi]
mov byte [ebp - 0xbf9], al
mov dword [ebp - 0xc7c], edx
mov edx, 0x1020855c
lea eax, [ecx*4]
mov dword [ebp - 0xce8], ecx
sub edx, eax
mov ecx, 0x1020895c
mov eax, dword [ebp - 0xc48]
shl eax, 2
sub ecx, eax
mov eax, dword [ebp - 0xc7c]
movzx edx, word [edx]
shl eax, 2
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc10]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax + 8], dx
movzx eax, byte [ebp - 0xbf9]
mov edx, dword [ebx + 0x18]
sub ax, cx
mov ecx, dword [ebp - 0xc28]
shl ax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xc04]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xc78], eax
mov eax, dword [ebp - 0xc00]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xc5c], eax
mov eax, dword [ebp - 0xc08]
movzx ecx, byte [eax + edx]
mov al, byte [edi + edx]
mov edx, 0x1020855c
mov byte [ebp - 0xbf9], al
mov dword [ebp - 0xce4], ecx
lea eax, [ecx*4]
mov ecx, 0x1020895c
sub edx, eax
mov eax, dword [ebp - 0xc5c]
shl eax, 2
sub ecx, eax
mov eax, dword [ebp - 0xc78]
shl eax, 2
movzx edx, word [edx]
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc10]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax + 0xa], dx
movzx eax, byte [ebp - 0xbf9]
sub ax, cx
mov ecx, dword [ebp - 0xc28]
shl ax, 4
mov word [ecx + 0xa], ax
mov eax, dword [esi + 0xe0]
movzx eax, byte [esi + eax + 0xd1]
cdq
add dword [esi + 0xe0], eax
mov ecx, dword [esi + 0xe0]
adc dword [esi + 0xe4], edx
mov eax, dword [esi + 0xe4]
mov dword [ebp - 0xc], eax
mov dword [esi + 0xe8], 0
mov dword [esi + 0xec], 0
mov eax, dword [esi + ecx*4 + 0x108]
mov edx, dword [esi + 0x88]
add eax, edx
mov dword [ebp - 0xc00], eax
mov eax, dword [ebp - 0xc24]
add eax, ecx
mov ecx, dword [ebp + eax*4 - 0x22c]
mov edi, dword [ebp + eax*4 - 0x1e4]
add ecx, edx
mov dword [ebp - 0xc04], ecx
add edi, edx
mov ecx, dword [ebp + eax*4 - 0x208]
mov eax, dword [ebp - 0xc00]
add ecx, edx
mov edx, dword [ebp - 0xc04]
mov dword [ebp - 0xc08], ecx
movzx eax, byte [eax]
movzx ecx, byte [ecx]
mov dword [ebp - 0xc84], eax
movzx eax, byte [edx]
mov edx, 0x1020855c
mov dword [ebp - 0xc94], eax
mov al, byte [edi]
mov byte [ebp - 0xbf9], al
lea eax, [ecx*4]
sub edx, eax
mov dword [ebp - 0xccc], ecx
mov eax, dword [ebp - 0xc94]
mov ecx, 0x1020895c
shl eax, 2
sub ecx, eax
add edi, dword [ebx + 0x18]
movzx edx, word [edx]
mov eax, dword [ebp - 0xc84]
shl eax, 2
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov dword [ebp - 0xc1c], edi
mov eax, dword [ebp - 0xc18]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax], dx
movzx eax, byte [ebp - 0xbf9]
mov edx, dword [ebp - 0xc00]
sub ax, cx
mov ecx, dword [ebp - 0xc0c]
add edx, dword [ebx + 0x18]
shl ax, 4
mov dword [ebp - 0xc00], edx
mov word [ecx], ax
mov eax, dword [ebp - 0xc04]
add eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0xc08]
add ecx, dword [ebx + 0x18]
movzx edi, byte [edx]
mov edx, dword [ebp - 0xc1c]
mov dword [ebp - 0xc04], eax
movzx eax, byte [eax]
mov dword [ebp - 0xc08], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xc90], eax
mov al, byte [edx]
mov edx, 0x1020855c
mov byte [ebp - 0xbf9], al
lea eax, [ecx*4]
mov dword [ebp - 0xcc8], ecx
sub edx, eax
mov dword [ebp - 0xc60], edi
mov eax, dword [ebp - 0xc90]
mov ecx, 0x1020895c
shl eax, 2
sub ecx, eax
movzx edx, word [edx]
lea eax, [edi*4]
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov edi, dword [ebp - 0xc00]
mov eax, dword [ebp - 0xc18]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax + 2], dx
movzx eax, byte [ebp - 0xbf9]
sub ax, cx
mov edx, dword [ebp - 0xc04]
mov ecx, dword [ebp - 0xc0c]
shl ax, 4
mov word [ecx + 2], ax
mov eax, dword [ebx + 0x18]
add edi, eax
mov ecx, dword [ebp - 0xc08]
add edx, eax
add ecx, eax
mov dword [ebp - 0xc04], edx
mov eax, dword [ebp - 0xc1c]
add eax, dword [ebx + 0x18]
movzx edx, byte [edx]
mov dword [ebp - 0xc1c], eax
mov dword [ebp - 0xc08], ecx
mov al, byte [eax]
movzx ecx, byte [ecx]
mov byte [ebp - 0xbf9], al
mov dword [ebp - 0xca8], edx
mov edx, 0x1020855c
mov dword [ebp - 0xd08], ecx
lea eax, [ecx*4]
mov dword [ebp - 0xc00], edi
movzx edi, byte [edi]
sub edx, eax
mov eax, dword [ebp - 0xca8]
mov ecx, 0x1020895c
shl eax, 2
sub ecx, eax
mov dword [ebp - 0xc64], edi
movzx edx, word [edx]
lea eax, [edi*4]
mov edi, dword [ebp - 0xc00]
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc18]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax + 4], dx
movzx eax, byte [ebp - 0xbf9]
mov edx, dword [ebx + 0x18]
sub ax, cx
mov ecx, dword [ebp - 0xc0c]
add edi, edx
shl ax, 4
mov dword [ebp - 0xc00], edi
mov word [ecx + 4], ax
mov eax, dword [ebp - 0xc04]
mov ecx, dword [ebp - 0xc08]
add eax, edx
movzx edi, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0xc1c]
add edx, dword [ebx + 0x18]
mov dword [ebp - 0xc04], eax
movzx eax, byte [eax]
mov dword [ebp - 0xc08], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xca4], eax
mov al, byte [edx]
mov dword [ebp - 0xc1c], edx
mov edx, 0x1020855c
mov byte [ebp - 0xbf9], al
lea eax, [ecx*4]
sub edx, eax
mov dword [ebp - 0xcfc], edi
mov eax, dword [ebp - 0xca4]
mov dword [ebp - 0xd04], ecx
movzx edx, word [edx]
mov ecx, 0x1020895c
shl eax, 2
sub ecx, eax
lea eax, [edi*4]
mov edi, dword [ebp - 0xc00]
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc18]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax + 6], dx
movzx eax, byte [ebp - 0xbf9]
sub ax, cx
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebp - 0xc0c]
add edi, edx
shl ax, 4
mov dword [ebp - 0xc00], edi
mov word [ecx + 6], ax
mov eax, dword [ebp - 0xc04]
mov ecx, dword [ebp - 0xc08]
add eax, edx
add ecx, edx
movzx edi, byte [edi]
mov edx, dword [ebp - 0xc1c]
add edx, dword [ebx + 0x18]
mov dword [ebp - 0xc04], eax
movzx eax, byte [eax]
mov dword [ebp - 0xcbc], eax
mov al, byte [edx]
mov dword [ebp - 0xc08], ecx
movzx ecx, byte [ecx]
mov byte [ebp - 0xbf9], al
mov dword [ebp - 0xc1c], edx
mov edx, 0x1020855c
mov dword [ebp - 0xcd0], ecx
lea eax, [ecx*4]
mov dword [ebp - 0xc68], edi
sub edx, eax
mov ecx, 0x1020895c
mov eax, dword [ebp - 0xcbc]
shl eax, 2
sub ecx, eax
lea eax, [edi*4]
movzx edx, word [edx]
mov edi, dword [ebp - 0xc00]
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc18]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax + 8], dx
movzx eax, byte [ebp - 0xbf9]
mov edx, dword [ebx + 0x18]
sub ax, cx
mov ecx, dword [ebp - 0xc0c]
add edi, edx
shl ax, 4
mov dword [ebp - 0xc00], edi
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xc04]
mov ecx, dword [ebp - 0xc08]
add eax, edx
movzx edi, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0xc1c]
add edx, dword [ebx + 0x18]
mov dword [ebp - 0xc04], eax
movzx eax, byte [eax]
mov dword [ebp - 0xc08], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xcb8], eax
mov al, byte [edx]
mov byte [ebp - 0xbf9], al
mov dword [ebp - 0xc1c], edx
lea eax, [ecx*4]
mov dword [ebp - 0xcc4], edi
mov dword [ebp - 0xcf0], ecx
mov edx, 0x1020855c
mov ecx, 0x1020895c
sub edx, eax
mov eax, dword [ebp - 0xcb8]
shl eax, 2
sub ecx, eax
lea eax, [edi*4]
mov edi, dword [ebp - 0xc00]
movzx edx, word [edx]
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc18]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax + 0xa], dx
movzx eax, byte [ebp - 0xbf9]
sub ax, cx
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebp - 0xc0c]
add edi, edx
shl ax, 4
mov dword [ebp - 0xc00], edi
mov word [ecx + 0xa], ax
mov ecx, dword [ebp - 0xc08]
mov eax, dword [ebp - 0xc04]
add ecx, edx
add eax, edx
movzx edi, byte [edi]
mov edx, dword [ebp - 0xc1c]
add edx, dword [ebx + 0x18]
mov dword [ebp - 0xc04], eax
movzx eax, byte [eax]
mov dword [ebp - 0xc38], eax
mov al, byte [edx]
mov dword [ebp - 0xc08], ecx
movzx ecx, byte [ecx]
mov byte [ebp - 0xbf9], al
mov dword [ebp - 0xc1c], edx
mov edx, 0x1020855c
mov dword [ebp - 0xc], ecx
lea eax, [ecx*4]
mov dword [ebp - 0xc6c], edi
sub edx, eax
mov ecx, 0x1020895c
mov eax, dword [ebp - 0xc38]
shl eax, 2
sub ecx, eax
lea eax, [edi*4]
movzx edx, word [edx]
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
mov eax, dword [ebp - 0xc18]
add dx, word [ecx]
mov ecx, 0x80
mov word [eax + 0xc], dx
movzx eax, byte [ebp - 0xbf9]
mov edx, dword [ebp - 0xc04]
sub ax, cx
mov ecx, dword [ebp - 0xc0c]
shl ax, 4
mov word [ecx + 0xc], ax
mov eax, dword [ebp - 0xc00]
mov ecx, dword [ebx + 0x18]
movzx edi, byte [eax + ecx]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0xc08]
mov edx, dword [ebp - 0xc1c]
mov dword [ebp - 0xc00], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xcdc], edi
movzx ecx, byte [ecx + eax]
mov al, byte [edx + eax]
mov edx, 0x1020855c
mov byte [ebp - 0xbf9], al
mov dword [ebp - 0xc08], ecx
lea eax, [ecx*4]
sub edx, eax
mov eax, dword [ebp - 0xc00]
shl eax, 2
movzx edx, word [edx]
mov ecx, 0x1020895c
sub ecx, eax
lea eax, [edi*4]
mov edi, dword [ebp - 0xcc8]
add edi, dword [ebp - 0xccc]
add edi, dword [ebp - 0xce0]
add dx, word [ecx]
mov ecx, 0x1020815c
sub ecx, eax
add edi, dword [ebp - 0xcec]
mov eax, dword [ebp - 0xc18]
shr edi, 2
add dx, word [ecx]
mov ecx, 0x80
mov word [eax + 0xe], dx
mov edx, 0xff
movzx eax, byte [ebp - 0xbf9]
sub edx, edi
sub ax, cx
shl edx, 3
mov ecx, dword [ebp - 0xc0c]
shl ax, 4
mov word [ecx + 0xe], ax
mov ecx, dword [ebp - 0xc84]
add ecx, dword [ebp - 0xc60]
add ecx, dword [ebp - 0xc88]
add ecx, dword [ebp - 0xc8c]
mov eax, dword [ebp - 0xc90]
add eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xc98]
add eax, dword [ebp - 0xc4c]
and eax, 0xfffffffc
shr ecx, 2
mov dword [ebp - 0xc4c], eax
mov dword [ebp - 0xc60], ecx
lea eax, [ecx*4]
mov ecx, 0x10208d5c
sub ecx, eax
mov eax, 0x1020915c
sub eax, dword [ebp - 0xc4c]
add dx, word [ecx]
add dx, word [eax]
mov eax, dword [ebp - 0xc20]
mov ecx, dword [ebp - 0xcf8]
mov word [ecx + eax], dx
lea eax, [edi*4]
mov edi, dword [ebp - 0xd04]
mov ecx, 0x1020995c
sub ecx, eax
add edi, dword [ebp - 0xd08]
add edi, dword [ebp - 0xd0c]
mov edx, 0xff
sub edx, dword [ebp - 0xc60]
mov eax, 0x1020955c
sub eax, dword [ebp - 0xc4c]
shl edx, 3
add dx, word [ecx]
mov ecx, 0x10208d5c
add edi, dword [ebp - 0xcc0]
add dx, word [eax]
mov eax, dword [ebp - 0xc20]
shr edi, 2
mov word [eax - 4], dx
mov eax, dword [ebp - 0xcfc]
add eax, dword [ebp - 0xc64]
add eax, dword [ebp - 0xc9c]
add eax, dword [ebp - 0xca0]
mov edx, dword [ebp - 0xca8]
add edx, dword [ebp - 0xca4]
add edx, dword [ebp - 0xcac]
add edx, dword [ebp - 0xcb0]
shr eax, 2
and edx, 0xfffffffc
mov dword [ebp - 0xc64], eax
shl eax, 2
sub ecx, eax
mov eax, 0x1020915c
sub eax, edx
movzx ecx, word [ecx]
add cx, word [eax]
mov eax, 0xff
sub eax, edi
shl eax, 3
add cx, ax
mov eax, dword [ebp - 0xc2c]
mov word [eax - 2], cx
lea eax, [edi*4]
mov ecx, 0x1020995c
mov edi, dword [ebp - 0xcf0]
sub ecx, eax
add edi, dword [ebp - 0xcd0]
mov eax, 0x1020955c
add edi, dword [ebp - 0xcd4]
sub eax, edx
add edi, dword [ebp - 0xcd8]
mov edx, dword [ebp - 0xcbc]
movzx ecx, word [ecx]
add edx, dword [ebp - 0xcb8]
add cx, word [eax]
mov eax, 0xff
sub eax, dword [ebp - 0xc64]
shl eax, 3
add cx, ax
add edx, dword [ebp - 0xc70]
mov eax, dword [ebp - 0xc20]
add edx, dword [ebp - 0xc74]
and edx, 0xfffffffc
shr edi, 2
mov word [eax - 2], cx
mov ecx, 0x10208d5c
mov eax, dword [ebp - 0xcc4]
add eax, dword [ebp - 0xc68]
add eax, dword [ebp - 0xc80]
add eax, dword [ebp - 0xcb4]
shr eax, 2
mov dword [ebp - 0xc68], eax
shl eax, 2
sub ecx, eax
mov eax, 0x1020915c
sub eax, edx
movzx ecx, word [ecx]
add cx, word [eax]
mov eax, 0xff
sub eax, edi
shl eax, 3
add cx, ax
mov eax, dword [ebp - 0xc2c]
mov word [eax], cx
lea eax, [edi*4]
mov edi, dword [ebp - 0xc08]
mov ecx, 0x1020995c
sub ecx, eax
add edi, dword [ebp - 0xce4]
add edi, dword [ebp - 0xce8]
mov eax, 0x1020955c
sub eax, edx
add edi, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc5c]
movzx ecx, word [ecx]
add edx, dword [ebp - 0xc00]
add cx, word [eax]
mov eax, 0xff
sub eax, dword [ebp - 0xc68]
add edx, dword [ebp - 0xc48]
add edx, dword [ebp - 0xc38]
shl eax, 3
and edx, 0xfffffffc
add cx, ax
shr edi, 2
mov eax, dword [ebp - 0xc20]
mov word [eax], cx
mov ecx, 0x10208d5c
mov eax, dword [ebp - 0xcdc]
add eax, dword [ebp - 0xc78]
add eax, dword [ebp - 0xc7c]
add eax, dword [ebp - 0xc6c]
shr eax, 2
mov dword [ebp - 0xc6c], eax
shl eax, 2
sub ecx, eax
mov eax, 0x1020915c
movzx ecx, word [ecx]
sub eax, edx
add dword [ebp - 0xc10], 0x20
add dword [ebp - 0xc28], 0x20
add dword [ebp - 0xc18], 0x20
add cx, word [eax]
mov eax, 0xff
sub eax, edi
add dword [ebp - 0xc0c], 0x20
shl eax, 3
add cx, ax
mov eax, dword [ebp - 0xc2c]
add dword [ebp - 0xc2c], 0x10
mov word [eax + 2], cx
lea eax, [edi*4]
mov ecx, 0x1020995c
sub ecx, eax
mov eax, 0x1020955c
sub eax, edx
movzx ecx, word [ecx]
add cx, word [eax]
mov eax, 0xff
sub eax, dword [ebp - 0xc6c]
shl eax, 3
add cx, ax
mov eax, dword [ebp - 0xc20]
mov word [eax + 2], cx
add eax, 0x10
mov dword [ebp - 0xc20], eax
mov eax, dword [esi + 0xe0]
movzx eax, byte [eax + esi + 0xd1]
cdq
add dword [esi + 0xe0], eax
mov dword [esi + 0xe8], 0
adc dword [esi + 0xe4], edx
sub dword [ebp - 0xc3c], 1
mov dword [esi + 0xec], 0
jne 0x10191f60
mov edx, dword [ebp - 0xc44]
mov eax, dword [ebp - 0xc40]
add eax, 8
mov esi, dword [ebp - 0xcf4]
mov dword [ebp - 0xc3c], eax
add dword [edx + 0x20], 1
mov eax, dword [ebp - 0xd10]
adc dword [edx + 0x24], 0
mov dword [ebp - 0xc38], eax
mov eax, dword [edx + 0x168]
add dword [edx + 0x58], eax
mov eax, dword [edx + 0x16c]
adc dword [edx + 0x5c], eax
mov eax, dword [edx + 0x5c]
mov ecx, dword [edx + 0x58]
mov dword [ebp - 0xc], eax
mov eax, dword [edx]
mov dword [edx + 0x158], 0
mov dword [edx + 0x15c], 0
mov dword [edx + 0x160], 0
lea ecx, [eax + ecx*2]
mov dword [edx + 0x164], 0
mov eax, dword [edx + 0x50]
add eax, eax
mov dword [edx + 0x80], ecx
add ecx, eax
mov edi, dword [ebp - 0xc30]
mov dword [edx + 0x84], ecx
add ecx, eax
mov dword [edx + 0x88], ecx
add ecx, eax
mov dword [edx + 0x8c], ecx
add ecx, eax
mov dword [edx + 0x90], ecx
add ecx, eax
mov dword [edx + 0x94], ecx
add ecx, eax
add eax, ecx
mov dword [edx + 0x98], ecx
add dword [esi + 0x20], 1
mov dword [edx + 0x9c], eax
adc dword [esi + 0x24], 0
mov eax, dword [esi + 0x168]
add dword [esi + 0x58], eax
mov eax, dword [esi + 0x16c]
adc dword [esi + 0x5c], eax
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x58]
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
mov dword [esi + 0x158], 0
mov dword [esi + 0x15c], 0
mov dword [esi + 0x160], 0
lea ecx, [eax + ecx*2]
mov dword [esi + 0x164], 0
mov eax, dword [esi + 0x50]
add eax, eax
mov dword [esi + 0x80], ecx
add ecx, eax
mov dword [edi + 0xe0], 0
mov dword [esi + 0x84], ecx
add ecx, eax
mov dword [esi + 0x88], ecx
add ecx, eax
mov dword [esi + 0x8c], ecx
add ecx, eax
mov dword [esi + 0x90], ecx
add ecx, eax
mov dword [esi + 0x94], ecx
add ecx, eax
add eax, ecx
mov dword [esi + 0x98], ecx
mov ecx, dword [edi + 0x1c]
mov dword [esi + 0x9c], eax
mov eax, dword [edi + 0x18]
add eax, 1
mov dword [edi + 0xe4], 0
adc ecx, 0
cmp ecx, dword [edi + 0x7c]
jb 0x10192ff7
ja 0x10192fe9
cmp eax, dword [edi + 0x78]
jb 0x10192ff7
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], ecx
jmp 0x10193046
mov dword [edi + 0x18], eax
add eax, 1
mov dword [edi + 0x1c], ecx
adc ecx, 0
cmp eax, dword [edi + 0x78]
jne 0x10193015
cmp ecx, dword [edi + 0x7c]
jne 0x10193015
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
jmp 0x1019301b
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x3c]
mov dword [edi + 0x50], eax
mov eax, dword [edi + 0xf0]
add dword [edi + 0x70], eax
mov eax, dword [edi + 0xf4]
adc dword [edi + 0x74], eax
push dword [edi + 0x74]
mov dword [edi + 0x54], ecx
mov ecx, edi
push dword [edi + 0x70]
call fcn.100e6320
mov edx, dword [ebp - 0xc44]
sub dword [ebp - 0xc14], 1
jne 0x10191e10
mov eax, dword [ebp - 0xc24]
add edi, 0x198
mov edx, dword [ebp - 0xc40]
add eax, 0x66
mov esi, dword [ebp - 0xc34]
add edx, 0x40
mov ecx, dword [ebp - 0xd14]
add esi, 0x170
mov dword [ebp - 0xc40], edx
mov dword [ebp - 0xc24], eax
mov dword [ebp - 0xc34], esi
mov dword [ebp - 0xc30], edi
cmp eax, 0xcc
jb 0x10191dd0
add dword [ebp - 0xa68], 1
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xa30]
adc dword [ebp - 0xa64], 0
add ecx, dword [ebp - 0x920]
mov eax, dword [ebp - 0xa2c]
adc eax, dword [ebp - 0x91c]
mov dword [ebp - 0xd14], eax
mov dword [ebp - 0xa2c], eax
mov eax, dword [ebp - 0xa88]
mov dword [ebp - 0xa30], ecx
movlpd qword [ebp - 0x930], xmm0
movlpd qword [ebp - 0x928], xmm0
lea eax, [eax + ecx*2]
movlpd qword [ebp - 0xaa0], xmm0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xa08], eax
add eax, ecx
mov dword [ebp - 0xa04], eax
add eax, ecx
mov dword [ebp - 0xa00], eax
add eax, ecx
mov dword [ebp - 0x9fc], eax
add eax, ecx
mov dword [ebp - 0x9f8], eax
add eax, ecx
mov dword [ebp - 0x9f4], eax
add eax, ecx
mov dword [ebp - 0x9f0], eax
add eax, ecx
add dword [ebp - 0xbd8], 1
mov ecx, dword [ebp - 0xba0]
adc dword [ebp - 0xbd4], 0
add ecx, dword [ebp - 0xa90]
mov dword [ebp - 0x9ec], eax
mov eax, dword [ebp - 0xb9c]
adc eax, dword [ebp - 0xa8c]
mov dword [ebp - 0xb9c], eax
mov dword [ebp - 0xd14], eax
mov eax, dword [ebp - 0xbf8]
mov dword [ebp - 0xba0], ecx
movlpd qword [ebp - 0xa98], xmm0
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xc54]
mov dword [ebp - 0xb78], eax
add eax, ecx
mov dword [ebp - 0xb74], eax
add eax, ecx
mov dword [ebp - 0xb70], eax
add eax, ecx
mov dword [ebp - 0xb6c], eax
add eax, ecx
mov dword [ebp - 0xb68], eax
add eax, ecx
mov dword [ebp - 0xb64], eax
add eax, ecx
mov dword [ebp - 0xb60], eax
add eax, ecx
mov dword [ebp - 0xb5c], eax
mov eax, dword [ebp - 0x614]
cmp eax, dword [ebp - 0x5d4]
jb 0x10191d60
ja 0x101931f0
mov eax, dword [ebp - 0x618]
cmp eax, dword [ebp - 0x5d8]
jb 0x10191d60
push dword [ebp - 0x60c]
mov ecx, dword [ebp - 0x620]
mov eax, dword [ebp - 0x61c]
add ecx, 2
push dword [ebp - 0x610]
adc eax, 0
movlpd qword [ebp - 0x4e0], xmm0
push eax
push ecx
movlpd qword [ebp - 0x4d8], xmm0
movlpd qword [ebp - 0x618], xmm0
mov dword [ebp - 0x620], ecx
mov dword [ebp - 0x61c], eax
call fcn.1019d680
mov ecx, dword [ebp - 0x638]
xorps xmm0, xmm0
push dword [ebp - 0x49c]
mov dword [ebp - 0x5e0], eax
push dword [ebp - 0x4a0]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x5dc], edx
mov eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x5b8], ecx
movlpd qword [ebp - 0x370], xmm0
movlpd qword [ebp - 0x368], xmm0
lea ecx, [ecx + eax*2]
movlpd qword [ebp - 0x4a8], xmm0
add eax, eax
mov dword [ebp - 0x5b4], ecx
add ecx, eax
mov dword [ebp - 0x5b0], ecx
add ecx, eax
mov dword [ebp - 0x5ac], ecx
add ecx, eax
mov dword [ebp - 0x5a8], ecx
add ecx, eax
mov dword [ebp - 0x5a4], ecx
add ecx, eax
add eax, ecx
mov dword [ebp - 0x5a0], ecx
mov ecx, dword [ebp - 0x4b0]
add ecx, 2
mov dword [ebp - 0x59c], eax
mov eax, dword [ebp - 0x4ac]
adc eax, 0
mov dword [ebp - 0x4b0], ecx
push eax
push ecx
mov dword [ebp - 0x4ac], eax
call fcn.1019d680
mov ecx, dword [ebp - 0x4c8]
xorps xmm0, xmm0
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], edx
movlpd qword [ebp - 0x7c0], xmm0
lea ecx, [ecx + eax*2]
movlpd qword [ebp - 0x7b8], xmm0
mov eax, dword [ebp - 0x478]
mov dword [ebp - 0x448], ecx
movlpd qword [ebp - 0x8f8], xmm0
lea ecx, [ecx + eax*2]
add eax, eax
mov dword [ebp - 0x444], ecx
add ecx, eax
mov dword [ebp - 0x440], ecx
add ecx, eax
mov dword [ebp - 0x43c], ecx
add ecx, eax
mov dword [ebp - 0x438], ecx
add ecx, eax
mov dword [ebp - 0x434], ecx
add ecx, eax
add eax, ecx
mov dword [ebp - 0x430], ecx
mov ecx, dword [ebp - 0x900]
mov dword [ebp - 0x42c], eax
add ecx, 2
mov eax, dword [ebp - 0x8fc]
adc eax, 0
mov dword [ebp - 0x900], ecx
mov dword [ebp - 0x8fc], eax
push dword [ebp - 0x8ec]
push dword [ebp - 0x8f0]
push eax
push ecx
call fcn.1019d680
push edx
push eax
lea ecx, [ebp - 0x918]
mov dword [ebp - 0x8c0], eax
mov dword [ebp - 0x8bc], edx
call fcn.100e6320
push dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x790]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x78c]
add ecx, 2
push dword [ebp - 0x780]
adc eax, 0
movlpd qword [ebp - 0x650], xmm0
push eax
push ecx
movlpd qword [ebp - 0x648], xmm0
movlpd qword [ebp - 0x788], xmm0
mov dword [ebp - 0x790], ecx
mov dword [ebp - 0x78c], eax
call fcn.1019d680
push edx
push eax
lea ecx, [ebp - 0x7a8]
mov dword [ebp - 0x750], eax
mov dword [ebp - 0x74c], edx
call fcn.100e6320
cmp dword [ebp - 0x2e0], 1
xorps xmm0, xmm0
movlpd qword [ebp - 0x340], xmm0
jne 0x10193424
cmp dword [ebp - 0x2dc], 0
je 0x1019343c
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x31c]
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], ecx
mov eax, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x344]
add eax, 2
mov esi, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x2d8]
adc ecx, 0
cmp ecx, esi
jb 0x101934a6
ja 0x10193464
cmp eax, edx
jb 0x101934a6
add edx, 0xffffffff
mov dword [ebp - 0x348], edx
mov edx, dword [ebp - 0x2ec]
adc esi, 0xffffffff
mov dword [ebp - 0x344], esi
mov eax, edx
mov esi, dword [ebp - 0x2f0]
mov ecx, esi
add ecx, 0xffffffff
mov dword [ebp - 0x2fc], edx
mov dword [ebp - 0x278], ecx
adc eax, 0xffffffff
mov dword [ebp - 0xc54], edx
mov dword [ebp - 0x274], eax
jmp 0x101934ee
mov dword [ebp - 0x348], eax
add eax, 1
mov dword [ebp - 0x344], ecx
adc ecx, 0
movlpd qword [ebp - 0x278], xmm0
xor eax, edx
xor ecx, esi
or eax, ecx
je 0x101934d6
mov esi, dword [ebp - 0x318]
mov eax, dword [ebp - 0x314]
jmp 0x101934e2
mov esi, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0xc54], eax
mov dword [ebp - 0x300], esi
mov byte [ebp + esi - 0x288], 0
push dword [ebp - 0x344]
push dword [ebp - 0x348]
push dword [ebp - 0x334]
push dword [ebp - 0x338]
call fcn.1019d680
push edx
push eax
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], edx
call fcn.100e6320
cmp dword [ebp - 0x148], 1
xorps xmm0, xmm0
movlpd qword [ebp - 0x1a8], xmm0
jne 0x1019354f
cmp dword [ebp - 0x144], 0
je 0x10193567
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1ac]
add eax, 2
mov esi, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x140]
adc ecx, 0
cmp ecx, esi
jb 0x101935d1
ja 0x1019358f
cmp eax, edx
jb 0x101935d1
add edx, 0xffffffff
mov dword [ebp - 0x1b0], edx
mov edx, dword [ebp - 0x154]
adc esi, 0xffffffff
mov dword [ebp - 0x1ac], esi
mov eax, edx
mov esi, dword [ebp - 0x158]
mov ecx, esi
add ecx, 0xffffffff
mov dword [ebp - 0x164], edx
mov dword [ebp - 0xe0], ecx
adc eax, 0xffffffff
mov dword [ebp - 0xc54], edx
mov dword [ebp - 0xdc], eax
jmp 0x10193619
mov dword [ebp - 0x1b0], eax
add eax, 1
mov dword [ebp - 0x1ac], ecx
adc ecx, 0
movlpd qword [ebp - 0xe0], xmm0
xor eax, edx
xor ecx, esi
or eax, ecx
je 0x10193601
mov esi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x17c]
jmp 0x1019360d
mov esi, dword [ebp - 0x158]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0xc54], eax
mov dword [ebp - 0x168], esi
mov byte [ebp + esi - 0xf0], 0
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
call fcn.1019d680
push edx
push eax
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
call fcn.100e6320
mov ecx, dword [ebp - 0xa70]
xorps xmm0, xmm0
mov eax, dword [ebp - 0xa6c]
add ecx, 1
movlpd qword [ebp - 0xa68], xmm0
adc eax, 0
mov dword [ebp - 0xa70], ecx
push eax
push ecx
push dword [ebp - 0xa5c]
mov dword [ebp - 0xa6c], eax
push dword [ebp - 0xa60]
call fcn.1019d680
push edx
push eax
lea ecx, [ebp - 0xa88]
mov dword [ebp - 0xa30], eax
mov dword [ebp - 0xa2c], edx
call fcn.100e6320
mov ecx, dword [ebp - 0xbe0]
xorps xmm0, xmm0
mov eax, dword [ebp - 0xbdc]
add ecx, 1
movlpd qword [ebp - 0xbd8], xmm0
adc eax, 0
mov dword [ebp - 0xbe0], ecx
push eax
push ecx
push dword [ebp - 0xbcc]
mov dword [ebp - 0xbdc], eax
push dword [ebp - 0xbd0]
call fcn.1019d680
push edx
push eax
lea ecx, [ebp - 0xbf8]
mov dword [ebp - 0xba0], eax
mov dword [ebp - 0xb9c], edx
call fcn.100e6320
mov eax, dword [ebp - 0x61c]
cmp eax, dword [ebp - 0x5cc]
jb 0x10191d40
ja 0x1019372d
mov eax, dword [ebp - 0x620]
cmp eax, dword [ebp - 0x5d0]
jb 0x10191d40
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1019d470
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x48