Function at 0x5f0530
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c8
mov dword [esp], edx
mov esi, dword [edx]
mov dword [esp + 0x78], esi
mov edi, dword [edx + 4]
mov dword [esp + 0x184], edi
mov eax, esi
mul edi
mov dword [esp + 0xc0], edx
mov ebx, eax
mov eax, esi
mul esi
mov ebp, eax
mov dword [esp + 0xc], eax
mov edi, edx
mov edx, 0xffffffff
mul edx
mov dword [esp + 0x150], edx
mov esi, edx
mov edx, eax
mov dword [esp + 0x28], eax
add esi, eax
mov dword [esp + 0xe8], esi
mov eax, esi
adc eax, 0
mov dword [esp + 0x20], eax
mov eax, edx
add eax, ebp
mov eax, edi
mov dword [esp + 0xf8], ebx
adc eax, ebx
mov dword [esp + 0x68], eax
mov esi, dword [esp]
mov eax, dword [esi + 0xc]
mov dword [esp + 0xd8], eax
mov ebp, dword [esp + 0x78]
mul ebp
mov dword [esp + 0x50], eax
mov dword [esp + 0x130], edx
mov eax, dword [esi + 8]
mov dword [esp + 0x1c], eax
mul ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], edx
add edi, ebx
mov esi, eax
adc esi, dword [esp + 0xc0]
mov dword [esp + 0x58], esi
mov ebp, dword [esp + 0x50]
adc ebp, edx
mov ebx, ebp
setb byte [esp + 0x164]
mov ebp, dword [esp + 0x28]
mov eax, ebp
add eax, dword [esp + 0xc]
adc edi, dword [esp + 0xe8]
setb byte [esp + 4]
mov eax, esi
adc eax, 0
mov esi, dword [esp + 0x150]
mov edx, esi
add edx, ebp
adc edx, eax
mov dword [esp + 8], edx
mov eax, esi
add eax, ebp
mov edx, esi
adc edx, ebp
mov edx, dword [esp + 0x68]
lea eax, [edx + eax]
mov dword [esp + 0xe8], eax
adc ebx, esi
mov dword [esp + 0x18], ebx
setb byte [esp + 0x34]
mov esi, dword [esp + 0x184]
mov eax, esi
mul esi
mov ebp, esi
mov edi, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x68], edx
mov esi, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
mul ebp
mov dword [esp + 0x140], eax
mov dword [esp + 0x38], edx
add esi, edi
mov edx, dword [esp + 0x68]
adc edx, eax
mov dword [esp + 0x68], edx
setb byte [esp + 0x24]
mov eax, dword [esp + 0xe8]
add eax, dword [esp + 0xf8]
adc esi, dword [esp + 8]
mov eax, edx
setb byte [esp + 0x60]
adc eax, 0
add byte [esp + 4], 0xff
mov edx, dword [esp + 0x58]
adc edx, dword [esp + 0x20]
mov edi, dword [esp]
movsd xmm0, qword [edi + 0x18]
movaps xmm1, xmm0
shufps xmm1, xmm1, 0x55
setb byte [esp + 0x40]
adc eax, ebx
mov dword [esp + 0x44], eax
movd eax, xmm1
mov dword [esp + 0x160], eax
mov ebp, dword [esp + 0x78]
mul ebp
mov dword [esp + 0xbc], eax
mov dword [esp + 0x48], edx
movd eax, xmm0
mov dword [esp + 0x58], eax
mul ebp
mov esi, eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x64], edx
mov eax, dword [edi + 0x14]
mov ebx, edi
mov dword [esp + 4], eax
mul ebp
mov edi, eax
mov dword [esp + 0xb4], eax
mov ebp, edx
mov dword [esp + 0x128], edx
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x20], eax
mul dword [esp + 0x78]
mov dword [esp + 0x120], eax
mov dword [esp + 0xb0], edx
add byte [esp + 0x164], 0xff
adc eax, dword [esp + 0x130]
mov dword [esp + 0x2c], eax
adc edi, edx
mov dword [esp], edi
adc esi, ebp
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0xbc]
adc eax, dword [esp + 0x64]
mov dword [esp + 0xd0], eax
setb byte [esp + 0x1b8]
mov eax, dword [esp + 0xf8]
add dword [esp + 0xe8], eax
mov eax, dword [esp + 0x54]
adc dword [esp + 0xc0], eax
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x184]
mul ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x164], eax
mov eax, dword [esp + 4]
mul ebp
mov dword [esp + 0x54], edx
mov edi, eax
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x20]
mul ebp
mov esi, edx
mov dword [esp + 0xac], edx
mov ebx, eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xd8]
mul ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1a8], edx
add byte [esp + 0x24], 0xff
adc eax, dword [esp + 0x38]
mov dword [esp + 0x174], eax
adc ebx, edx
mov dword [esp + 0x12c], ebx
adc edi, esi
mov dword [esp + 0xa4], edi
mov eax, dword [esp + 0x164]
adc eax, dword [esp + 0x54]
mov dword [esp + 0xb8], eax
setb byte [esp + 0x198]
xor edx, edx
movzx eax, byte [esp + 0x34]
mov dl, al
add byte [esp + 0x40], 0xff
adc dword [esp + 0x18], 0
adc edx, dword [esp + 0x2c]
mov dword [esp + 0xf8], edx
adc dword [esp], 0
mov eax, dword [esp + 0x78]
adc eax, dword [esp + 0xc]
mov dword [esp + 0x78], eax
setb byte [esp + 0x17]
mov eax, dword [esp + 0xd0]
adc eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0xe8]
mov eax, ebx
mov edx, 0xffffffff
mul edx
mov dword [esp + 0x2c], edx
mov edi, edx
add edi, eax
mov ebp, edi
adc ebp, 0
mov esi, eax
add esi, ebx
mov esi, edx
adc esi, eax
mov dword [esp + 0x11c], esi
mov edx, dword [esp + 0xc0]
add edx, dword [esp + 8]
mov dword [esp + 0xc0], edx
mov esi, eax
add esi, ebx
adc edi, edx
mov esi, dword [esp + 0x44]
setb dl
adc esi, ebp
mov dword [esp + 0x118], esi
add byte [esp + 0x60], 0xff
mov esi, dword [esp + 0x18]
adc esi, dword [esp + 0x68]
mov ebx, dword [esp + 0xf8]
adc ebx, dword [esp + 0x174]
mov dword [esp + 0xf8], ebx
mov esi, dword [esp + 0x12c]
adc dword [esp], esi
mov esi, dword [esp + 0xa4]
adc dword [esp + 0x78], esi
mov edi, dword [esp + 0x2c]
mov esi, edi
setb byte [esp + 0x9c]
mov dword [esp + 0x34], eax
add esi, eax
mov esi, edi
adc esi, eax
mov esi, edi
adc esi, 0
add dl, 0xff
adc ebp, dword [esp + 0x44]
setb byte [esp + 0x44]
adc ebx, esi
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mul ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd8]
mul ebp
mov dword [esp + 8], eax
mov ebx, edx
mov dword [esp + 0x94], edx
mov edi, dword [esp + 0x10]
mov eax, ebp
mul ebp
add edi, dword [esp + 0x140]
mov dword [esp + 0x90], edi
adc eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
adc edx, dword [esp + 8]
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0xc]
adc eax, ebx
mov dword [esp + 0xa4], eax
setb byte [esp + 0xa0]
add byte [esp + 0x44], 0xff
adc esi, dword [esp + 0xf8]
adc dword [esp], 0
setb byte [esp + 0x16]
adc eax, dword [esp + 0x78]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x58]
mul ebp
mov dword [esp + 0x174], eax
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x64]
add edx, dword [esp + 0x164]
mov dword [esp + 0x12c], edx
mov edx, eax
adc edx, dword [esp + 0x3c]
mov dword [esp + 0x44], edx
setb al
movzx eax, al
add byte [esp + 0x1b8], 0xff
movd xmm1, eax
movd xmm2, dword [esp + 0x48]
pshufd xmm1, xmm1, 0x50
pshufd xmm2, xmm2, 0x50
punpcklqdq xmm2, xmm1
psrlq xmm2, 0x20
movdqu xmmword [esp + 0x1b8], xmm2
movd eax, xmm2
adc eax, 0
mov dword [esp + 0x114], eax
mov edi, dword [esp + 0xc0]
add edi, dword [esp + 0x11c]
mov eax, edi
mov esi, dword [esp + 0x30]
add eax, esi
mov eax, dword [esp + 0x10]
adc eax, dword [esp + 0x140]
add edi, esi
mov dword [esp + 0xc0], edi
mov edx, dword [esp + 0x118]
adc dword [esp + 0x90], edx
setb byte [esp + 0x30]
mov esi, dword [esp + 0x68]
adc esi, dword [esp + 0x18]
mov dword [esp + 0x140], esi
add eax, edx
mov dword [esp + 0x10], eax
mov eax, edi
mov edx, 0xffffffff
mul edx
mov ebp, edx
add edx, eax
mov ebx, edx
adc ebx, 0
mov esi, eax
add esi, edi
mov esi, ebp
adc esi, eax
mov dword [esp + 0x38], esi
mov esi, eax
mov dword [esp + 0x118], eax
add esi, edi
adc edx, dword [esp + 0x10]
setb byte [esp + 0x8c]
mov edx, dword [esp + 0x140]
adc edx, ebx
mov dword [esp + 0x10c], edx
add byte [esp + 0x9c], 0xff
mov edx, dword [esp + 0x24]
adc edx, dword [esp + 0xb8]
mov dword [esp + 0x24], edx
setb byte [esp + 0x90]
add byte [esp + 0x30], 0xff
mov esi, dword [esp + 0x18]
adc esi, dword [esp + 0x68]
mov edi, dword [esp]
adc edi, dword [esp + 0x98]
mov dword [esp], edi
mov dword [esp + 0x11c], ebp
mov esi, ebp
setb byte [esp + 0x48]
add esi, eax
mov esi, ebp
adc esi, eax
adc ebp, 0
mov dword [esp + 0x9c], ebp
add byte [esp + 0x8c], 0xff
adc ebx, dword [esp + 0x140]
mov eax, edi
setb byte [esp + 0x98]
adc eax, ebp
mov dword [esp + 0x30], eax
add byte [esp + 0x16], 0xff
adc dword [esp + 0x78], 0
setb byte [esp + 0x88]
adc edx, dword [esp + 0xe8]
mov dword [esp + 0x110], edx
mov esi, dword [esp + 4]
mov eax, esi
mul dword [esp + 0x1c]
mov ebx, edx
mov dword [esp + 0xb8], edx
mov ebp, eax
mov dword [esp + 0x140], eax
mov edi, dword [esp + 0xd8]
mov eax, edi
mul edi
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x130]
add edx, dword [esp + 0x4c]
mov dword [esp + 0x108], edx
mov edx, dword [esp + 0x1a8]
adc dword [esp + 8], edx
adc eax, dword [esp + 0x94]
mov dword [esp + 0x8c], eax
setb byte [esp + 0x16]
add byte [esp + 0xa0], 0xff
adc ebp, dword [esp + 0x40]
mov dword [esp + 0x68], ebp
adc dword [esp + 0x174], ebx
setb byte [esp + 0xa0]
add byte [esp + 0x17], 0xff
mov edx, dword [esp + 0xd0]
adc edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x114]
adc ebx, dword [esp + 0x150]
setb byte [esp + 0x114]
add byte [esp + 0x198], 0xff
movd xmm4, dword [esp + 0x184]
pxor xmm1, xmm1
punpckldq xmm0, xmm1
pxor xmm2, xmm2
pshufd xmm3, xmm0, 0x4e
movd xmm1, esi
movd xmm5, edi
movdqa xmm0, xmm5
movdqa xmm6, xmm5
punpckldq xmm0, xmm1
punpcklqdq xmm4, xmm0
pmuludq xmm4, xmm3
movdqu xmmword [esp + 0x198], xmm4
movd edx, xmm4
adc edx, dword [esp + 0x3c]
movdqa xmm0, xmm4
psrlq xmm0, 0x20
movdqu xmmword [esp + 0x184], xmm0
movd eax, xmm0
adc eax, 0
mov dword [esp + 0x28], eax
add byte [esp + 0x90], 0xff
adc edx, ebx
mov dword [esp + 0x150], edx
setb byte [esp + 0x90]
movzx edx, byte [esp + 0x48]
add dl, 0xff
adc dword [esp + 0xf8], 0
add byte [esp + 0x88], 0xff
mov eax, dword [esp + 0x24]
adc eax, dword [esp + 0xe8]
adc dword [esp + 0x34], 0
setb byte [esp + 0x94]
mov edi, dword [esp + 0x38]
add edi, dword [esp + 0x10]
mov edx, edi
mov esi, dword [esp + 0x50]
add edx, esi
mov edx, dword [esp + 0x130]
adc edx, dword [esp + 0x4c]
add edi, esi
mov eax, dword [esp + 0x10c]
adc dword [esp + 0x108], eax
mov esi, dword [esp + 0x30]
setb byte [esp + 0x3c]
adc esi, dword [esp + 8]
mov dword [esp + 0xe8], esi
add edx, eax
mov dword [esp + 0x130], edx
mov eax, edi
mov esi, edi
mov dword [esp + 0x38], edi
mov edx, 0xffffffff
mul edx
mov ebx, edx
mov ebp, edx
mov dword [esp + 0x24], edx
add ebp, eax
mov edx, ebp
adc edx, 0
mov edi, eax
add edi, esi
adc ebx, eax
mov dword [esp + 0x10], ebx
mov edi, eax
add edi, esi
adc ebp, dword [esp + 0x130]
mov esi, dword [esp + 0xe8]
setb byte [esp + 0x88]
adc esi, edx
mov ebp, edx
mov dword [esp + 0x4c], esi
add byte [esp + 0x48], 0xff
mov edx, dword [esp + 0x78]
adc edx, dword [esp + 0xa4]
mov esi, dword [esp + 0x68]
adc esi, 0
setb dh
movzx ebx, dh
add esi, dword [esp + 0x110]
mov dword [esp + 0x68], esi
adc ebx, dword [esp + 0x174]
mov dword [esp + 0x110], ebx
setb byte [esp + 0x174]
add byte [esp + 0x98], 0xff
mov edx, dword [esp + 0x9c]
adc edx, dword [esp]
mov edi, dword [esp + 0xf8]
adc edi, 0
setb byte [esp + 0x108]
adc esi, 0
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x150]
lea edx, [esi + edx]
mov dword [esp + 0x10c], edx
lea edx, [ebx + edx]
mov dword [esp + 0x194], edx
mov esi, dword [esp + 0xc0]
setb byte [esp + 0x5f]
adc esi, edx
setb byte [esp + 0x78]
add byte [esp + 0x3c], 0xff
mov edx, dword [esp + 0x30]
adc dword [esp + 8], edx
adc edi, dword [esp + 0x8c]
mov edx, edi
mov dword [esp + 0xf8], edi
mov edi, dword [esp + 0x24]
mov esi, edi
setb byte [esp + 0x17]
mov dword [esp + 0xd0], eax
add esi, eax
mov esi, edi
adc esi, eax
adc edi, 0
mov dword [esp + 0xa4], edi
add byte [esp + 0x88], 0xff
adc ebp, dword [esp + 0xe8]
setb byte [esp + 0x9c]
adc edx, edi
mov ebp, edx
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x130]
mov eax, edx
mov edi, dword [esp + 0x120]
add eax, edi
mov eax, dword [esp + 0xb0]
mov ebx, eax
mov esi, dword [esp + 0xa8]
adc ebx, esi
mov dword [esp + 0x48], ebx
add eax, esi
mov esi, eax
mov eax, dword [esp + 0xc]
adc eax, dword [esp + 0xac]
mov dword [esp + 0xc], eax
setb byte [esp + 0x30]
add edx, edi
mov dword [esp + 0x10], edx
adc esi, dword [esp + 0x4c]
mov edx, ebp
setb byte [esp + 0xa8]
adc edx, eax
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xd8]
mul ebx
mov dword [esp], edx
mov esi, eax
mov dword [esp + 8], eax
mov edi, dword [esp + 0x20]
mov eax, edi
mul ebx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
add byte [esp + 0x16], 0xff
mov ebp, dword [esp + 0x18]
adc ebp, eax
mov dword [esp + 0x18], ebp
adc esi, edx
mov dword [esp + 0xd8], esi
setb byte [esp + 0x120]
add byte [esp + 0x114], 0xff
mov eax, dword [esp + 0x28]
adc eax, 0
setb byte [esp + 0xb0]
add byte [esp + 0x90], 0xff
adc eax, 0
mov dword [esp + 0x28], eax
movd xmm0, edi
movd xmm4, dword [esp + 0x1c]
punpckldq xmm4, xmm0
setb byte [esp + 0xac]
xor edx, edx
xor ebx, ebx
add byte [esp + 0x5f], 0xff
mov eax, dword [esp + 0x194]
adc dword [esp + 0xc0], eax
add byte [esp + 0x108], 0xff
adc dword [esp + 0x68], ebp
add byte [esp + 0xa0], 0xff
movzx eax, byte [esp + 0x174]
mov dl, al
movzx eax, byte [esp + 0x94]
mov bl, al
punpckldq xmm4, xmm2
movdqu xmmword [esp + 0x130], xmm4
movdqa xmm0, xmm3
movdqa xmm7, xmm3
movdqu xmmword [esp + 0x1a8], xmm3
pmuludq xmm0, xmm4
movdqu xmmword [esp + 0xe8], xmm0
movd eax, xmm0
adc eax, dword [esp + 0x60]
psrlq xmm0, 0x20
movdqu xmmword [esp + 0x174], xmm0
movd esi, xmm0
adc esi, 0
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0x10c]
add dword [esp + 0x110], esi
mov esi, edx
adc esi, eax
mov dword [esp + 0x94], esi
setb byte [esp + 0x1c]
mov eax, dword [esp + 0x150]
add dword [esp + 0x34], eax
adc ebx, dword [esp + 0x2c]
setb al
movzx eax, al
add ebx, dword [esp + 0x28]
adc eax, 0
mov dh, byte [esp + 0x78]
add dh, 0xff
movzx ebp, byte [esp + 0xb0]
lea edx, [esi + ebx]
mov edi, edx
mov esi, dword [esp + 0x118]
adc edi, esi
mov dword [esp + 0xb0], edi
add byte [esp + 0xac], 0xff
mov edi, ebp
adc edi, eax
add byte [esp + 0x78], 0xff
adc edx, esi
setb byte [esp + 0x78]
mov eax, dword [esp + 0x20]
mul eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0xac], edx
xor eax, eax
mov esi, dword [esp + 0x88]
add esi, dword [esp + 0x40]
setb al
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x10]
mov edx, 0xffffffff
mul edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edx
mov ebp, edx
xor edx, edx
add ebp, eax
setb dl
xor eax, eax
add edi, dword [esp + 0xa0]
mov dword [esp + 0x40], edi
setb al
add ebx, dword [esp + 0x94]
movd xmm0, edx
movd xmm2, dword [esp + 0x150]
movd xmm3, dword [esp + 0x11c]
movd xmm4, dword [esp + 0x8c]
punpcklqdq xmm3, xmm4
movd xmm5, esi
punpckldq xmm5, xmm2
movd xmm2, ebp
mov edi, ebp
punpckldq xmm2, xmm0
punpcklqdq xmm5, xmm2
movzx edx, byte [esp + 0x30]
mov ebx, 0
mov bl, dl
movd xmm4, ebx
punpcklqdq xmm4, xmm0
paddq xmm4, xmm5
movdqu xmmword [esp + 0x150], xmm4
movzx edx, byte [esp + 0x78]
movd xmm2, edx
movd xmm0, dword [esp + 0x2c]
punpcklqdq xmm2, xmm0
paddq xmm2, xmm3
movzx edx, byte [esp + 0x1c]
adc edx, dword [esp + 0x40]
movdqa xmm3, xmm4
psrlq xmm3, 0x20
movd xmm0, edx
punpcklqdq xmm0, xmm3
paddq xmm0, xmm2
movdqu xmmword [esp + 0x78], xmm0
pshufd xmm2, xmm0, 0x55
movd edx, xmm2
adc edx, eax
mov dword [esp + 0x30], edx
movzx edx, byte [esp + 0x17]
mov eax, edx
add al, 0xff
mov eax, dword [esp + 0x68]
adc eax, 0
add byte [esp + 0xa8], 0xff
mov esi, dword [esp + 0xc]
adc esi, dword [esp + 0x98]
setb byte [esp + 0x2c]
add byte [esp + 0x9c], 0xff
mov esi, dword [esp + 0xa4]
adc esi, dword [esp + 0xf8]
adc eax, 0
mov dword [esp + 0x68], eax
setb byte [esp + 0xf8]
add dl, 0xff
mov eax, dword [esp + 0x18]
adc eax, dword [esp + 0x50]
mov ebx, dword [esp + 0xd8]
adc ebx, 0
setb byte [esp + 0xd8]
mov ebp, dword [esp + 4]
mov eax, ebp
mul dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov dword [esp + 0x50], edx
punpcklqdq xmm6, xmm1
mov eax, dword [esp + 0x160]
mul ebp
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], edx
mov esi, dword [esp + 0x28]
mov eax, ebp
mul ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
add esi, dword [esp + 0x10]
mov esi, edi
adc esi, 0
setb al
mov edx, dword [esp + 0x48]
add edx, dword [esp + 0x4c]
movd xmm2, dword [esp + 0xc0]
movd xmm1, edx
punpcklqdq xmm2, xmm1
movzx edx, byte [esp + 0xd8]
movd xmm1, ebx
movd xmm3, edx
punpckldq xmm1, xmm3
movzx eax, al
movd xmm3, esi
movd xmm5, eax
punpckldq xmm3, xmm5
punpcklqdq xmm1, xmm3
movdqa xmm5, xmmword [0x8bef70]
pand xmm2, xmm5
paddq xmm1, xmm2
movzx eax, byte [esp + 0xf8]
movd xmm2, dword [esp + 0xb4]
movd xmm0, eax
punpcklqdq xmm0, xmm2
movdqa xmm2, xmm1
pand xmm2, xmm5
paddq xmm0, xmm2
movdqu xmmword [esp + 0xd8], xmm0
pshufd xmm2, xmm0, 0xee
movd eax, xmm2
mov dword [esp + 0xb4], eax
movdqa xmm0, xmm6
pmuludq xmm0, xmm7
movdqu xmmword [esp + 0xc0], xmm0
pshufd xmm2, xmm0, 0xee
movd edi, xmm2
psrlq xmm0, 0x20
movdqu xmmword [esp + 0xf8], xmm0
pshufd xmm2, xmm0, 0xee
movd esi, xmm2
movd xmm2, dword [esp + 0x3c]
pshufd xmm3, xmm2, 0x44
movdqa xmm4, xmmword [0x8bef80]
pand xmm3, xmm4
movzx edx, byte [esp + 0x2c]
movd xmm2, edx
movsd xmm3, xmm2
movss xmm2, dword [esp + 0x68]
pxor xmm6, xmm6
movss xmm6, xmm2
mov edx, 0xffffffff
mul edx
mov ebx, eax
mov dword [esp + 0x2c], edx
movdqa xmm7, xmm1
psrlq xmm7, 0x20
movsd xmm7, xmm6
movdqu xmm2, xmmword [esp + 0x150]
pand xmm2, xmm5
paddq xmm2, xmm3
add edx, eax
mov dword [esp + 0xa8], edx
adc edx, 0
mov dword [esp + 4], edx
paddq xmm2, xmm7
mov edx, dword [esp + 0x128]
add edx, dword [esp + 0x124]
movd xmm3, edx
movups xmm6, xmmword [esp + 0x78]
shufps xmm6, xmm3, 0x8e
xorps xmm3, xmm3
movups xmm0, xmmword [esp + 0xd8]
movss xmm3, xmm0
psrlq xmm0, 0x20
movsd xmm0, xmm3
andps xmm6, xmm5
paddq xmm0, xmm6
movdqa xmm3, xmm2
psrlq xmm3, 0x20
movdqa xmm7, xmm2
pand xmm7, xmm4
movsd xmm7, xmm3
paddq xmm7, xmm0
pshufd xmm0, xmm7, 0xee
movd ebp, xmm0
xorpd xmm3, xmm3
movups xmm0, xmmword [esp + 0x198]
movss xmm3, xmm0
movups xmmword [esp + 0x68], xmm3
pshufd xmm0, xmm0, 0xee
movd dword [esp + 0x3c], xmm0
mov eax, dword [esp + 0x140]
adc eax, dword [esp + 0x54]
mov dword [esp + 0x140], eax
mov edx, dword [esp + 0xb8]
adc dword [esp + 8], edx
movdqu xmm3, xmmword [esp + 0xc0]
pand xmm3, xmm5
movdqu xmmword [esp + 0xc0], xmm3
movdqu xmm0, xmmword [esp + 0x184]
pshufd xmm0, xmm0, 0xee
paddq xmm0, xmm3
pshufd xmm6, xmm0, 0x55
movd dword [esp + 0x54], xmm6
mov edx, dword [esp + 0xc]
adc edx, dword [esp]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x50]
adc dword [esp + 0x18], edx
adc edi, dword [esp + 0x1c]
mov dword [esp + 0x124], edi
adc esi, dword [esp + 0x40]
mov dword [esp + 0x128], esi
setb byte [esp + 0x48]
mov esi, ebx
mov dword [esp + 0x4c], ebx
mov edi, ebx
mov ebx, dword [esp + 0xb4]
add edi, ebx
mov eax, ebp
mov edx, ebp
mov ebp, dword [esp + 0xa8]
adc edx, ebp
mov dword [esp + 0x1c], edx
movd edi, xmm0
add ebx, esi
adc ebp, eax
adc dword [esp + 4], 0
setb byte [esp + 0xb4]
add byte [esp + 0x120], 0xff
mov esi, dword [esp]
adc esi, dword [esp + 0x3c]
adc edi, 0
movd xmm0, dword [esp + 0xc]
movd xmm6, edi
punpcklqdq xmm6, xmm0
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
movdqu xmm0, xmmword [esp + 0xf8]
movd edx, xmm0
adc dword [esp + 0x54], edx
xor edx, edx
add eax, esi
setb dl
add eax, dword [esp + 0xb0]
adc edx, 0
movd xmm1, edx
movd xmm0, eax
punpckldq xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x150]
pshufd xmm1, xmm1, 0xff
movd eax, xmm1
add eax, dword [esp + 0x34]
movd xmm4, eax
movd xmm1, dword [esp + 0x38]
punpcklqdq xmm1, xmm4
movdqa xmm4, xmm0
punpcklqdq xmm4, xmm2
movlps xmm2, qword [esp + 0xd8]
psrlq xmm2, 0x20
paddq xmm1, xmm2
pand xmm4, xmm5
paddq xmm1, xmm4
movss xmm2, dword [esp + 0xac]
shufps xmm0, xmm2, 0x24
xorps xmm2, xmm2
movups xmm4, xmmword [esp + 0x78]
movss xmm2, xmm4
psrlq xmm4, 0x20
movsd xmm4, xmm2
pand xmm6, xmm5
paddq xmm4, xmm6
psrlq xmm0, 0x20
paddq xmm4, xmm0
movdqu xmmword [esp + 0x78], xmm4
movss xmm0, dword [esp + 0x140]
shufps xmm4, xmm0, 0x8e
movd dword [esp + 0x150], xmm7
psrlq xmm7, 0x20
movdqa xmm0, xmm1
pand xmm0, xmm5
paddq xmm0, xmm7
andps xmm4, xmm5
movaps xmm7, xmm5
paddq xmm0, xmm4
movdqu xmmword [esp + 0x198], xmm0
mov esi, dword [esp + 0x1c]
add esi, dword [esp + 0xd4]
mov ebx, dword [esp + 0x64]
adc ebx, dword [esp + 0x164]
mov eax, esi
mov edx, 0xffffffff
mul edx
mov ebp, edx
mov dword [esp + 0x64], edx
pshufd xmm0, xmm0, 0xee
movd dword [esp + 0x164], xmm0
mov edi, eax
mov dword [esp + 0xc], eax
add ebp, eax
mov eax, ebp
adc eax, 0
mov dword [esp + 0x38], eax
add edi, esi
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x164]
lea edi, [eax + edx]
lea edx, [ebx + edi]
mov eax, edx
adc eax, ebp
mov dword [esp], eax
movdqu xmm0, xmmword [esp + 0x130]
movdqu xmm3, xmmword [esp + 0x1a8]
punpckhqdq xmm0, xmm3
pmuludq xmm0, xmm3
movdqu xmmword [esp + 0x130], xmm0
add esi, dword [esp + 0xc]
adc ebp, edx
setb byte [esp + 0x140]
mov eax, dword [esp + 0xd4]
add dword [esp + 0x1c], eax
adc dword [esp + 0x12c], edi
adc dword [esp + 0x44], 0
movd xmm5, dword [esp + 0x54]
movd xmm0, dword [esp + 0x50]
punpcklqdq xmm5, xmm0
movdqu xmm4, xmmword [esp + 0x174]
movdqu xmm0, xmmword [esp + 0xc0]
paddq xmm0, xmm4
movdqu xmmword [esp + 0xc0], xmm0
movss xmm0, dword [esp + 0x24]
movss xmm4, xmm0
setb byte [esp + 0xd4]
mov edx, dword [esp + 0x2c]
mov eax, edx
mov esi, dword [esp + 0x4c]
add eax, esi
mov eax, edx
adc eax, esi
mov eax, edx
adc eax, 0
mov edx, dword [esp + 0x164]
add dword [esp + 4], edx
movzx edx, byte [esp + 0xb4]
adc edx, eax
mov dword [esp + 4], edx
setb byte [esp + 0x24]
xor eax, eax
mov edx, dword [esp + 0x3c]
add edx, dword [esp + 0x60]
setb al
movd xmm0, edx
movd xmm6, eax
punpckldq xmm0, xmm6
movdqu xmm2, xmmword [esp + 0x68]
punpcklqdq xmm2, xmm0
movdqu xmm0, xmmword [esp + 0x1b8]
paddq xmm2, xmm0
movdqu xmmword [esp + 0x68], xmm2
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
movups xmm3, xmmword [esp + 0xe8]
movaps xmm2, xmm7
andps xmm3, xmm7
movups xmmword [esp + 0xe8], xmm3
movss xmm0, dword [esp + 0x30]
movaps xmm7, xmm3
movss xmm7, xmm0
paddq xmm7, xmm5
movdqu xmm0, xmmword [esp + 0x78]
movd eax, xmm0
psrlq xmm0, 0x20
paddq xmm7, xmm0
pxor xmm0, xmm0
movss xmm0, xmm7
movdqa xmm6, xmm7
psrlq xmm6, 0x20
movsd xmm6, xmm0
paddq xmm6, xmm4
xor ebx, ebx
add esi, dword [esp + 0xd0]
setb bl
add eax, esi
movups xmm0, xmmword [esp + 0x130]
movaps xmm3, xmm0
andps xmm3, xmm2
movups xmmword [esp + 0x164], xmm3
adc ebx, 0
movd xmm4, ebx
punpcklqdq xmm4, xmm3
paddq xmm4, xmm6
movdqu xmm2, xmmword [esp + 0x198]
pshufd xmm6, xmm2, 0x55
movd esi, xmm6
pshufd xmm6, xmm7, 0xee
movd ebp, xmm6
pshufd xmm6, xmm4, 0xee
movd edi, xmm6
pshufd xmm1, xmm1, 0xff
movd ebx, xmm1
pxor xmm1, xmm1
movss xmm1, xmm2
psrlq xmm2, 0x20
movsd xmm2, xmm1
xor edx, edx
add ebp, esi
setb dl
add ebp, eax
adc edi, edx
setb al
xor edx, edx
add ebx, dword [esp + 0x150]
movd xmm1, ebx
pslldq xmm1, 8
pshufd xmm1, xmm1, 0x24
movd xmm6, dword [esp + 8]
movq xmm6, xmm6
pshufd xmm6, xmm6, 0x84
paddq xmm6, xmm1
setb dl
movd xmm1, edx
shufps xmm1, xmm6, 0xe4
paddq xmm1, xmm2
pshufd xmm2, xmm1, 0xff
movd esi, xmm2
pshufd xmm2, xmm1, 0xee
movd edx, xmm2
mov dword [esp + 8], edx
movzx eax, al
movd xmm2, edi
movd xmm6, eax
punpckldq xmm2, xmm6
movzx eax, byte [esp + 0xd4]
movd xmm6, dword [esp + 0x44]
movd xmm3, eax
punpckldq xmm6, xmm3
punpcklqdq xmm6, xmm2
pxor xmm3, xmm3
movss xmm3, xmm4
mov eax, dword [esp + 4]
add eax, edx
movd xmm2, eax
punpcklqdq xmm2, xmm3
paddq xmm2, xmm6
movd edi, xmm1
pshufd xmm1, xmm1, 0x55
movd edx, xmm1
xor eax, eax
add edx, dword [esp + 0x10]
setb al
add edx, ebp
adc eax, 0
movd xmm1, edx
movdqa xmm3, xmm2
punpcklqdq xmm3, xmm1
movzx edx, byte [esp + 0x140]
xor ebx, ebx
add edi, dword [esp + 0xb8]
setb bl
add edi, esi
adc ebx, 0
movd xmm1, ebx
movd xmm6, edx
punpcklqdq xmm6, xmm1
movd xmm1, dword [esp + 0x38]
movd xmm5, dword [esp + 0x18]
punpcklqdq xmm1, xmm5
paddq xmm1, xmm6
pand xmm3, xmmword [0x8bef70]
paddq xmm1, xmm3
movss xmm3, dword [esp + 0x28]
movups xmm5, xmmword [esp + 0x68]
movaps xmm6, xmm5
shufps xmm6, xmm3, 0x4e
mov esi, dword [esp]
mov edx, esi
add edx, dword [esp + 0xbc]
movlhps xmm7, xmm0
movd edx, xmm5
movd ebp, xmm1
mov ebx, ebp
adc ebx, edx
mov dword [esp + 0x78], ebx
psrlq xmm7, 0x20
movdqu xmmword [esp + 0x140], xmm7
psrlq xmm4, 0x20
paddd xmm4, xmm7
pshufd xmm3, xmm4, 0xee
paddq xmm3, xmm4
add esi, dword [esp + 0xbc]
mov dword [esp], esi
adc ebp, edx
movdqa xmm4, xmm2
psrlq xmm4, 0x20
movdqa xmm5, xmm2
pand xmm5, xmmword [0x8bef80]
movsd xmm5, xmm4
setb bh
mov ebp, dword [esp + 0x64]
mov edx, ebp
mov esi, dword [esp + 0xc]
add edx, esi
mov edx, ebp
adc edx, esi
adc ebp, 0
mov edx, dword [esp + 8]
add dword [esp + 4], edx
movzx edx, byte [esp + 0x24]
adc edx, edi
movd xmm4, edx
movd xmm0, eax
punpcklqdq xmm4, xmm0
movaps xmm7, xmmword [0x8bef70]
andps xmm6, xmm7
paddq xmm4, xmm6
paddq xmm4, xmm5
movdqa xmm0, xmm4
punpckhqdq xmm0, xmm2
movd xmm2, dword [esp + 0x34]
punpcklqdq xmm2, xmm3
psrlq xmm0, 0x20
paddq xmm2, xmm0
pshufd xmm0, xmm2, 0xff
movd dword [esp + 0x10], xmm0
pshufd xmm0, xmm2, 0xee
movd esi, xmm0
pshufd xmm0, xmm2, 0x55
movd eax, xmm0
movd edx, xmm2
movdqu xmm0, xmmword [esp + 0x184]
movdqu xmm5, xmmword [esp + 0xe8]
paddq xmm5, xmm0
movdqu xmm0, xmmword [esp + 0x68]
psrlq xmm0, 0x20
paddq xmm5, xmm0
movdqa xmm0, xmm4
psrlq xmm0, 0x20
movdqa xmm2, xmm4
movdqa xmm6, xmmword [0x8bef80]
pand xmm2, xmm6
movsd xmm2, xmm0
setb bl
movzx edi, bl
movd xmm0, edi
movd xmm3, ebp
punpcklqdq xmm3, xmm0
movdqa xmm0, xmm1
pand xmm0, xmm6
psrlq xmm1, 0x20
movsd xmm0, xmm1
paddq xmm3, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmmword [0x8befa0]
shufpd xmm0, xmm1, 2
movss xmm1, dword [esp + 0x124]
movdqa xmm6, xmm5
shufps xmm6, xmm1, 0x8e
andps xmm6, xmm7
paddq xmm6, xmm2
paddq xmm6, xmm0
movd xmm0, dword [esp + 0x128]
movdqa xmm1, xmm5
punpcklqdq xmm1, xmm0
movaps xmm2, xmm7
pand xmm1, xmm7
movzx edi, bh
movd xmm0, edi
shufps xmm0, xmm6, 0xe0
psrlq xmm0, 0x20
paddq xmm0, xmm1
add edx, esi
pslldq xmm4, 8
shufps xmm4, xmmword [0x8bef90], 0xe2
paddq xmm4, xmm3
movd xmm7, edx
movdqa xmm1, xmm4
punpcklqdq xmm1, xmm7
pand xmm1, xmm2
paddq xmm1, xmm0
psrlq xmm5, 0x20
movdqu xmm7, xmmword [esp + 0xc0]
paddq xmm7, xmm5
movdqu xmmword [esp + 0xc0], xmm7
movd xmm0, dword [esp + 0x4c]
punpcklqdq xmm7, xmm0
psrlq xmm3, 0x20
movdqu xmm0, xmmword [esp + 0xd8]
psrldq xmm0, 8
pshufd xmm0, xmm0, 0x84
paddq xmm0, xmm3
psrlq xmm4, 0x20
shufps xmm4, xmm0, 0xe4
movdqa xmm0, xmm6
pand xmm0, xmm2
paddq xmm4, xmm0
movdqa xmm0, xmm1
psrlq xmm0, 0x20
movdqa xmm5, xmm1
pand xmm5, xmmword [0x8bef80]
movsd xmm5, xmm0
xorpd xmm0, xmm0
movss xmm0, xmm4
movdqa xmm3, xmm4
psrlq xmm3, 0x20
movsd xmm3, xmm0
pand xmm7, xmm2
paddq xmm3, xmm7
paddq xmm3, xmm5
movdqu xmm2, xmmword [esp + 0xc0]
pshufd xmm0, xmm2, 0xee
movd dword [esp + 0x184], xmm0
pshufd xmm0, xmm6, 0x55
movd dword [esp + 0x24], xmm0
adc eax, dword [esp + 0x10]
mov dword [esp + 4], eax
mov esi, dword [esp]
mov eax, esi
mov edx, 0xffffffff
mul edx
mov dword [esp + 0xd8], eax
mov ebp, edx
add ebp, eax
mov edi, ebp
adc edi, 0
pshufd xmm0, xmm4, 0xee
movd dword [esp + 0x44], xmm0
mov ebx, eax
add ebx, esi
mov ebx, edx
adc ebx, eax
mov dword [esp + 0x68], ebx
mov ebx, eax
add ebx, esi
adc ebp, dword [esp + 0x78]
setb al
movd ebx, xmm1
movdqa xmm7, xmm1
mov esi, ebx
adc esi, edi
mov dword [esp + 0x10], esi
mov dword [esp + 8], edx
mov ebp, edx
mov esi, dword [esp + 0xd8]
add ebp, esi
mov ebp, edx
adc ebp, esi
mov ebp, edx
adc ebp, 0
add al, 0xff
adc edi, ebx
setb al
movd edx, xmm3
mov esi, edx
adc esi, ebp
mov dword [esp + 0xe8], esi
add al, 0xff
adc ebp, edx
setb byte [esp + 0xbc]
add byte [esp + 0x48], 0xff
pshufd xmm0, xmm4, 0x55
mov esi, dword [esp + 0x20]
adc dword [esp + 4], esi
setb byte [esp + 0x28]
mov ebx, dword [esp + 0x160]
mov eax, ebx
mul dword [esp + 0x58]
mov ebp, eax
mov dword [esp + 0x18], eax
mov edi, edx
mov dword [esp + 0x34], edx
movd dword [esp + 0x60], xmm0
mov eax, ebx
mul ebx
mov dword [esp + 0x58], edx
xor edx, edx
add esi, ebp
mov dword [esp + 0x20], esi
setb dl
mov dword [esp + 0x38], edx
xor edx, edx
add eax, edi
mov esi, eax
setb dl
mov eax, edx
xor edx, edx
mov edi, dword [esp + 0x24]
add edi, dword [esp + 0x184]
setb dl
add edi, dword [esp + 0x44]
mov ebp, edi
adc edx, 0
xor ebx, ebx
mov edi, dword [esp + 0x60]
add edi, ebp
setb bl
movd xmm4, ebx
movd xmm1, edx
xorps xmm6, xmm6
movups xmm0, xmmword [esp + 0x130]
shufps xmm6, xmm0, 0xf4
movdqu xmm0, xmmword [esp + 0xf8]
movdqu xmm5, xmmword [esp + 0x164]
paddq xmm5, xmm0
movdqa xmm0, xmm2
psrlq xmm0, 0x20
paddq xmm5, xmm0
pshufd xmm0, xmm7, 0xff
movd edx, xmm0
shufps xmm4, xmm3, 0xe0
movdqa xmm0, xmm3
psrlq xmm0, 0x20
andps xmm3, xmmword [0x8bef80]
movsd xmm3, xmm0
movd xmm2, edi
punpcklqdq xmm2, xmm1
movdqa xmm0, xmm5
movdqa xmm7, xmmword [0x8bef70]
pand xmm0, xmm7
paddq xmm2, xmm0
paddq xmm2, xmm3
add edx, dword [esp + 4]
movd xmm0, edx
movdqa xmm1, xmm2
shufps xmm1, xmm0, 0x8e
movd xmm0, dword [esp + 0x2c]
movd xmm3, dword [esp + 0x1c]
punpcklqdq xmm3, xmm0
psrlq xmm4, 0x20
paddq xmm3, xmm4
andps xmm1, xmm7
movdqa xmm4, xmm7
paddq xmm3, xmm1
pshufd xmm0, xmm3, 0xff
movd ebp, xmm0
movd xmm0, dword [esp + 0x18]
movd xmm1, dword [esp + 0x40]
punpcklqdq xmm1, xmm0
psrlq xmm5, 0x20
paddq xmm1, xmm5
movzx edx, byte [esp + 0x28]
adc ebp, edx
movups xmm7, xmmword [esp + 0x140]
shufps xmm7, xmm6, 0x2e
paddq xmm7, xmm1
pshufd xmm0, xmm7, 0xff
movd edi, xmm0
add edi, dword [esp + 0x34]
pshufd xmm0, xmm7, 0x55
movd edx, xmm0
add edx, dword [esp + 0x20]
adc esi, dword [esp + 0x38]
pxor xmm1, xmm1
movss xmm1, xmm2
psrlq xmm2, 0x20
movdqa xmm6, xmm4
pand xmm7, xmm4
paddq xmm7, xmm2
movzx ebx, byte [esp + 0xbc]
movd xmm2, ebx
movlhps xmm1, xmm3
pand xmm3, xmm4
paddq xmm7, xmm3
pxor xmm0, xmm0
punpcklqdq xmm0, xmm2
movd xmm2, dword [esp + 0xc]
shufps xmm0, xmmword [0x8bef90], 0xe2
movd xmm3, ebp
paddq xmm0, xmm1
psrlq xmm1, 0x20
movq xmm2, xmm2
pshufd xmm2, xmm2, 0x84
paddq xmm2, xmm1
movdqa xmm4, xmm0
psrlq xmm4, 0x20
shufps xmm4, xmm2, 0xe4
movdqa xmm1, xmm7
pand xmm1, xmm6
paddq xmm1, xmm4
movdqa xmm4, xmm1
punpckhdq xmm4, xmmword [0x8befa0]
movd xmm2, edi
psrlq xmm7, 0x20
shufps xmm4, xmm7, 0xe4
punpcklqdq xmm7, xmm3
movd xmm3, edx
punpcklqdq xmm3, xmm2
movd xmm5, dword [esp + 0x64]
paddq xmm3, xmm7
movd xmm2, dword [esp]
adc eax, dword [esp + 0x58]
paddq xmm3, xmm4
pshufd xmm4, xmm3, 0x55
movd edi, xmm4
xor edx, edx
add edi, esi
movd xmm4, edi
punpcklqdq xmm2, xmm5
movdqa xmm5, xmm1
psrlq xmm5, 0x20
paddq xmm2, xmm5
setb dl
movd xmm5, edx
pand xmm6, xmm3
paddq xmm2, xmm6
pshufd xmm6, xmm2, 0xee
psrlq xmm6, 0x20
pshufd xmm3, xmm3, 0xff
paddd xmm3, xmm6
movd xmm6, dword [esp + 0xd8]
movd edx, xmm3
xor ebx, ebx
add eax, edx
movdqa xmm7, xmmword [0x8bef80]
pand xmm7, xmm2
movdqa xmm3, xmm2
psrlq xmm3, 0x20
movsd xmm7, xmm3
punpckldq xmm4, xmm5
punpcklqdq xmm6, xmm4
paddq xmm6, xmm7
pshufd xmm3, xmm6, 0xee
setb bl
mov ebp, ebx
movd edx, xmm3
movd esi, xmm6
add esi, edx
mov dword [esp + 0x130], esi
pshufd xmm3, xmm6, 0x55
movd ebx, xmm3
adc ebx, dword [esp + 8]
pshufd xmm3, xmm6, 0xff
setb dl
movd esi, xmm3
lea edi, [eax + esi]
add ebx, edi
mov dword [esp], ebx
movzx edx, dl
adc edx, 0
add eax, esi
adc ebp, edx
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x78]
mov dword [esp + 0x68], eax
add eax, 1
mov dword [esp + 0x78], eax
mov eax, 0
mov edx, 0xffffffff
sbb al, dl
movzx eax, al
mov esi, 1
sub esi, eax
sbb edx, 0
add esi, dword [esp + 0x10]
mov ebx, esi
mov eax, 0
sbb al, dl
mov ebp, dword [esp + 0xe8]
add ebp, 1
mov edx, 0
adc edx, 0xffffffff
movzx eax, al
sub ebp, eax
sbb edx, 0
neg dl
movzx eax, dl
movd edx, xmm0
mov dword [esp + 0xd8], edx
sub edx, eax
mov dword [esp + 0xc0], edx
mov eax, 0
sbb eax, eax
neg al
movzx eax, al
movd edx, xmm1
mov dword [esp + 4], edx
sub edx, eax
mov dword [esp + 0x1c], edx
mov eax, 0
sbb eax, eax
neg al
movzx eax, al
movd edi, xmm2
mov dword [esp + 0xc], edi
sub edi, eax
mov eax, 0
sbb eax, eax
mov edx, ecx
neg al
movzx esi, al
not esi
add esi, dword [esp + 0x130]
mov eax, 0
adc al, 0xff
neg al
movzx eax, al
mov dword [esp + 8], eax
mov ecx, dword [esp]
add ecx, 1
mov eax, 0
adc eax, 0xffffffff
sub ecx, dword [esp + 8]
sbb eax, 0
neg al
movzx eax, al
cmp dword [esp + 0x20], eax
mov eax, 0
sbb eax, eax
test al, al
mov eax, dword [esp + 0x78]
cmovne eax, dword [esp + 0x68]
cmovne ebx, dword [esp + 0x10]
mov dword [esp + 0x68], ebx
cmovne ebp, dword [esp + 0xe8]
mov ebx, dword [esp + 0xc0]
cmovne ebx, dword [esp + 0xd8]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x1c]
cmovne ebx, dword [esp + 4]
cmovne edi, dword [esp + 0xc]
cmovne esi, dword [esp + 0x130]
cmovne ecx, dword [esp]
mov dword [edx], eax
mov eax, dword [esp + 0x68]
mov dword [edx + 4], eax
mov dword [edx + 8], ebp
mov eax, dword [esp + 0xc0]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], ebx
mov dword [edx + 0x14], edi
mov dword [edx + 0x18], esi
mov dword [edx + 0x1c], ecx
add esp, 0x1c8
pop esi
pop edi
pop ebx
pop ebp
ret