Function at 0x50f850
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1110
call fcn.00563290
push ebx
push esi
mov ebx, ecx
push edi
mov ecx, 0x41d
xor eax, eax
lea edi, [ebp - 0x110c]
mov dword [ebp - 0x1110], 0
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1110]
lea ecx, [ebp - 0x1088]
lea edx, [ebp - 0x1000]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], edx
lea eax, [ebp - 0xf78]
lea ecx, [ebp - 0xef0]
lea edx, [ebp - 0xe68]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edx
lea eax, [ebp - 0xde0]
lea ecx, [ebp - 0xd58]
lea edx, [ebp - 0xcd0]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
lea eax, [ebp - 0xc48]
lea ecx, [ebp - 0xbc0]
lea edx, [ebp - 0xb38]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
lea eax, [ebp - 0xab0]
lea ecx, [ebp - 0xa28]
lea edx, [ebp - 0x9a0]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
lea eax, [ebp - 0x918]
lea ecx, [ebp - 0x890]
lea edx, [ebp - 0x808]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
lea eax, [ebp - 0x780]
lea ecx, [ebp - 0x6f8]
lea edx, [ebp - 0x670]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
lea eax, [ebp - 0x5e8]
lea ecx, [ebp - 0x560]
lea edx, [ebp - 0x4d8]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
lea eax, [ebp - 0x450]
lea ecx, [ebp - 0x3c8]
lea edx, [ebp - 0x340]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
lea eax, [ebp - 0x2b8]
lea ecx, [ebp - 0x230]
lea edx, [ebp - 0x1a8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x20], edx
lea eax, [ebp - 0x120]
lea edx, [ebp - 0x94]
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], 0x1f
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx]
shl ecx, 2
mov edx, dword [eax]
mov esi, dword [eax - 4]
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [ebp - 4], edx
and ecx, 3
mov dword [ebp - 0x18], edx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx]
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
rcl eax, 1
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x50f9f4
rcl eax, 1
and eax, 1
mov eax, dword [ebx + 0x1410]
mov ecx, ebx
push eax
push edx
call fcn.0050c5f0
test ax, ax
jl 0x50fa56
mov ecx, dword [ebx + 0x1410]
mov edx, dword [ebp - 4]
mov eax, dword [ebx]
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x50fa3f
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
add ecx, 4
dec eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
jne 0x50f9bd
mov ecx, dword [ebx]
mov edx, dword [ebp + 8]
shl ecx, 2
mov dword [ebp - 0x14], ecx
mov edi, edx
lea eax, [ecx + edx - 8]
mov esi, ecx
mov dword [ebp - 0x10], eax
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov dword [edx], 0
mov cx, word [ebx]
mov edx, dword [ebp + 0x10]
movsx eax, cx
mov esi, dword [edx + eax*4 - 4]
lea eax, [edx + eax*4 - 4]
sub eax, 4
test esi, esi
jne 0x50fac1
dec ecx
test cx, cx
je 0x51167c
mov esi, dword [eax]
sub eax, 4
test esi, esi
je 0x50faae
test cx, cx
je 0x51167c
movsx eax, cx
dec ecx
lea edx, [edx + eax*4 - 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp + 0x10], edx
mov cx, word [ebx]
mov esi, dword [ebp + 8]
movsx eax, cx
dec ecx
lea eax, [esi + eax*4 - 4]
test cx, cx
mov edx, eax
je 0x50fafe
movsx ecx, cx
mov edi, dword [edx - 4]
sub edx, 4
mov dword [eax], edi
sub eax, 4
dec ecx
jne 0x50faf0
mov ecx, dword [ebp - 0x14]
mov dword [eax], 0
mov edx, dword [ebx + 0x314]
mov eax, dword [ecx + esi - 4]
sub eax, edx
test eax, eax
jg 0x50fb6c
jne 0x50fba3
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x394]
mov eax, dword [edx]
cmp eax, ecx
ja 0x50fb6c
jne 0x50fba3
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x148c]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x50fba3
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x50fb6c
dec esi
test si, si
je 0x50fb6c
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x50fb52
jmp 0x50fba3
mov eax, dword [ebx + 0x148c]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x50fb8c
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x310]
sub eax, edx
test eax, eax
jg 0x50fc0c
jne 0x50fc43
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x390]
cmp eax, ecx
ja 0x50fc0c
jne 0x50fc43
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1488]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x50fc43
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x50fc0c
dec esi
test si, si
je 0x50fc0c
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x50fbf2
jmp 0x50fc43
mov edx, dword [ebx + 0x1488]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x50fc2c
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x30c]
sub eax, edx
test eax, eax
jg 0x50fcae
jne 0x50fce5
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x38c]
mov eax, dword [eax]
cmp eax, ecx
ja 0x50fcae
jne 0x50fce5
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x1484]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x50fce5
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x50fcae
dec esi
test si, si
je 0x50fcae
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x50fc94
jmp 0x50fce5
mov eax, dword [ebx + 0x1484]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x50fcce
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x308]
sub eax, edx
test eax, eax
jg 0x50fd4e
jne 0x50fd85
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x388]
cmp eax, ecx
ja 0x50fd4e
jne 0x50fd85
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1480]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x50fd85
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x50fd4e
dec esi
test si, si
je 0x50fd4e
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x50fd34
jmp 0x50fd85
mov edx, dword [ebx + 0x1480]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x50fd6e
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x304]
sub eax, edx
test eax, eax
jg 0x50fdf0
jne 0x50fe27
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x384]
mov eax, dword [eax]
cmp eax, ecx
ja 0x50fdf0
jne 0x50fe27
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x147c]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x50fe27
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x50fdf0
dec esi
test si, si
je 0x50fdf0
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x50fdd6
jmp 0x50fe27
mov eax, dword [ebx + 0x147c]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x50fe10
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x300]
sub eax, edx
test eax, eax
jg 0x50fe90
jne 0x50fec7
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x380]
cmp eax, ecx
ja 0x50fe90
jne 0x50fec7
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1478]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x50fec7
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x50fe90
dec esi
test si, si
je 0x50fe90
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x50fe76
jmp 0x50fec7
mov edx, dword [ebx + 0x1478]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x50feb0
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2fc]
sub eax, edx
test eax, eax
jg 0x50ff32
jne 0x50ff69
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x37c]
mov eax, dword [eax]
cmp eax, ecx
ja 0x50ff32
jne 0x50ff69
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x1474]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x50ff69
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x50ff32
dec esi
test si, si
je 0x50ff32
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x50ff18
jmp 0x50ff69
mov eax, dword [ebx + 0x1474]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x50ff52
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2f8]
sub eax, edx
test eax, eax
jg 0x50ffd2
jne 0x510009
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x378]
cmp eax, ecx
ja 0x50ffd2
jne 0x510009
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1470]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x510009
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x50ffd2
dec esi
test si, si
je 0x50ffd2
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x50ffb8
jmp 0x510009
mov edx, dword [ebx + 0x1470]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x50fff2
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2f4]
sub eax, edx
test eax, eax
jg 0x510074
jne 0x5100ab
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x374]
mov eax, dword [eax]
cmp eax, ecx
ja 0x510074
jne 0x5100ab
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x146c]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x5100ab
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x510074
dec esi
test si, si
je 0x510074
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x51005a
jmp 0x5100ab
mov eax, dword [ebx + 0x146c]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510094
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2f0]
sub eax, edx
test eax, eax
jg 0x510114
jne 0x51014b
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x370]
cmp eax, ecx
ja 0x510114
jne 0x51014b
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1468]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x51014b
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x510114
dec esi
test si, si
je 0x510114
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x5100fa
jmp 0x51014b
mov edx, dword [ebx + 0x1468]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510134
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2ec]
sub eax, edx
test eax, eax
jg 0x5101b6
jne 0x5101ed
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x36c]
mov eax, dword [eax]
cmp eax, ecx
ja 0x5101b6
jne 0x5101ed
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x1464]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x5101ed
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x5101b6
dec esi
test si, si
je 0x5101b6
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x51019c
jmp 0x5101ed
mov eax, dword [ebx + 0x1464]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5101d6
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2e8]
sub eax, edx
test eax, eax
jg 0x510256
jne 0x51028d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x368]
cmp eax, ecx
ja 0x510256
jne 0x51028d
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1460]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x51028d
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x510256
dec esi
test si, si
je 0x510256
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x51023c
jmp 0x51028d
mov edx, dword [ebx + 0x1460]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510276
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2e4]
sub eax, edx
test eax, eax
jg 0x5102f8
jne 0x51032f
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x364]
mov eax, dword [eax]
cmp eax, ecx
ja 0x5102f8
jne 0x51032f
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x145c]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x51032f
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x5102f8
dec esi
test si, si
je 0x5102f8
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x5102de
jmp 0x51032f
mov eax, dword [ebx + 0x145c]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510318
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2e0]
sub eax, edx
test eax, eax
jg 0x510398
jne 0x5103cf
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x360]
cmp eax, ecx
ja 0x510398
jne 0x5103cf
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1458]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x5103cf
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x510398
dec esi
test si, si
je 0x510398
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x51037e
jmp 0x5103cf
mov edx, dword [ebx + 0x1458]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5103b8
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2dc]
sub eax, edx
test eax, eax
jg 0x51043a
jne 0x510471
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x35c]
mov eax, dword [eax]
cmp eax, ecx
ja 0x51043a
jne 0x510471
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x1454]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x510471
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x51043a
dec esi
test si, si
je 0x51043a
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x510420
jmp 0x510471
mov eax, dword [ebx + 0x1454]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x51045a
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2d8]
sub eax, edx
test eax, eax
jg 0x5104da
jne 0x510511
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x358]
cmp eax, ecx
ja 0x5104da
jne 0x510511
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1450]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x510511
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x5104da
dec esi
test si, si
je 0x5104da
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x5104c0
jmp 0x510511
mov edx, dword [ebx + 0x1450]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5104fa
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2d4]
sub eax, edx
test eax, eax
jg 0x51057c
jne 0x5105b3
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x354]
mov eax, dword [eax]
cmp eax, ecx
ja 0x51057c
jne 0x5105b3
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x144c]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x5105b3
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x51057c
dec esi
test si, si
je 0x51057c
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x510562
jmp 0x5105b3
mov eax, dword [ebx + 0x144c]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x51059c
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2d0]
sub eax, edx
test eax, eax
jg 0x51061c
jne 0x510653
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x350]
cmp eax, ecx
ja 0x51061c
jne 0x510653
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1448]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x510653
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x51061c
dec esi
test si, si
je 0x51061c
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x510602
jmp 0x510653
mov edx, dword [ebx + 0x1448]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x51063c
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2cc]
sub eax, edx
test eax, eax
jg 0x5106be
jne 0x5106f5
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x34c]
mov eax, dword [eax]
cmp eax, ecx
ja 0x5106be
jne 0x5106f5
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x1444]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x5106f5
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x5106be
dec esi
test si, si
je 0x5106be
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x5106a4
jmp 0x5106f5
mov eax, dword [ebx + 0x1444]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5106de
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2c8]
sub eax, edx
test eax, eax
jg 0x51075e
jne 0x510795
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x348]
cmp eax, ecx
ja 0x51075e
jne 0x510795
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1440]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x510795
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x51075e
dec esi
test si, si
je 0x51075e
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x510744
jmp 0x510795
mov edx, dword [ebx + 0x1440]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x51077e
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2c4]
sub eax, edx
test eax, eax
jg 0x510800
jne 0x510837
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x344]
mov eax, dword [eax]
cmp eax, ecx
ja 0x510800
jne 0x510837
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x143c]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x510837
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x510800
dec esi
test si, si
je 0x510800
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x5107e6
jmp 0x510837
mov eax, dword [ebx + 0x143c]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510820
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2c0]
sub eax, edx
test eax, eax
jg 0x5108a0
jne 0x5108d7
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x340]
cmp eax, ecx
ja 0x5108a0
jne 0x5108d7
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1438]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x5108d7
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x5108a0
dec esi
test si, si
je 0x5108a0
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x510886
jmp 0x5108d7
mov edx, dword [ebx + 0x1438]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5108c0
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2bc]
sub eax, edx
test eax, eax
jg 0x510942
jne 0x510979
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x33c]
mov eax, dword [eax]
cmp eax, ecx
ja 0x510942
jne 0x510979
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x1434]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x510979
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x510942
dec esi
test si, si
je 0x510942
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x510928
jmp 0x510979
mov eax, dword [ebx + 0x1434]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510962
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2b8]
sub eax, edx
test eax, eax
jg 0x5109e2
jne 0x510a19
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x338]
cmp eax, ecx
ja 0x5109e2
jne 0x510a19
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1430]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x510a19
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x5109e2
dec esi
test si, si
je 0x5109e2
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x5109c8
jmp 0x510a19
mov edx, dword [ebx + 0x1430]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510a02
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2b4]
sub eax, edx
test eax, eax
jg 0x510a84
jne 0x510abb
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x334]
mov eax, dword [eax]
cmp eax, ecx
ja 0x510a84
jne 0x510abb
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x142c]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x510abb
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x510a84
dec esi
test si, si
je 0x510a84
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x510a6a
jmp 0x510abb
mov eax, dword [ebx + 0x142c]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510aa4
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2b0]
sub eax, edx
test eax, eax
jg 0x510b24
jne 0x510b5b
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x330]
cmp eax, ecx
ja 0x510b24
jne 0x510b5b
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1428]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x510b5b
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x510b24
dec esi
test si, si
je 0x510b24
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x510b0a
jmp 0x510b5b
mov edx, dword [ebx + 0x1428]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510b44
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2ac]
sub eax, edx
test eax, eax
jg 0x510bc6
jne 0x510bfd
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x32c]
mov eax, dword [eax]
cmp eax, ecx
ja 0x510bc6
jne 0x510bfd
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x1424]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x510bfd
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x510bc6
dec esi
test si, si
je 0x510bc6
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x510bac
jmp 0x510bfd
mov eax, dword [ebx + 0x1424]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510be6
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x80000000
je 0x510c33
mov ecx, dword [ebx]
lea eax, [ebp - 0x120]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510c21
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x40000000
je 0x510c69
mov ecx, dword [ebx]
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510c57
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x20000000
je 0x510c9f
mov ecx, dword [ebx]
lea eax, [ebp - 0x230]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510c8d
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x10000000
je 0x510cd5
mov ecx, dword [ebx]
lea eax, [ebp - 0x2b8]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510cc3
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x8000000
je 0x510d0b
mov ecx, dword [ebx]
lea eax, [ebp - 0x340]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510cf9
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x4000000
je 0x510d41
mov ecx, dword [ebx]
lea eax, [ebp - 0x3c8]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510d2f
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x2000000
je 0x510d77
mov ecx, dword [ebx]
lea eax, [ebp - 0x450]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510d65
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x1000000
je 0x510dad
mov ecx, dword [ebx]
lea eax, [ebp - 0x4d8]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510d9b
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x800000
je 0x510de3
mov ecx, dword [ebx]
lea eax, [ebp - 0x560]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510dd1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x400000
je 0x510e19
mov ecx, dword [ebx]
lea eax, [ebp - 0x5e8]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510e07
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x200000
je 0x510e4f
mov ecx, dword [ebx]
lea eax, [ebp - 0x670]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510e3d
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x100000
je 0x510e85
mov ecx, dword [ebx]
lea eax, [ebp - 0x6f8]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510e73
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x80000
je 0x510ebb
mov ecx, dword [ebx]
lea eax, [ebp - 0x780]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510ea9
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x40000
je 0x510ef1
mov ecx, dword [ebx]
lea eax, [ebp - 0x808]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510edf
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x20000
je 0x510f27
mov ecx, dword [ebx]
lea eax, [ebp - 0x890]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510f15
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test dword [edx], 0x10000
je 0x510f5d
mov ecx, dword [ebx]
lea eax, [ebp - 0x918]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510f4b
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
test ah, 0x80
je 0x510f92
mov ecx, dword [ebx]
lea eax, [ebp - 0x9a0]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510f80
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
test ah, 0x40
je 0x510fc7
mov ecx, dword [ebx]
lea eax, [ebp - 0xa28]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510fb5
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
test ah, 0x20
je 0x510ffc
mov ecx, dword [ebx]
lea eax, [ebp - 0xab0]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x510fea
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
test ah, 0x10
je 0x511031
mov ecx, dword [ebx]
lea eax, [ebp - 0xb38]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x51101f
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
test ah, 8
je 0x511066
mov ecx, dword [ebx]
lea eax, [ebp - 0xbc0]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511054
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
test ah, 4
je 0x51109b
mov ecx, dword [ebx]
lea eax, [ebp - 0xc48]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511089
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
test ah, 2
je 0x5110d0
mov ecx, dword [ebx]
lea eax, [ebp - 0xcd0]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5110be
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
test ah, 1
je 0x511105
mov ecx, dword [ebx]
lea eax, [ebp - 0xd58]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5110f3
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test byte [edx], 0x80
je 0x511138
mov ecx, dword [ebx]
lea eax, [ebp - 0xde0]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511126
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test byte [edx], 0x40
je 0x51116b
mov ecx, dword [ebx]
lea eax, [ebp - 0xe68]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511159
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test byte [edx], 0x20
je 0x51119e
mov ecx, dword [ebx]
lea eax, [ebp - 0xef0]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x51118c
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test byte [edx], 0x10
je 0x5111d1
mov ecx, dword [ebx]
lea eax, [ebp - 0xf78]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5111bf
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test byte [edx], 8
je 0x511204
mov ecx, dword [ebx]
lea eax, [ebp - 0x1000]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5111f2
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test byte [edx], 4
je 0x511237
mov ecx, dword [ebx]
lea eax, [ebp - 0x1088]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511225
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test byte [edx], 2
je 0x51126a
mov ecx, dword [ebx]
lea eax, [ebp - 0x1110]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511258
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
test byte [edx], 1
je 0x51129a
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
adc eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511288
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2ac]
sub eax, edx
test eax, eax
jg 0x511303
jne 0x51133a
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x32c]
cmp eax, ecx
ja 0x511303
jne 0x51133a
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1424]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x51133a
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x511303
dec esi
test si, si
je 0x511303
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x5112e9
jmp 0x51133a
mov edx, dword [ebx + 0x1424]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511323
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2a8]
sub eax, edx
test eax, eax
jg 0x5113a5
jne 0x5113dc
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x328]
mov eax, dword [eax]
cmp eax, ecx
ja 0x5113a5
jne 0x5113dc
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x1420]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x5113dc
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x5113a5
dec esi
test si, si
je 0x5113a5
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x51138b
jmp 0x5113dc
mov eax, dword [ebx + 0x1420]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5113c5
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x2a4]
sub eax, edx
test eax, eax
jg 0x511445
jne 0x51147c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x324]
cmp eax, ecx
ja 0x511445
jne 0x51147c
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x141c]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x51147c
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x511445
dec esi
test si, si
je 0x511445
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x51142b
jmp 0x51147c
mov edx, dword [ebx + 0x141c]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511465
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x2a0]
sub eax, edx
test eax, eax
jg 0x5114e7
jne 0x51151e
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x320]
mov eax, dword [eax]
cmp eax, ecx
ja 0x5114e7
jne 0x51151e
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x1418]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [edx + eax - 4]
lea edx, [edx + eax - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x51151e
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x5114e7
dec esi
test si, si
je 0x5114e7
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x5114cd
jmp 0x51151e
mov eax, dword [ebx + 0x1418]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511507
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [edx + eax - 4]
mov edx, dword [ebx + 0x29c]
sub eax, edx
test eax, eax
jg 0x511587
jne 0x5115be
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebx + 0x31c]
cmp eax, ecx
ja 0x511587
jne 0x5115be
mov si, word [ebx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1414]
movsx eax, si
shl eax, 2
lea edi, [eax + edx - 4]
lea edx, [ecx + eax - 4]
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jb 0x5115be
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x511587
dec esi
test si, si
je 0x511587
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x51156d
jmp 0x5115be
mov edx, dword [ebx + 0x1414]
mov eax, dword [ebx]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x5115a7
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + edx - 4]
mov edx, dword [ebx + 0x298]
sub eax, edx
test eax, eax
jg 0x511629
jne 0x511660
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx + 0x318]
mov eax, dword [eax]
cmp eax, ecx
ja 0x511629
jne 0x511660
mov si, word [ebx]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x1410]
movsx eax, si
shl eax, 2
lea edi, [eax + ecx - 4]
mov ecx, dword [eax + edx - 4]
lea edx, [eax + edx - 4]
mov eax, dword [edi]
cmp eax, ecx
jb 0x511660
sub edx, 4
sub edi, 4
cmp eax, ecx
ja 0x511629
dec esi
test si, si
je 0x511629
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
jae 0x51160f
jmp 0x511660
mov eax, dword [ebx + 0x1410]
mov ecx, dword [ebx]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
xor esi, esi
mov eax, 0
rcr eax, 1
mov eax, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
sbb eax, ebx
mov dword [ecx + esi*4], eax
inc esi
dec edi
jne 0x511649
rcl eax, 1
and eax, 1
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x18]
sub edx, 4
mov dword [ebp + 0x10], edx
mov dx, ax
dec eax
test dx, dx
mov dword [ebp - 0x18], eax
jne 0x50fad8
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0xc