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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x104
mov eax, 0x55
mov byte [0x6e4129], al
mov edx, 0x54
mov byte [0x6e412c], al
lea eax, [esp + 0xb0]
push 0x48
push eax
mov ecx, 0x20
mov byte [0x6e4128], 0x4f
mov byte [0x6e412a], dl
mov byte [0x6e412b], 0x50
mov byte [0x6e412d], dl
mov byte [0x6e412e], 0x46
mov byte [0x6e412f], 0x49
mov byte [0x6e4130], 0x4c
mov byte [0x6e4131], 0x45
mov byte [0x6e4132], cl
mov byte [0x6e4133], cl
call fcn.004e4ea0
add esp, 8
movups xmm0, xmmword [esp + 0xb0]
movups xmm1, xmmword [esp + 0xc0]
movups xmm2, xmmword [esp + 0xd0]
movups xmm3, xmmword [esp + 0xe0]
movsd xmm4, qword [esp + 0xf0]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
movups xmmword [0x6e3f20], xmm0
movups xmmword [0x6e3f30], xmm1
movups xmmword [0x6e3f40], xmm2
movups xmmword [0x6e3f50], xmm3
movsd qword [0x6e3f60], xmm4
movups xmm0, xmmword [0x81e880]
movups xmm1, xmmword [0x81e890]
movzx eax, word [0x81e8a0]
movups xmmword [0x6e3f20], xmm0
movups xmmword [0x6e3f30], xmm1
mov word [0x6e3f40], ax
mov ecx, dword [0x81ea30]
xor eax, eax
mov dword [0x76e2e0], eax
mov dword [0x76e2e8], eax
and ecx, 1
je 0x510189
mov ebx, dword [0x81e338]
test ebx, ebx
je 0x510193
jmp 0x5101a0
mov ebx, dword [0x81e340]
test ebx, ebx
jne 0x5101a0
add esp, 0x104
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
dec ebx
mov eax, 0x66666667
imul ebx
mov edi, edx
sar edi, 2
sar ebx, 0x1f
sub edi, ebx
inc edi
mov edx, dword [ebp + 8]
mov eax, 0x3e7
cmp edi, 0x3e7
cmovg edi, eax
mov eax, dword [edx]
cmp eax, 3
jne 0x510677
mov edx, dword [0x81ea60]
test byte [0x81ea20], 1
je 0x5101f7
mov eax, dword [0x76e480]
sub edx, eax
pxor xmm1, xmm1
cvtsi2sd xmm1, edx
mulsd xmm1, qword [0x76e5b0]
jmp 0x510207
pxor xmm1, xmm1
cvtsi2sd xmm1, edx
mulsd xmm1, qword [0x76e5b0]
mov eax, dword [0x81e338]
mov dword [esp + 0x5c], eax
test eax, eax
jle 0x5103a4
mov edx, eax
shr edx, 1
mov eax, dword [0x6c5dd0]
mov ebx, dword [0x6c5df0]
mov dword [esp + 0x20], edx
test edx, edx
jbe 0x511116
xor edx, edx
lea esi, [ebx*8]
neg esi
add esi, eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0x80], ecx
movsd xmm0, qword [0x687870]
mov ecx, edx
mov edi, dword [esp + 0x20]
movsd xmm2, qword [ecx + esi + 8]
andps xmm2, xmmword [0x6877e0]
comisd xmm0, xmm2
jb 0x51027b
pxor xmm2, xmm2
movsd qword [ecx + esi + 8], xmm2
jmp 0x5102ba
movsd xmm2, qword [ecx + esi + 8]
movsd xmm3, qword [0x687868]
comisd xmm2, xmm3
jb 0x51029f
movsd xmm2, qword [0x687868]
movsd qword [ecx + esi + 8], xmm2
jmp 0x5102ba
movsd xmm2, qword [0x687868]
xorps xmm2, xmmword [0x6877d0]
maxsd xmm2, qword [ecx + esi + 8]
movsd qword [ecx + esi + 8], xmm2
movsd xmm2, qword [ecx + esi + 0x10]
andps xmm2, xmmword [0x6877e0]
comisd xmm0, xmm2
jb 0x5102d9
pxor xmm2, xmm2
movsd qword [ecx + esi + 0x10], xmm2
jmp 0x510318
movsd xmm2, qword [ecx + esi + 0x10]
movsd xmm3, qword [0x687868]
comisd xmm2, xmm3
jb 0x5102fd
movsd xmm2, qword [0x687868]
movsd qword [ecx + esi + 0x10], xmm2
jmp 0x510318
movsd xmm2, qword [0x687868]
xorps xmm2, xmmword [0x6877d0]
maxsd xmm2, qword [ecx + esi + 0x10]
movsd qword [ecx + esi + 0x10], xmm2
inc edx
add ecx, 0x10
cmp edx, edi
jb 0x51025c
mov edi, dword [esp + 0xa4]
lea esi, [edx + edx + 1]
mov ecx, dword [esp + 0x80]
lea edx, [esi - 1]
cmp edx, dword [esp + 0x5c]
jae 0x5103a4
shl ebx, 3
sub eax, ebx
movsd xmm0, qword [0x687870]
movsd xmm2, qword [eax + esi*8]
andps xmm2, xmmword [0x6877e0]
comisd xmm0, xmm2
jb 0x510369
pxor xmm0, xmm0
movsd qword [eax + esi*8], xmm0
jmp 0x5103a4
movsd xmm0, qword [eax + esi*8]
movsd xmm2, qword [0x687868]
comisd xmm0, xmm2
jb 0x51038b
movsd xmm0, qword [0x687868]
movsd qword [eax + esi*8], xmm0
jmp 0x5103a4
movsd xmm0, qword [0x687868]
xorps xmm0, xmmword [0x6877d0]
maxsd xmm0, qword [eax + esi*8]
movsd qword [eax + esi*8], xmm0
mov eax, dword [0x81e9b0]
test eax, eax
je 0x510193
test edi, edi
jle 0x510193
mov edx, dword [0x81e340]
mov dword [esp + 0x58], edx
mov esi, dword [0x6c5df0]
mov ebx, dword [0x6c54e8]
mov edx, dword [0x6c54c0]
shl esi, 3
shl ebx, 2
neg esi
shl edx, 2
neg ebx
neg edx
add esi, dword [0x6c5dd0]
mov dword [esp + 0x38], 1
add ebx, dword [0x6c54c8]
add edx, dword [0x6c54a0]
mov dword [esp + 0x54], esi
mov dword [esp + 0xf8], 1
mov dword [esp + 0x88], 0
movsd qword [esp + 0x30], xmm1
mov dword [esp + 0x3c], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x84], eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0x80], ecx
mov esi, dword [esp + 0x38]
jmp 0x510448
mov dword [esp + 0xf8], esi
mov eax, dword [esp + 0x84]
lea edx, [esi + esi*4]
cmp dword [esp + 0x80], 0
lea ebx, [edx + edx]
lea edi, [edx + edx - 9]
lea eax, [eax + esi]
je 0x510569
cmp esi, dword [esp + 0xa4]
lea edx, [esp + 0x40]
movsd xmm0, qword [edx - 0x10]
cmove ebx, dword [edx + 0x1c]
mov dword [edx + 0x20], 0
movsd qword [edx], xmm0
push 0x120
push 0x6d0b54
push edx
push 0x687740
push 0x8384ff01
push eax
lea eax, [esp + 0x78]
push eax
call fcn.005bb4b0
add esp, 0x1c
test eax, eax
jne 0x51065c
push 0
push 0x687748
lea eax, [esp + 0x68]
push eax
call fcn.005bdc60
add esp, 0xc
test eax, eax
jne 0x51065c
cmp ebx, edi
jge 0x5104ed
push 0
push 0x68774c
lea eax, [esp + 0x68]
push eax
call fcn.005bdc60
add esp, 0xc
jmp 0x51065c
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x54]
mov ecx, dword [eax + edi*4]
lea eax, [esp + 0x20]
movsd xmm0, qword [edx + ecx*8]
movsd qword [eax], xmm0
push eax
push 0x687750
lea edx, [esp + 0x68]
push edx
call fcn.005bdc60
add esp, 0xc
test eax, eax
jne 0x51065c
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x3c]
inc edi
cmp edi, ebx
jg 0x5111cf
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x20]
mov edx, dword [esi + edi*4]
movsd xmm0, qword [eax + edx*8]
movsd qword [ecx], xmm0
push ecx
push 0x687750
lea eax, [esp + 0x68]
push eax
call fcn.005bdc60
add esp, 0xc
test eax, eax
je 0x510528
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x38]
jmp 0x51065c
cmp esi, dword [esp + 0xa4]
lea edx, [esp + 0x48]
movsd xmm0, qword [edx - 0x18]
cmove ebx, dword [edx + 0x10]
mov dword [edx + 0x18], 0
movsd qword [edx], xmm0
push 0x120
push 0x6d0b54
push edx
push 0x687758
push 0x8384ff01
push eax
lea eax, [esp + 0x78]
push eax
call fcn.005bb4b0
add esp, 0x1c
test eax, eax
jne 0x51065c
push 0
push 0x687760
lea eax, [esp + 0x68]
push eax
call fcn.005bdc60
add esp, 0xc
test eax, eax
jne 0x51065c
cmp ebx, edi
jge 0x5105e9
push 0
push 0x687764
lea eax, [esp + 0x68]
push eax
call fcn.005bdc60
add esp, 0xc
jmp 0x51065c
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ecx, dword [eax + edi*4]
lea eax, [esp + 0x28]
movsd xmm0, qword [edx + ecx*8]
movsd qword [eax], xmm0
push eax
push 0x687768
lea edx, [esp + 0x68]
push edx
call fcn.005bdc60
add esp, 0xc
test eax, eax
jne 0x51065c
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x50]
inc edi
cmp edi, ebx
jg 0x511109
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x28]
mov edx, dword [esi + edi*4]
movsd xmm0, qword [eax + edx*8]
movsd qword [ecx], xmm0
push ecx
push 0x687768
lea eax, [esp + 0x68]
push eax
call fcn.005bdc60
add esp, 0xc
test eax, eax
je 0x510620
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x38]
test eax, eax
jg 0x5110ce
inc esi
cmp esi, dword [esp + 0xa4]
jle 0x510441
jmp 0x510193
cmp eax, 2
jne 0x5106e3
test edi, edi
jle 0x510193
mov dword [esp + 0xf8], 1
mov eax, 1
mov dword [esp + 0x88], 0
lea ebx, [esp + 0x60]
xor esi, esi
jmp 0x5106ae
mov dword [esp + 0xf8], eax
mov dword [esp + 0x60], esi
push 0x120
push esi
push 0x687770
push 0x8384ff00
add eax, dword [0x81e9b0]
push eax
push ebx
call fcn.005caae0
add esp, 0x18
mov eax, dword [esp + 0xf8]
inc eax
cmp eax, edi
jle 0x5106a7
jmp 0x510193
mov dword [esp + 0x88], 0
cmp eax, 1
jne 0x51070c
cmp dword [0x81e9b0], 0
jne 0x511120
mov eax, dword [0x81e9a8]
mov dword [0x81e9b0], eax
jmp 0x510714
test eax, eax
jne 0x5111dc
mov eax, 1
movzx edx, byte [eax + 0x6e3f1f]
mov esi, eax
cmp edx, 0x20
je 0x510732
cmp edx, 0x2e
je 0x510732
inc eax
cmp eax, 0x22
jle 0x510719
cmp esi, 0x22
jg 0x510799
mov eax, esi
neg eax
lea ecx, [eax + 0x23]
cmp ecx, 0x10
jl 0x511156
mov ebx, ecx
mov dword [esp + 0xa4], edi
and ebx, 0xfffffff0
movdqu xmm0, xmmword [0x6877c0]
xor edx, edx
mov edi, esi
add edx, 0x10
movdqu xmmword [edi + 0x6e3f1f], xmm0
add edi, 0x10
cmp edx, ebx
jb 0x51075f
mov edi, dword [esp + 0xa4]
lea edx, [esi + ebx]
cmp ebx, ecx
jae 0x51078c
inc ebx
mov byte [edx + 0x6e3f1f], 0x20
inc edx
cmp ebx, ecx
jb 0x51077f
lea eax, [esi + eax + 0x23]
mov dword [esp + 0xf8], eax
jmp 0x5107a0
mov dword [esp + 0xf8], esi
cmp dword [0x81ea50], 1
jle 0x510a08
cmp dword [0x81e340], 0
jle 0x510a08
movq xmm2, qword [0x687878]
lea ecx, [esi - 1]
neg ecx
lea ebx, [esi + 0x6e3f1f]
mov dword [esp], ebx
lea eax, [esi + ecx + 1]
xor ecx, ecx
test eax, eax
cmovl eax, ecx
cdq
movd xmm1, eax
movd xmm0, edx
punpckldq xmm1, xmm0
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], 0x6878f0
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], ecx
call fcn.005b4070
mov eax, 0x68db8bad
mov ecx, dword [0x81ea58]
mov ebx, ecx
imul ecx
sar edx, 0xc
mov eax, 0x10624dd3
sar ebx, 0x1f
sub edx, ebx
mov dword [esp + 0xa4], edi
imul edi, edx, 0xffffd8f0
add edx, 0x30
movq xmm2, qword [0x687880]
add edi, ecx
mov dword [esp + 0x24], edx
mov byte [0x6e4134], dl
imul edi
sar edx, 6
mov eax, 0x10624dd3
sar edi, 0x1f
sub edx, edi
add edx, 0x30
mov byte [0x6e4135], dl
imul ecx
mov dword [esp + 0x20], ebx
mov eax, 0x51eb851f
sar edx, 6
sub edx, dword [esp + 0x20]
imul edi, edx, 0xfffffc18
add edi, ecx
imul edi
sar edx, 5
mov eax, 0x51eb851f
sar edi, 0x1f
sub edx, edi
add edx, 0x30
mov byte [0x6e4136], dl
imul ecx
sar edx, 5
mov eax, 0x66666667
sub edx, dword [esp + 0x20]
imul ebx, edx, 0xffffff9c
add ebx, ecx
imul ebx
sar edx, 2
mov eax, 0x66666667
sar ebx, 0x1f
sub edx, ebx
add edx, 0x30
mov byte [0x6e4137], dl
imul ecx
sar edx, 2
sub edx, dword [esp + 0x20]
lea eax, [edx + edx*4]
add eax, eax
lea edx, [esi + 0x6e3f22]
sub ecx, eax
lea eax, [esi + 2]
neg eax
add ecx, 0x30
mov byte [0x6e4138], cl
mov ecx, dword [esp + 0x24]
mov byte [edx - 1], cl
xor ecx, ecx
mov dword [esp], edx
lea eax, [esi + eax + 3]
test eax, eax
cmovl eax, ecx
cdq
movd xmm1, eax
movd xmm0, edx
punpckldq xmm1, xmm0
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], 0x6e4135
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], ecx
mov edi, dword [esp + 0xa4]
call fcn.005b4070
movq xmm2, qword [0x687880]
lea ecx, [esi + 3]
neg ecx
lea ebx, [esi + 0x6e3f23]
mov dword [esp], ebx
lea eax, [esi + ecx + 4]
xor ecx, ecx
test eax, eax
cmovl eax, ecx
cdq
movd xmm1, eax
movd xmm0, edx
punpckldq xmm1, xmm0
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], 0x6e4136
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], ecx
call fcn.005b4070
movq xmm2, qword [0x687880]
lea ecx, [esi + 4]
neg ecx
lea ebx, [esi + 0x6e3f24]
mov dword [esp], ebx
lea eax, [esi + ecx + 5]
xor ecx, ecx
test eax, eax
cmovl eax, ecx
cdq
movd xmm1, eax
movd xmm0, edx
punpckldq xmm1, xmm0
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], 0x6e4137
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], ecx
call fcn.005b4070
movq xmm2, qword [0x687880]
lea ecx, [esi + 5]
neg ecx
lea ebx, [esi + 0x6e3f25]
mov dword [esp], ebx
lea eax, [esi + ecx + 6]
xor ecx, ecx
test eax, eax
cmovl eax, ecx
cdq
movd xmm1, eax
movd xmm0, edx
punpckldq xmm1, xmm0
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], 0x6e4138
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], ecx
call fcn.005b4070
add esi, 7
mov eax, dword [ebp + 8]
cmp dword [eax], 1
jne 0x510d22
xor ecx, ecx
lea eax, [esi - 1]
neg eax
lea ebx, [esi + 0x6e3f1f]
add eax, esi
add eax, 3
movq xmm2, qword [0x687888]
cmovs eax, ecx
cdq
movd xmm1, eax
movd xmm0, edx
punpckldq xmm1, xmm0
movdqu xmmword [esp + 0x20], xmm1
mov dword [esp], ebx
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], str..inf
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], ecx
call fcn.005b4070
movups xmm0, xmmword [0x6e3f20]
movups xmm1, xmmword [0x6e3f30]
movups xmm2, xmmword [0x6e3f40]
movups xmm3, xmmword [0x6e3f50]
movsd xmm4, qword [0x6e3f60]
movups xmmword [0x81e740], xmm0
movups xmmword [0x81e750], xmm1
movups xmmword [0x81e760], xmm2
movups xmmword [0x81e770], xmm3
movsd qword [0x81e780], xmm4
lea eax, [esp + 0x88]
push eax
call fcn.00462b70
add esp, 4
test byte [0x81ea30], 1
mov ecx, dword [0x81e340]
cmovne ecx, dword [0x81e338]
mov edx, 1
mov dword [esp + 0xf8], 1
test ecx, ecx
jle 0x510ceb
mov dword [esp + 0x34], ecx
mov eax, 1
mov dword [esp + 0x30], ebx
xor ebx, ebx
mov dword [esp + 0xa8], esi
lea esi, [esp + 0x80]
mov dword [esi + 0x24], edi
test byte [0x81ea30], 1
je 0x510b46
mov edx, dword [0x6c54c0]
mov ecx, 0x6e3f80
neg edx
add edx, eax
mov eax, dword [0x6c54a0]
mov edi, dword [0x6c5498]
neg edi
add edi, dword [eax + edx*4]
mov eax, 0xc8
imul edx, edi, 0xc8
add edx, dword [0x6c5478]
jmp 0x510c57
sub edx, dword [0x6c5498]
mov eax, 0xc0
imul edx, edx, 0xc8
add edx, dword [0x6c5478]
movsd xmm0, qword [edx + 0xc0]
movsd qword [0x6e4120], xmm0
movups xmm0, xmmword [edx + eax - 0x10]
movups xmmword [eax + 0x6e4050], xmm0
movups xmm1, xmmword [edx + eax - 0x20]
movups xmmword [eax + 0x6e4040], xmm1
movups xmm2, xmmword [edx + eax - 0x30]
movups xmmword [eax + 0x6e4030], xmm2
movups xmm3, xmmword [edx + eax - 0x40]
movups xmmword [eax + 0x6e4020], xmm3
sub eax, 0x40
jne 0x510b6d
movsd xmm0, qword [0x6e4060]
mov edi, dword [0x6e4068]
movzx eax, word [0x6e406c]
mov dl, byte [0x6e406e]
movsd qword [0x6e3f80], xmm0
mov dword [0x6e3f88], edi
mov word [0x6e3f8c], ax
mov byte [0x6e3f8e], dl
mov edx, dword [esp + 0xf8]
sub edx, dword [0x6c54e8]
mov eax, dword [0x6c54c8]
mov ecx, dword [eax + edx*4]
mov eax, 0xc0
sub ecx, dword [0x6c5498]
imul edx, ecx, 0xc8
add edx, dword [0x6c5478]
movsd xmm0, qword [edx + 0xc0]
movsd qword [0x6e4120], xmm0
movups xmm0, xmmword [edx + eax - 0x10]
movups xmmword [eax + 0x6e4050], xmm0
movups xmm1, xmmword [edx + eax - 0x20]
movups xmmword [eax + 0x6e4040], xmm1
movups xmm2, xmmword [edx + eax - 0x30]
movups xmmword [eax + 0x6e4030], xmm2
movups xmm3, xmmword [edx + eax - 0x40]
movups xmmword [eax + 0x6e4020], xmm3
sub eax, 0x40
jne 0x510c13
mov ecx, 0x6e3f8f
mov edx, 0x6e406f
mov eax, 0xb9
push eax
push edx
push ecx
call fcn.0062a530
add esp, 0xc
mov eax, 0xc8
cmp byte [eax + 0x6e3f7f], 0x20
jne 0x510c73
dec eax
jg 0x510c67
test eax, eax
mov dword [esp + 0x60], ebx
cmovle eax, ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0x6e3f80
push 0x120
push 0x6d0b88
push esi
push 0x687778
push 0x8384ff01
push dword [0x81e9a8]
lea eax, [esp + 0x78]
push eax
call fcn.005bb4b0
add esp, 0x1c
test eax, eax
jg 0x51115d
mov eax, dword [esp + 0xf8]
inc eax
mov dword [esp + 0xf8], eax
mov edx, eax
cmp eax, dword [esp + 0x34]
jle 0x510b08
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xa4]
call fcn.0045a970
mov dword [esp], ebx
movdqu xmm0, xmmword [esp + 0x20]
movq xmm1, qword [0x687888]
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x6878fc
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.005b4070
mov byte [esi + 0x6e3f1f], 0x5f
test edi, edi
jle 0x510193
mov dword [esp + 0xa4], edi
lea ebx, [esi + 2]
neg ebx
lea edi, [esi + 0x6e3f22]
add ebx, esi
lea edx, [esi + 3]
mov eax, ebx
lea ecx, [esi + 1]
add eax, 6
mov dword [esp + 0xa0], edi
mov edi, 0
cmovs eax, edi
add ebx, 3
mov dword [esp + 0x24], edx
cdq
cmovs ebx, edi
neg ecx
movd xmm1, eax
mov eax, ebx
add ecx, esi
movd xmm0, edx
add ecx, 2
cdq
cmovs ecx, edi
mov eax, ecx
punpckldq xmm1, xmm0
movd xmm0, ebx
movd xmm2, edx
lea ebx, [esi + 0x6e3f21]
cdq
movd xmm6, ecx
lea ecx, [esi + 0x6e3f23]
mov dword [esp + 0x20], 1
punpckldq xmm0, xmm2
movd xmm3, edx
mov edx, dword [esp + 0x24]
neg edx
add edx, esi
add edx, 7
punpckldq xmm6, xmm3
cmovns edi, edx
mov eax, edi
cdq
movd xmm5, edi
mov dword [esp + 0xac], ebx
mov dword [esp + 0x8c], ecx
movd xmm4, edx
punpckldq xmm5, xmm4
mov dword [esp + 0xf8], 1
movq xmm3, qword [0x687880]
movq xmm2, qword [0x687888]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0xa0]
movdqu xmmword [esp + 0x40], xmm5
movdqu xmmword [esp + 0x90], xmm6
movdqu xmmword [esp + 0x50], xmm0
mov dword [esp + 0xa8], esi
jmp 0x510e2e
movdqu xmm1, xmmword [esp + 0x20]
mov ebx, dword [esp + 0xa0]
mov eax, 0x66666667
mov esi, ecx
imul ecx
sar edx, 2
mov eax, 0x687904
sar esi, 0x1f
movdqa xmm0, xmm1
sub edx, esi
movdqu xmmword [esp + 0x20], xmm1
lea edi, [edx + edx*4]
add edx, 0x30
add edi, edi
sub ecx, edi
add ecx, 0x30
mov byte [0x6e4134], dl
mov edx, ebx
mov byte [0x6e4135], cl
mov dword [esp], edx
movq qword [esp + 4], xmm0
movq xmm0, qword [0x687888]
mov dword [esp + 0xc], eax
movq qword [esp + 0x10], xmm0
mov dword [esp + 0x18], 0
call fcn.005b4070
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov dword [esp], ecx
movdqu xmm0, xmmword [esp + 0x90]
movq xmm1, qword [0x687880]
movzx eax, byte [0x6e4134]
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x6e4135
movq qword [esp + 0x10], xmm1
mov byte [edx + 0x6e3f20], al
mov dword [esp + 0x18], 0
call fcn.005b4070
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 1
je 0x510f64
test eax, eax
jne 0x511002
movups xmm0, xmmword [0x6e3f20]
movups xmm1, xmmword [0x6e3f30]
movups xmm2, xmmword [0x6e3f40]
movups xmm3, xmmword [0x6e3f50]
movsd xmm4, qword [0x6e3f60]
movups xmmword [0x81e6e0], xmm0
movups xmmword [0x81e6f0], xmm1
movups xmmword [0x81e700], xmm2
movups xmmword [0x81e710], xmm3
movsd qword [0x81e720], xmm4
lea eax, [esp + 0x30]
lea edx, [esp + 0xf8]
push 0x48
push 0x81e6e0
push eax
push eax
push edx
push edx
push edx
push 0x687780
call fcn.004e7b00
add esp, 0x20
jmp 0x511002
movups xmm0, xmmword [0x6e3f20]
movups xmm1, xmmword [0x6e3f30]
movups xmm2, xmmword [0x6e3f40]
movups xmm3, xmmword [0x6e3f50]
movsd xmm4, qword [0x6e3f60]
movups xmmword [0x81e740], xmm0
movups xmmword [0x81e750], xmm1
movups xmmword [0x81e760], xmm2
movups xmmword [0x81e770], xmm3
movsd qword [0x81e780], xmm4
lea eax, [esp + 0x88]
push eax
call fcn.00462b70
mov dword [esp + 0x64], 0
lea eax, [esp + 0x3c]
mov dword [eax], 0x48
lea edx, [esp + 0x64]
mov dword [eax + 4], 0x81eaa0
push 0x120
push 0x6d0b40
push eax
push 0x687784
push 0x8384ff01
push dword [0x81e9a8]
push edx
call fcn.005bb4b0
add esp, 0x20
test eax, eax
jg 0x51115d
mov ebx, dword [esp + 0xf8]
lea ecx, [ebx + 1]
cmp ecx, dword [esp + 0xa4]
jg 0x510193
mov dword [esp + 0xf8], ecx
cmp ecx, 0x63
jle 0x510e21
mov eax, 0x51eb851f
mov esi, ecx
imul ecx
sar edx, 5
mov eax, 0x66666667
sar esi, 0x1f
sub edx, esi
imul edi, edx, 0xffffff9c
add edx, 0x30
movq xmm1, qword [0x687880]
mov byte [0x6e4134], dl
lea edi, [edi + ebx + 1]
imul edi
sar edx, 2
mov eax, 0x66666667
sar edi, 0x1f
sub edx, edi
add edx, 0x30
mov byte [0x6e4135], dl
imul ecx
sar edx, 2
sub edx, esi
lea ebx, [edx + edx*4]
add ebx, ebx
sub ecx, ebx
add ecx, 0x30
mov byte [0x6e4136], cl
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
movdqu xmm0, xmmword [esp + 0x50]
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x6e4136
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.005b4070
mov edx, dword [esp + 0x8c]
mov eax, 0x68790c
movdqu xmm0, xmmword [esp + 0x40]
jmp 0x510e69
push 0x28
push str.Error_occurred_while_writing_output_file
push 0x68778c
push 0x687790
mov eax, 0x687794
push eax
push eax
call fcn.0053e690
push 0xc
push 0x687794
push 0x6e4128
call fcn.00471080
add esp, 0x128
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x38]
jmp 0x5105d3
mov esi, 1
jmp 0x510336
push 0x26
push str.Multiple_attempts_to_open_output_files
push 0x68778c
push 0x687790
mov eax, 0x687794
push eax
push eax
call fcn.0053e690
push 0xc
push 0x687794
push 0x6e4128
call fcn.00471080
add esp, 0x24
jmp 0x510714
xor ebx, ebx
jmp 0x510778
movq xmm0, qword [0x687890]
movq xmm1, qword [0x687898]
mov dword [esp], 0x81e6e0
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x6e3f20
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.005b4070
lea eax, [esp + 0x30]
lea edx, [esp + 0xf8]
push 0x48
push 0x81e6e0
push eax
push eax
push edx
push edx
push edx
push 0x687798
call fcn.004e7b00
push 0xc
push 0x687794
push 0x6e4128
call fcn.00471080
add esp, 0x2c
jmp 0x5110ce
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x38]
jmp 0x5104d4
push 0x24
push str.OUTPUTFILE:Unknown_output_file_mode_
push 0x68778c
mov eax, 0x687794
push eax
push eax
call fcn.00541c60
add esp, 0x118
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret