Function at 0x10253b50
Capabilities:
Check for software breakpoints
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 [0x102f8be4]
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 - 0xc30], edx
push edi
movzx edi, word [edx + 0x26]
mov dword [ebp - 0xc28], 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 - 0xc1c], ecx
mov dword [ebp - 0xc4c], eax
test esi, esi
je 0x10253bca
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 - 0xc28], 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 - 0xc20], ecx
test ecx, ecx
jb 0x10253c11
ja 0x10253bf0
cmp eax, edx
jbe 0x10253c00
mov eax, edx
xor ecx, ecx
mov dword [ebp - 0xc24], eax
mov dword [ebp - 0xc20], ecx
test ecx, ecx
jne 0x10253c11
cmp eax, 8
ja 0x10253c11
add eax, 0xffffffff
adc ecx, 0xffffffff
jmp 0x10253c18
mov eax, 8
xor ecx, ecx
movups xmm0, xmmword [ebx + 8]
push ecx
push eax
push dword [ebx + 0x24]
paddd xmm0, xmm1
mov dword [ebp - 0xc34], ecx
push dword [ebx + 0x20]
mov dword [ebp - 0xc38], eax
movaps xmmword [ebp - 0xd20], xmm0
movups xmmword [ebp - 0x18], xmm0
call fcn.1025da70
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.1024c290
add esi, 0x198
sub edi, 1
jne 0x10253c67
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 - 0xc20]
lea ecx, [ebp - 0x358]
push dword [ebp - 0xc24]
push 0
push dword [ebp - 0xc28]
push eax
call fcn.10031e60
push 0
push dword [ebx + 0x18]
mov eax, dword [ebp - 0xc24]
push dword [ebx + 0x24]
sub eax, dword [ebp - 0xc38]
push dword [ebx + 0x20]
mov ecx, dword [ebp - 0xc20]
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 - 0xc28]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.10031e60
mov esi, dword [ebx + 0x4c]
mov edi, dword [ebp - 0xc30]
test esi, esi
jne 0x10253d52
mov eax, dword [edi + 0x30]
mov ecx, dword [ebp - 0xc1c]
mov dword [ebp - 0xc24], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0xc18], eax
mov eax, dword [edi + 0x38]
mov dword [ebp - 0xc14], eax
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xc20], eax
mov eax, dword [ebp - 0xc4c]
shrd ecx, eax, 2
shr eax, 2
jmp 0x10253da7
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 - 0xc18], eax
mov eax, esi
div ecx
movzx ecx, byte [edi + 0x43]
xor edx, edx
mov dword [ebp - 0xc14], eax
mov eax, esi
div ecx
mov ecx, dword [ebp - 0xc1c]
mov dword [ebp - 0xc20], eax
mov eax, dword [ebp - 0xc4c]
shrd ecx, eax, 1
shr eax, 1
mov esi, dword [ebx + 0x30]
xor edx, edx
mov dword [ebp - 0xc4c], eax
mov eax, esi
mov dword [ebp - 0xc28], 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 - 0xc40], eax
mov eax, esi
div ecx
lea esi, [ebp - 0x638]
mov dword [ebp - 0xc10], eax
mov eax, dword [edi + 0x30]
mov edi, 2
shl eax, 3
mov dword [ebp - 0xc38], eax
nop dword [eax]
mov ecx, esi
call fcn.1024a670
add esi, 0x170
sub edi, 1
jne 0x10253e10
push edi
push 1
push edi
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp - 0xc1c]
push 8
push edi
mov esi, dword [ecx]
add eax, eax
push 0x40
push edi
push dword [ebp - 0xc38]
mov dword [ebp - 0xc44], 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 - 0xc0c], eax
lea eax, [ebp - 0xc0c]
push eax
call fcn.10031e60
mov edi, dword [ebp - 0xc30]
mov ecx, dword [ebp - 0xc1c]
push 0
push 1
mov eax, dword [edi + 0x30]
push 0
push 8
push 0
push 0x40
push 0
push dword [ebp - 0xc38]
lea eax, [ecx + eax*8]
push 0
push 8
push 0
lea eax, [esi + eax*2]
push 8
mov dword [ebp - 0xc0c], 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 - 0xc0c]
push eax
call fcn.10031e60
mov eax, dword [ebx + 0x44]
mov esi, dword [ebp - 0xc28]
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 - 0xc0c], 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 - 0xc0c]
push 0
push dword [ebp - 0xc18]
push eax
lea ecx, [ebp - 0xbf8]
call fcn.10031e60
mov ecx, dword [ebx + 0x44]
push 0
push 1
push 0
mov eax, dword [ecx + 8]
lea ecx, [ebp - 0xa88]
push 8
push 0
push 0x40
push 0
add eax, esi
mov dword [ebp - 0xc0c], eax
mov eax, dword [edi + 0x38]
shl eax, 3
push eax
push 0
push 8
push 0
push 8
push 0
push dword [ebp - 0xc40]
lea eax, [ebp - 0xc0c]
push 0
push dword [ebp - 0xc14]
push eax
call fcn.10031e60
lea esi, [ebp - 0x918]
mov edi, 2
nop dword [eax]
mov ecx, esi
call fcn.1024a670
add esi, 0x170
sub edi, 1
jne 0x10253f80
mov edi, dword [ebp - 0xc30]
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 - 0xc44]
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 - 0xc10]
mov dword [ebp - 0xc0c], eax
lea eax, [ebp - 0xc0c]
push 0
push dword [ebp - 0xc20]
push eax
call fcn.10031e60
mov eax, dword [ebp - 0xc1c]
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 - 0xc0c], eax
mov eax, dword [ebp - 0xc10]
push 0
add eax, 0xfffffff8
push eax
push 0
push dword [ebp - 0xc20]
lea eax, [ebp - 0xc0c]
push eax
call fcn.10031e60
nop dword [eax]
mov eax, dword [ebp - 0xba8]
add eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xa38]
add eax, eax
mov dword [ebp - 0xc4c], eax
nop dword [eax]
mov eax, dword [ebp - 0xa98]
lea esi, [ebp - 0x358]
xor edi, edi
mov dword [ebp - 0xc28], 0
mov dword [ebp - 0xc24], esi
mov dword [ebp - 0xc20], edi
mov ecx, dword [ebp + eax*8 - 0xae8]
mov eax, dword [ebp - 0xaa0]
mov eax, dword [ebp + eax*4 - 0xb78]
lea edx, [eax + ecx*2]
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0xc38], edx
mov ecx, dword [ebp + eax*8 - 0x978]
mov eax, dword [ebp - 0x930]
mov eax, dword [ebp + eax*4 - 0xa08]
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 - 0xc40], eax
lea eax, [edx + 8]
add eax, ecx
mov dword [ebp - 0xc0c], 2
lea edx, [ebp - 0x638]
mov dword [ebp - 0xce8], eax
add edx, edi
lea edi, [ebp + edi - 0x918]
mov dword [ebp - 0xc34], edx
nop dword [eax]
mov eax, dword [edx + 0x160]
mov esi, dword [ebp - 0xc20]
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 - 0xc44], eax
mov eax, dword [edi + 0x160]
mov ecx, dword [edi + eax*8 + 0x110]
mov eax, dword [edi + 0x158]
mov eax, dword [edi + eax*4 + 0x80]
add dword [ebp + esi - 0x4e0], 1
mov edi, dword [ebp + esi - 0x4e0]
adc dword [ebp + esi - 0x4dc], 0
add dword [ebp + esi - 0x7c0], 1
lea eax, [eax + ecx*2]
mov dword [ebp - 0xc54], eax
adc dword [ebp + esi - 0x7bc], 0
mov eax, dword [ebp + esi - 0x4dc]
mov edx, dword [ebp + esi - 0x7c0]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + esi - 0x7bc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc34]
mov dword [ebp + esi - 0x4d8], 0
mov dword [ebp + esi - 0x4d4], 0
mov dword [ebp + esi - 0x7b8], 0
mov dword [ebp + esi - 0x7b4], 0
mov ecx, dword [eax + 0x110]
mov eax, dword [eax + edi*4 + 0x80]
mov edi, dword [ebp - 0xc40]
lea eax, [eax + ecx*2]
mov dword [ebp - 0xc2c], eax
lea eax, [ebp - 0x918]
add eax, esi
mov ecx, dword [eax + 0x110]
mov eax, dword [eax + edx*4 + 0x80]
mov edx, dword [ebp - 0xc3c]
mov dword [ebp - 0xc3c], 4
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xc44]
mov dword [ebp - 0xc10], eax
lea eax, [edx + 4]
mov dword [ebp - 0xc30], eax
lea eax, [ecx + 4]
mov dword [ebp - 0xc14], eax
lea eax, [edi + 4]
mov dword [ebp - 0xc1c], eax
mov eax, dword [ebp - 0xc54]
sub ecx, eax
sub edx, edi
lea esi, [eax + 4]
lea eax, [ecx - 4]
mov dword [ebp - 0xc18], esi
mov esi, dword [ebp - 0xc24]
mov dword [ebp - 0xce4], eax
lea eax, [edx - 4]
mov dword [ebp - 0xcf4], eax
nop word [eax + eax]
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 - 0xbfc], eax
mov eax, dword [ebp - 0xc28]
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 - 0xbfc]
add ecx, edx
mov edx, ecx
mov dword [ebp - 0xc08], ecx
movzx ecx, byte [edi]
movzx esi, byte [eax]
mov eax, dword [ebp - 0xc00]
mov dword [ebp - 0xc70], esi
movzx eax, byte [eax]
mov dword [ebp - 0xc7c], eax
movzx eax, byte [edx]
mov esi, dword [ebp - 0xc7c]
mov edx, dword [ebp - 0xce4]
mov dword [ebp - 0xcd8], eax
movzx eax, word [eax*4 + 0x10307650]
add ax, word [esi*4 + 0x10307a50]
mov esi, dword [ebp - 0xc70]
add ax, word [esi*4 + 0x10307250]
mov esi, dword [ebp - 0xc18]
mov word [edx + esi], ax
mov ax, cx
mov edx, dword [ebp - 0xc08]
mov ecx, 0x7f
sub cx, ax
mov eax, dword [ebp - 0xc00]
shl cx, 4
mov word [esi - 4], cx
mov esi, dword [ebx + 0x18]
add eax, esi
mov ecx, dword [ebp - 0xbfc]
add edx, esi
add ecx, esi
mov dword [ebp - 0xc00], eax
add edi, esi
mov dword [ebp - 0xbfc], ecx
movzx eax, byte [eax]
mov dword [ebp - 0xc78], eax
movzx esi, byte [ecx]
movzx eax, byte [edx]
movzx ecx, byte [edi]
mov dword [ebp - 0xc6c], esi
mov esi, dword [ebp - 0xc78]
mov dword [ebp - 0xcd4], eax
movzx eax, word [eax*4 + 0x10307650]
add ax, word [esi*4 + 0x10307a50]
mov esi, dword [ebp - 0xc6c]
add ax, word [esi*4 + 0x10307250]
mov esi, dword [ebp - 0xc14]
mov word [esi - 2], ax
mov ax, cx
mov esi, dword [ebx + 0x18]
mov ecx, 0x7f
sub cx, ax
add edx, esi
mov eax, dword [ebp - 0xc18]
shl cx, 4
mov word [eax - 2], cx
mov ecx, dword [ebp - 0xbfc]
mov eax, dword [ebp - 0xc00]
add ecx, esi
add eax, esi
mov dword [ebp - 0xbfc], ecx
add edi, esi
mov dword [ebp - 0xc00], eax
movzx esi, byte [ecx]
movzx eax, byte [eax]
mov dword [ebp - 0xc88], esi
mov dword [ebp - 0xc94], eax
movzx eax, byte [edx]
mov esi, dword [ebp - 0xc94]
movzx ecx, byte [edi]
mov dword [ebp - 0xca8], eax
movzx eax, word [eax*4 + 0x10307650]
add ax, word [esi*4 + 0x10307a50]
mov esi, dword [ebp - 0xc88]
add ax, word [esi*4 + 0x10307250]
mov esi, dword [ebp - 0xc14]
mov word [esi], ax
mov ax, cx
mov esi, dword [ebx + 0x18]
mov ecx, 0x7f
sub cx, ax
add edx, esi
mov eax, dword [ebp - 0xc18]
add edi, esi
shl cx, 4
mov word [eax], cx
mov eax, dword [ebp - 0xc00]
mov ecx, dword [ebp - 0xbfc]
add eax, esi
add ecx, esi
mov dword [ebp - 0xc00], eax
mov dword [ebp - 0xbfc], ecx
movzx eax, byte [eax]
movzx esi, byte [ecx]
movzx ecx, byte [edi]
mov dword [ebp - 0xc90], eax
movzx eax, byte [edx]
mov dword [ebp - 0xd00], eax
mov dword [ebp - 0xc84], esi
mov esi, dword [ebp - 0xc90]
movzx eax, word [eax*4 + 0x10307650]
add ax, word [esi*4 + 0x10307a50]
mov esi, dword [ebp - 0xc84]
add ax, word [esi*4 + 0x10307250]
mov esi, dword [ebp - 0xc14]
mov word [esi + 2], ax
mov ax, cx
mov esi, dword [ebx + 0x18]
mov ecx, 0x7f
sub cx, ax
add edx, esi
mov eax, dword [ebp - 0xc18]
add edi, esi
shl cx, 4
mov word [eax + 2], cx
mov eax, dword [ebp - 0xc00]
mov ecx, dword [ebp - 0xbfc]
add eax, esi
add ecx, esi
mov dword [ebp - 0xc00], eax
mov dword [ebp - 0xbfc], ecx
movzx eax, byte [eax]
movzx esi, byte [ecx]
movzx ecx, byte [edi]
mov dword [ebp - 0xca4], eax
movzx eax, byte [edx]
mov dword [ebp - 0xc9c], esi
mov esi, dword [ebp - 0xca4]
mov dword [ebp - 0xcc4], eax
movzx eax, word [eax*4 + 0x10307650]
add ax, word [esi*4 + 0x10307a50]
mov esi, dword [ebp - 0xc9c]
add ax, word [esi*4 + 0x10307250]
mov esi, dword [ebp - 0xc14]
mov word [esi + 4], ax
mov ax, cx
mov esi, dword [ebx + 0x18]
mov ecx, 0x7f
sub cx, ax
mov eax, dword [ebp - 0xc18]
shl cx, 4
mov word [eax + 4], cx
mov ecx, dword [ebp - 0xbfc]
mov eax, dword [ebp - 0xc00]
add ecx, esi
mov dword [ebp - 0xbfc], ecx
add eax, esi
movzx ecx, byte [ecx]
add edx, esi
mov dword [ebp - 0xc00], eax
add edi, esi
movzx esi, byte [eax]
mov dword [ebp - 0xc98], ecx
movzx eax, byte [edx]
movzx ecx, byte [edi]
mov dword [ebp - 0xd04], eax
mov dword [ebp - 0xccc], esi
movzx eax, word [eax*4 + 0x10307650]
add ax, word [esi*4 + 0x10307a50]
mov esi, dword [ebp - 0xc98]
add ax, word [esi*4 + 0x10307250]
mov esi, dword [ebp - 0xc14]
mov word [esi + 6], ax
mov ax, cx
mov esi, dword [ebx + 0x18]
mov ecx, 0x7f
sub cx, ax
add edx, esi
mov eax, dword [ebp - 0xc18]
add edi, esi
shl cx, 4
mov word [eax + 6], cx
mov eax, dword [ebp - 0xc00]
mov ecx, dword [ebp - 0xbfc]
add eax, esi
add ecx, esi
mov dword [ebp - 0xc00], eax
mov dword [ebp - 0xbfc], ecx
movzx eax, byte [eax]
movzx esi, byte [ecx]
movzx ecx, byte [edi]
mov dword [ebp - 0xc40], eax
movzx eax, byte [edx]
mov dword [ebp - 0xce0], eax
mov dword [ebp - 0xc54], esi
mov esi, dword [ebp - 0xc40]
movzx eax, word [eax*4 + 0x10307650]
add ax, word [esi*4 + 0x10307a50]
mov esi, dword [ebp - 0xc54]
add ax, word [esi*4 + 0x10307250]
mov esi, dword [ebp - 0xc14]
mov word [esi + 8], ax
mov ax, cx
mov esi, dword [ebp - 0xc18]
mov ecx, 0x7f
sub cx, ax
mov eax, dword [ebp - 0xbfc]
shl cx, 4
mov word [esi + 8], cx
mov ecx, dword [ebx + 0x18]
movzx eax, byte [eax + ecx]
mov dword [ebp - 0xca0], eax
mov eax, dword [ebp - 0xc00]
movzx eax, byte [eax + ecx]
mov dword [ebp - 0xc44], eax
movzx eax, byte [edx + ecx]
mov edx, dword [ebp - 0xc44]
movzx ecx, byte [edi + ecx]
mov dword [ebp - 0xcdc], eax
movzx eax, word [eax*4 + 0x10307650]
add ax, word [edx*4 + 0x10307a50]
mov edx, dword [ebp - 0xca0]
add ax, word [edx*4 + 0x10307250]
mov edx, dword [ebp - 0xc14]
mov word [edx + 0xa], ax
mov ax, cx
mov ecx, 0x7f
sub cx, ax
shl cx, 4
mov word [esi + 0xa], cx
mov esi, dword [ebp - 0xc24]
mov eax, dword [esi + 0xe0]
movzx eax, byte [eax + esi + 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 - 0xc28]
add eax, ecx
mov ecx, dword [ebp + eax*4 - 0x22c]
mov edi, dword [ebp + eax*4 - 0x1e4]
add ecx, edx
mov dword [ebp - 0xbfc], ecx
add edi, edx
mov ecx, dword [ebp + eax*4 - 0x208]
mov eax, dword [ebp - 0xc00]
add ecx, edx
mov dword [ebp - 0xc04], ecx
movzx edx, byte [eax]
mov eax, dword [ebp - 0xbfc]
mov dword [ebp - 0xc68], edx
movzx eax, byte [eax]
mov dword [ebp - 0xc74], eax
movzx eax, byte [ecx]
mov edx, dword [ebp - 0xc74]
movzx ecx, byte [edi]
mov dword [ebp - 0xcc0], eax
movzx eax, word [eax*4 + 0x10307650]
add ax, word [edx*4 + 0x10307a50]
mov edx, dword [ebp - 0xc68]
add edi, dword [ebx + 0x18]
mov dword [ebp - 0xc08], edi
add ax, word [edx*4 + 0x10307250]
mov edx, dword [ebp - 0xc2c]
mov word [edx], ax
mov ax, cx
mov edx, dword [ebp - 0xc00]
mov ecx, 0x7f
add edx, dword [ebx + 0x18]
sub cx, ax
mov eax, dword [ebp - 0xc10]
shl cx, 4
mov dword [ebp - 0xc00], edx
mov word [eax], cx
mov eax, dword [ebp - 0xc04]
add eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0xbfc]
add ecx, dword [ebx + 0x18]
movzx edx, byte [edx]
mov dword [ebp - 0xc04], eax
movzx eax, byte [eax]
movzx edi, byte [ecx]
mov dword [ebp - 0xcb4], eax
mov dword [ebp - 0xbfc], ecx
movzx eax, word [eax*4 + 0x10307650]
add ax, word [edi*4 + 0x10307a50]
add ax, word [edx*4 + 0x10307250]
mov ecx, dword [ebp - 0xc08]
mov dword [ebp - 0xc58], edx
mov edx, dword [ebp - 0xc2c]
mov dword [ebp - 0xcf0], edi
movzx ecx, byte [ecx]
mov edi, dword [ebx + 0x18]
mov word [edx + 2], ax
mov ax, cx
mov edx, dword [ebp - 0xc00]
mov ecx, 0x7f
sub cx, ax
add edx, edi
mov eax, dword [ebp - 0xc10]
shl cx, 4
mov dword [ebp - 0xc00], edx
mov word [eax + 2], cx
mov eax, dword [ebp - 0xbfc]
mov ecx, dword [ebp - 0xc04]
add eax, edi
add ecx, edi
mov dword [ebp - 0xbfc], eax
mov edi, dword [ebp - 0xc08]
add edi, dword [ebx + 0x18]
mov dword [ebp - 0xc04], ecx
movzx eax, byte [eax]
movzx edx, byte [edx]
mov dword [ebp - 0xc8c], eax
movzx eax, byte [ecx]
movzx ecx, byte [edi]
mov dword [ebp - 0xcfc], eax
mov dword [ebp - 0xc80], edx
movzx eax, word [eax*4 + 0x10307650]
mov edx, dword [ebp - 0xc8c]
add edi, dword [ebx + 0x18]
mov dword [ebp - 0xc08], edi
add ax, word [edx*4 + 0x10307a50]
mov edx, dword [ebp - 0xc80]
add ax, word [edx*4 + 0x10307250]
mov edx, dword [ebp - 0xc2c]
mov word [edx + 4], ax
mov ax, cx
mov edx, dword [ebp - 0xc00]
mov ecx, 0x7f
sub cx, ax
add edx, dword [ebx + 0x18]
mov eax, dword [ebp - 0xc10]
shl cx, 4
mov dword [ebp - 0xc00], edx
mov word [eax + 4], cx
mov eax, dword [ebp - 0xc04]
add eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0xbfc]
add ecx, dword [ebx + 0x18]
movzx edx, byte [edx]
mov dword [ebp - 0xc04], eax
movzx eax, byte [eax]
movzx edi, byte [ecx]
mov dword [ebp - 0xcf8], eax
mov dword [ebp - 0xbfc], ecx
movzx eax, word [eax*4 + 0x10307650]
add ax, word [edi*4 + 0x10307a50]
add ax, word [edx*4 + 0x10307250]
mov ecx, dword [ebp - 0xc08]
mov dword [ebp - 0xc5c], edx
mov edx, dword [ebp - 0xc2c]
mov dword [ebp - 0xcac], edi
movzx ecx, byte [ecx]
mov edi, dword [ebp - 0xbfc]
mov word [edx + 6], ax
mov ax, cx
mov edx, dword [ebp - 0xc00]
mov ecx, 0x7f
sub cx, ax
mov eax, dword [ebp - 0xc10]
shl cx, 4
mov word [eax + 6], cx
mov ecx, dword [ebx + 0x18]
add edx, ecx
mov eax, dword [ebp - 0xc04]
add edi, ecx
add eax, ecx
mov dword [ebp - 0xbfc], edi
mov ecx, dword [ebp - 0xc08]
add ecx, dword [ebx + 0x18]
movzx edi, byte [edi]
mov dword [ebp - 0xc04], eax
movzx eax, byte [eax]
mov dword [ebp - 0xcbc], eax
mov dword [ebp - 0xc00], edx
movzx edx, byte [edx]
movzx eax, word [eax*4 + 0x10307650]
add ax, word [edi*4 + 0x10307a50]
mov dword [ebp - 0xc60], edx
add ax, word [edx*4 + 0x10307250]
mov edx, dword [ebp - 0xc2c]
mov dword [ebp - 0xc08], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xcc8], edi
mov word [edx + 8], ax
mov ax, cx
mov ecx, 0x7f
sub cx, ax
mov eax, dword [ebp - 0xc10]
shl cx, 4
mov word [eax + 8], cx
mov eax, dword [ebp - 0xc04]
mov ecx, dword [ebx + 0x18]
add eax, ecx
mov edi, dword [ebp - 0xbfc]
mov edx, dword [ebp - 0xc00]
add edi, ecx
add edx, ecx
mov dword [ebp - 0xc04], eax
movzx eax, byte [eax]
mov ecx, dword [ebp - 0xc08]
add ecx, dword [ebx + 0x18]
mov dword [ebp - 0xcb8], eax
movzx eax, word [eax*4 + 0x10307650]
mov dword [ebp - 0xc00], edx
movzx edx, byte [edx]
mov dword [ebp - 0xbfc], edi
movzx edi, byte [edi]
mov dword [ebp - 0xc08], ecx
movzx ecx, byte [ecx]
mov dword [ebp - 0xcb0], edx
add ax, word [edi*4 + 0x10307a50]
add ax, word [edx*4 + 0x10307250]
mov edx, dword [ebp - 0xc2c]
mov dword [ebp - 0xcd0], edi
mov edi, dword [ebp - 0xbfc]
mov esi, dword [ebx + 0x18]
mov word [edx + 0xa], ax
mov ax, cx
mov edx, dword [ebp - 0xc00]
mov ecx, 0x7f
sub cx, ax
mov eax, dword [ebp - 0xc10]
shl cx, 4
mov word [eax + 0xa], cx
mov ecx, dword [ebx + 0x18]
add edx, ecx
mov eax, dword [ebp - 0xc04]
add edi, ecx
add eax, ecx
mov dword [ebp - 0xbfc], edi
mov ecx, dword [ebp - 0xc08]
add ecx, dword [ebx + 0x18]
movzx edi, byte [edi]
mov dword [ebp - 0xc04], eax
movzx eax, byte [eax]
mov dword [ebp - 0xcec], eax
mov dword [ebp - 0xc00], edx
movzx edx, byte [edx]
movzx eax, word [eax*4 + 0x10307650]
add ax, word [edi*4 + 0x10307a50]
mov dword [ebp - 0xc08], ecx
add ax, word [edx*4 + 0x10307250]
movzx ecx, byte [ecx]
mov dword [ebp - 0xc64], edx
mov edx, dword [ebp - 0xc2c]
mov dword [ebp - 0xc], edi
mov word [edx + 0xc], ax
mov ax, cx
mov ecx, 0x7f
sub cx, ax
mov eax, dword [ebp - 0xc10]
shl cx, 4
mov word [eax + 0xc], cx
mov eax, dword [ebp - 0xc00]
mov ecx, dword [ebx + 0x18]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 0xbfc]
mov dword [ebp - 0xc00], edx
movzx edi, byte [eax + ecx]
mov ecx, dword [ebp - 0xc04]
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xbfc], edi
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp - 0xc08]
mov dword [ebp - 0xc04], eax
movzx eax, word [eax*4 + 0x10307650]
movzx ecx, byte [ecx + esi]
mov esi, dword [ebp - 0xc2c]
add ax, word [edi*4 + 0x10307a50]
add ax, word [edx*4 + 0x10307250]
mov word [esi + 0xe], ax
mov edi, dword [ebp - 0xcb4]
mov ax, cx
add edi, dword [ebp - 0xcc0]
mov ecx, 0x7f
sub cx, ax
add edi, dword [ebp - 0xcd4]
mov eax, dword [ebp - 0xc10]
add edi, dword [ebp - 0xcd8]
mov edx, dword [ebp - 0xc74]
add edx, dword [ebp - 0xcf0]
add edx, dword [ebp - 0xc78]
add edx, dword [ebp - 0xc7c]
shl cx, 4
and edx, 0xfffffffc
mov word [eax + 0xe], cx
mov eax, dword [ebp - 0xc58]
add eax, dword [ebp - 0xc68]
add eax, dword [ebp - 0xc6c]
add eax, dword [ebp - 0xc70]
shr eax, 2
mov esi, dword [ebp - 0xcf4]
mov dword [ebp - 0xc58], eax
shr edi, 2
movzx ecx, word [eax*4 + 0x10307e50]
add cx, word [edx + 0x10308250]
lea eax, [edi*8]
add cx, ax
mov eax, dword [ebp - 0xc1c]
mov word [esi + eax], cx
movzx ecx, word [edi*4 + 0x10308a50]
add cx, word [edx + 0x10308650]
mov eax, dword [ebp - 0xc58]
mov edi, dword [ebp - 0xcf8]
add edi, dword [ebp - 0xcfc]
add edi, dword [ebp - 0xd00]
add edi, dword [ebp - 0xca8]
mov edx, dword [ebp - 0xc8c]
add edx, dword [ebp - 0xcac]
add edx, dword [ebp - 0xc90]
add edx, dword [ebp - 0xc94]
shl eax, 3
and edx, 0xfffffffc
add cx, ax
shr edi, 2
mov eax, dword [ebp - 0xc1c]
mov word [eax - 4], cx
mov eax, dword [ebp - 0xc5c]
add eax, dword [ebp - 0xc80]
add eax, dword [ebp - 0xc84]
add eax, dword [ebp - 0xc88]
shr eax, 2
mov dword [ebp - 0xc5c], eax
movzx ecx, word [eax*4 + 0x10307e50]
lea eax, [edi*8]
add cx, word [edx + 0x10308250]
add cx, ax
mov eax, dword [ebp - 0xc30]
mov word [eax - 2], cx
movzx ecx, word [edi*4 + 0x10308a50]
add cx, word [edx + 0x10308650]
mov eax, dword [ebp - 0xc5c]
mov edi, dword [ebp - 0xcb8]
add edi, dword [ebp - 0xcbc]
mov edx, dword [ebp - 0xccc]
add edx, dword [ebp - 0xcc8]
add edi, dword [ebp - 0xd04]
add edx, dword [ebp - 0xca4]
add edi, dword [ebp - 0xcc4]
add edx, dword [ebp - 0xcd0]
shl eax, 3
add cx, ax
shr edi, 2
mov eax, dword [ebp - 0xc1c]
mov word [eax - 2], cx
mov eax, dword [ebp - 0xcb0]
add eax, dword [ebp - 0xc60]
add eax, dword [ebp - 0xc98]
add eax, dword [ebp - 0xc9c]
shr eax, 2
and edx, 0xfffffffc
mov dword [ebp - 0xc60], eax
movzx ecx, word [eax*4 + 0x10307e50]
lea eax, [edi*8]
add cx, word [edx + 0x10308250]
add cx, ax
mov esi, dword [ebp - 0xc24]
mov eax, dword [ebp - 0xc30]
add dword [ebp - 0xc14], 0x20
add dword [ebp - 0xc18], 0x20
add dword [ebp - 0xc2c], 0x20
mov word [eax], cx
movzx ecx, word [edi*4 + 0x10308a50]
add cx, word [edx + 0x10308650]
mov eax, dword [ebp - 0xc60]
mov edi, dword [ebp - 0xc04]
add edi, dword [ebp - 0xcec]
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0xbfc]
add edx, dword [ebp - 0xc44]
add edi, dword [ebp - 0xcdc]
add edx, dword [ebp - 0xc40]
shl eax, 3
and edx, 0xfffffffc
add cx, ax
add edi, dword [ebp - 0xce0]
mov eax, dword [ebp - 0xc1c]
shr edi, 2
add dword [ebp - 0xc10], 0x20
mov word [eax], cx
mov eax, dword [ebp - 0xc00]
add eax, dword [ebp - 0xc64]
add eax, dword [ebp - 0xca0]
add eax, dword [ebp - 0xc54]
shr eax, 2
mov dword [ebp - 0xc64], eax
movzx ecx, word [eax*4 + 0x10307e50]
lea eax, [edi*8]
add cx, word [edx + 0x10308250]
add cx, ax
mov eax, dword [ebp - 0xc30]
add dword [ebp - 0xc30], 0x10
mov word [eax + 2], cx
movzx ecx, word [edi*4 + 0x10308a50]
add cx, word [edx + 0x10308650]
mov eax, dword [ebp - 0xc64]
shl eax, 3
add cx, ax
mov eax, dword [ebp - 0xc1c]
mov word [eax + 2], cx
add eax, 0x10
mov dword [ebp - 0xc1c], 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 0x10254270
mov edx, dword [ebp - 0xc34]
lea edi, [ebp - 0x918]
mov eax, dword [ebp - 0xc38]
add eax, 8
mov dword [esi + 0xe0], 0
mov dword [ebp - 0xc3c], eax
add dword [edx + 0x20], 1
mov eax, dword [ebp - 0xce8]
adc dword [edx + 0x24], 0
mov dword [ebp - 0xc40], 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]
add edi, dword [ebp - 0xc20]
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 dword [edi + 0x158], 0
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 [edi + 0x20], 1
mov dword [edx + 0x9c], eax
adc dword [edi + 0x24], 0
mov eax, dword [edi + 0x168]
add dword [edi + 0x58], eax
mov eax, dword [edi + 0x16c]
adc dword [edi + 0x5c], eax
mov eax, dword [edi + 0x5c]
mov ecx, dword [edi + 0x58]
mov dword [ebp - 0xc], eax
mov eax, dword [edi]
mov dword [edi + 0x15c], 0
mov dword [edi + 0x160], 0
mov dword [edi + 0x164], 0
lea ecx, [eax + ecx*2]
mov dword [esi + 0xe4], 0
mov eax, dword [edi + 0x50]
add eax, eax
mov dword [edi + 0x80], ecx
add ecx, eax
mov dword [edi + 0x84], ecx
add ecx, eax
mov dword [edi + 0x88], ecx
add ecx, eax
mov dword [edi + 0x8c], ecx
add ecx, eax
mov dword [edi + 0x90], ecx
add ecx, eax
mov dword [edi + 0x94], ecx
add ecx, eax
add eax, ecx
mov dword [edi + 0x98], ecx
mov ecx, dword [esi + 0x1c]
mov dword [edi + 0x9c], eax
mov eax, dword [esi + 0x18]
add eax, 1
adc ecx, 0
cmp ecx, dword [esi + 0x7c]
jb 0x10255042
ja 0x10255034
cmp eax, dword [esi + 0x78]
jb 0x10255042
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x64]
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], ecx
jmp 0x10255091
mov dword [esi + 0x18], eax
add eax, 1
mov dword [esi + 0x1c], ecx
adc ecx, 0
cmp eax, dword [esi + 0x78]
jne 0x10255060
cmp ecx, dword [esi + 0x7c]
jne 0x10255060
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x64]
jmp 0x10255066
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0xf0]
add dword [esi + 0x70], eax
mov eax, dword [esi + 0xf4]
adc dword [esi + 0x74], eax
push dword [esi + 0x74]
mov dword [esi + 0x54], ecx
mov ecx, esi
push dword [esi + 0x70]
call fcn.10031e60
mov edx, dword [ebp - 0xc34]
sub dword [ebp - 0xc0c], 1
jne 0x10254110
mov eax, dword [ebp - 0xc28]
add esi, 0x198
mov edx, dword [ebp - 0xc38]
add eax, 0x66
mov edi, dword [ebp - 0xc20]
add edx, 0x40
mov ecx, dword [ebp - 0xd14]
add edi, 0x170
mov dword [ebp - 0xc38], edx
mov dword [ebp - 0xc28], eax
mov dword [ebp - 0xc20], edi
mov dword [ebp - 0xc24], esi
cmp eax, 0xcc
jb 0x102540d0
add dword [ebp - 0xbd8], 1
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xba0]
adc dword [ebp - 0xbd4], 0
add ecx, dword [ebp - 0xa90]
mov eax, dword [ebp - 0xb9c]
adc eax, dword [ebp - 0xa8c]
mov dword [ebp - 0xd14], eax
mov dword [ebp - 0xb9c], eax
mov eax, dword [ebp - 0xbf8]
mov dword [ebp - 0xba0], ecx
movlpd qword [ebp - 0xaa0], xmm0
movlpd qword [ebp - 0xa98], xmm0
lea eax, [eax + ecx*2]
movlpd qword [ebp - 0x930], xmm0
mov ecx, dword [ebp - 0x1c]
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
add dword [ebp - 0xa68], 1
mov ecx, dword [ebp - 0xa30]
adc dword [ebp - 0xa64], 0
add ecx, dword [ebp - 0x920]
mov dword [ebp - 0xb5c], eax
mov eax, dword [ebp - 0xa2c]
adc eax, dword [ebp - 0x91c]
mov dword [ebp - 0xa2c], eax
mov dword [ebp - 0xd14], eax
mov eax, dword [ebp - 0xa88]
mov dword [ebp - 0xa30], ecx
movlpd qword [ebp - 0x928], xmm0
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xc4c]
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
mov dword [ebp - 0x9ec], eax
mov eax, dword [ebp - 0x614]
cmp eax, dword [ebp - 0x5d4]
jb 0x10254060
ja 0x1025523b
mov eax, dword [ebp - 0x618]
cmp eax, dword [ebp - 0x5d8]
jb 0x10254060
mov ecx, dword [ebp - 0x620]
mov eax, dword [ebp - 0x61c]
add ecx, 2
movlpd qword [ebp - 0x4e0], xmm0
adc eax, 0
movlpd qword [ebp - 0x4d8], xmm0
push eax
push ecx
push dword [ebp - 0x60c]
movlpd qword [ebp - 0x618], xmm0
push dword [ebp - 0x610]
mov dword [ebp - 0x620], ecx
mov dword [ebp - 0x61c], eax
call fcn.1025da70
mov ecx, dword [ebp - 0x638]
xorps xmm0, xmm0
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], edx
movlpd qword [ebp - 0x370], xmm0
lea ecx, [ecx + eax*2]
movlpd qword [ebp - 0x368], xmm0
mov eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x5b8], ecx
movlpd qword [ebp - 0x4a8], xmm0
lea ecx, [ecx + eax*2]
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
push dword [ebp - 0x49c]
mov dword [ebp - 0x4ac], eax
push dword [ebp - 0x4a0]
call fcn.1025da70
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 eax
push ecx
push dword [ebp - 0x8ec]
push dword [ebp - 0x8f0]
call fcn.1025da70
push edx
push eax
lea ecx, [ebp - 0x918]
mov dword [ebp - 0x8c0], eax
mov dword [ebp - 0x8bc], edx
call fcn.10031e60
mov ecx, dword [ebp - 0x790]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x78c]
add ecx, 2
movlpd qword [ebp - 0x650], xmm0
adc eax, 0
movlpd qword [ebp - 0x648], xmm0
push eax
push ecx
push dword [ebp - 0x77c]
movlpd qword [ebp - 0x788], xmm0
push dword [ebp - 0x780]
mov dword [ebp - 0x790], ecx
mov dword [ebp - 0x78c], eax
call fcn.1025da70
push edx
push eax
lea ecx, [ebp - 0x7a8]
mov dword [ebp - 0x750], eax
mov dword [ebp - 0x74c], edx
call fcn.10031e60
cmp dword [ebp - 0x2e0], 1
xorps xmm0, xmm0
movlpd qword [ebp - 0x340], xmm0
jne 0x1025546f
cmp dword [ebp - 0x2dc], 0
je 0x10255487
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 0x102554f1
ja 0x102554af
cmp eax, edx
jb 0x102554f1
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 - 0xc4c], edx
mov dword [ebp - 0x274], eax
jmp 0x10255539
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 0x10255521
mov esi, dword [ebp - 0x318]
mov eax, dword [ebp - 0x314]
jmp 0x1025552d
mov esi, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0xc4c], 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.1025da70
push edx
push eax
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], edx
call fcn.10031e60
cmp dword [ebp - 0x148], 1
xorps xmm0, xmm0
movlpd qword [ebp - 0x1a8], xmm0
jne 0x1025559a
cmp dword [ebp - 0x144], 0
je 0x102555b2
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 0x1025561c
ja 0x102555da
cmp eax, edx
jb 0x1025561c
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 - 0xc4c], edx
mov dword [ebp - 0xdc], eax
jmp 0x10255664
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 0x1025564c
mov esi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x17c]
jmp 0x10255658
mov esi, dword [ebp - 0x158]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0xc4c], 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.1025da70
push edx
push eax
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
call fcn.10031e60
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.1025da70
push edx
push eax
lea ecx, [ebp - 0xbf8]
mov dword [ebp - 0xba0], eax
mov dword [ebp - 0xb9c], edx
call fcn.10031e60
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.1025da70
push edx
push eax
lea ecx, [ebp - 0xa88]
mov dword [ebp - 0xa30], eax
mov dword [ebp - 0xa2c], edx
call fcn.10031e60
mov eax, dword [ebp - 0x61c]
cmp eax, dword [ebp - 0x5cc]
jb 0x10254040
ja 0x10255778
mov eax, dword [ebp - 0x620]
cmp eax, dword [ebp - 0x5d0]
jb 0x10254040
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1025d860
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x48