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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x74], eax
cmp dword [ecx + 0x7610], 0
mov dword [esp + 0x64], edx
je 0x7b8b4e
mov eax, dword [ecx + 0x7608]
mov dword [esp + 0x54], eax
jmp 0x7b8b62
mov eax, dword [esp + 0xb0]
xor esi, esi
test eax, eax
cmovg esi, eax
add esi, edx
mov dword [esp + 0x54], esi
mov edx, ecx
mov edi, dword [ecx + 0x7578]
mov dword [esp + 0x5c], edi
mov ecx, dword [ecx + 0x7588]
add ecx, edi
mov dword [esp + 0x68], ecx
cmp dword [esp + 0xbc], 0
je 0x7b8c38
mov ebp, dword [esp + 0xb8]
mov ecx, dword [edx + 0x74b0]
mov eax, dword [edx + 0x74b4]
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x74b8]
mov dword [esp + 0x6c], eax
mov dword [edx + 0x750c], 1
mov eax, dword [edx + 0x6834]
mov dword [esp + 0x48], eax
movsd xmm0, qword [edx + 0x682c]
movsd qword [esp + 0x40], xmm0
test ebp, ebp
je 0x7b8c75
mov dword [esp + 0x60], 0xffffffec
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x20], esi
lea edi, [esi + 4]
mov dword [esp + 0x24], edi
cmp ebp, 4
mov dword [esp + 0x50], ecx
jb 0x7b8c82
lea ecx, [esi + ebp]
add ecx, 0xfffffffc
mov dword [esp + 0x1c], ecx
mov eax, dword [esi + ebp - 4]
mov dword [esp + 0x14], eax
cmp eax, 0x1000000
jb 0x7b9723
cmp ebp, 0xffffff88
ja 0x7b9723
mov dword [esp], edi
add ebp, 0xfffffffc
mov ecx, eax
shr ecx, 0x18
bsr ebx, ecx
not ebx
add ebx, 9
jmp 0x7b8ccd
mov ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
sub edx, edi
mov esi, dword [esp + 0x54]
sub esi, ebp
mov eax, 0xffffffba
cmp edx, esi
ja 0x7b972f
test ebp, ebp
je 0x7b9729
mov ecx, edx
mov esi, edx
push ecx
push edi
push ebp
call fcn.007de188
add esp, 0xc
add ebp, esi
mov eax, ebp
jmp 0x7b972b
mov dword [esp + 0x60], 0xffffffec
jmp 0x7b9723
mov dword [esp + 0x1c], esi
movzx eax, byte [esi]
mov dword [esp + 0x14], eax
cmp ebp, 2
je 0x7b8ca0
cmp ebp, 3
jne 0x7b8cad
movzx ecx, byte [esi + 2]
shl ecx, 0x10
or eax, ecx
movzx ecx, byte [esi + 1]
shl ecx, 8
add eax, ecx
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + ebp - 1]
test ecx, ecx
je 0x7b9723
mov dword [esp], edi
bsr ebx, ecx
xor ebx, 0x1f
shl ebp, 3
sub ebx, ebp
add ebx, 9
xor ebp, ebp
mov dword [esp + 0x58], edx
mov edx, dword [edx]
mov edi, dword [edx + 4]
add ebx, edi
mov ecx, ebx
neg cl
mov esi, eax
shr esi, cl
and esi, dword [edi*4 + 0xfb3308]
mov dword [esp + 0x28], esi
cmp ebx, 0x21
jae 0x7b9746
mov ecx, dword [esp + 0xb4]
lea edi, [ecx + ebp]
cmp ebp, 4
jge 0x7b8d2b
test ebp, ebp
je 0x7b973a
mov eax, ebx
shr eax, 3
mov ecx, edi
sub ecx, eax
cmp ecx, dword [esp + 0xb4]
cmovb eax, ebp
sub edi, eax
mov dword [esp + 0x1c], edi
shl eax, 3
sub ebx, eax
jmp 0x7b8d39
mov eax, ebx
shr eax, 3
sub edi, eax
mov dword [esp + 0x1c], edi
and ebx, 7
mov dword [esp + 0x18], ebx
mov eax, dword [edi]
mov dword [esp + 0x14], eax
add edx, 8
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 8]
mov esi, dword [edx + 4]
add ebx, esi
mov ecx, ebx
neg cl
mov ebp, eax
shr ebp, cl
and ebp, dword [esi*4 + 0xfb3308]
mov dword [esp + 0x30], ebp
cmp ebx, 0x21
jae 0x7b9758
cmp edi, dword [esp]
jae 0x7b8d9f
mov ecx, edi
mov ebp, dword [esp + 0xb4]
sub ecx, ebp
je 0x7b8db3
mov eax, ebx
shr eax, 3
mov esi, edi
sub esi, eax
cmp esi, ebp
cmovb eax, ecx
sub edi, eax
mov dword [esp + 0x1c], edi
shl eax, 3
sub ebx, eax
jmp 0x7b8dad
mov eax, ebx
shr eax, 3
sub edi, eax
mov dword [esp + 0x1c], edi
and ebx, 7
mov eax, dword [edi]
mov dword [esp + 0x14], eax
add edx, 8
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 4]
mov esi, dword [edx + 4]
add ebx, esi
mov ecx, ebx
neg cl
shr eax, cl
and eax, dword [esi*4 + 0xfb3308]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x38], eax
cmp ebx, 0x21
jae 0x7b976a
cmp edi, dword [esp]
jae 0x7b8e11
mov ecx, edi
mov ebp, dword [esp + 0xb4]
sub ecx, ebp
je 0x7b8e29
mov eax, ebx
shr eax, 3
mov esi, edi
sub esi, eax
cmp esi, ebp
cmovb eax, ecx
sub edi, eax
mov dword [esp + 0x1c], edi
shl eax, 3
sub ebx, eax
jmp 0x7b8e1f
mov eax, ebx
shr eax, 3
sub edi, eax
mov dword [esp + 0x1c], edi
and ebx, 7
mov dword [esp + 0x18], ebx
mov eax, dword [edi]
mov dword [esp + 0x14], eax
add dword [esp + 0x58], 0x682c
add edx, 8
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x54]
add eax, 0xffffffe0
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x50]
lea ecx, [eax + 0x10]
mov dword [esp + 0x7c], ecx
add eax, 0x18
mov dword [esp + 0x78], eax
mov ebp, dword [esp + 0x64]
nop dword [eax]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov esi, dword [edi + edx*8 + 4]
movzx ebx, byte [edi + edx*8 + 2]
mov dword [esp + 0x10], ebx
movzx ebx, word [edi + edx*8]
mov dword [esp + 0x90], ebx
movzx edx, byte [edi + edx*8 + 3]
mov dword [esp + 0x84], edx
mov edi, dword [eax + ecx*8 + 4]
movzx edx, byte [eax + ecx*8 + 2]
mov dword [esp + 4], edx
movzx edx, word [eax + ecx*8]
mov dword [esp + 0x8c], edx
movzx eax, byte [eax + ecx*8 + 3]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + ecx*8 + 2]
movzx ebx, word [eax + ecx*8]
mov dword [esp + 0x98], ebx
movzx eax, byte [eax + ecx*8 + 3]
mov dword [esp + 0x94], eax
cmp edx, 2
mov dword [esp], ebp
jb 0x7b8f80
cmp dword [esp + 0xc0], 0
je 0x7b8fb0
cmp dl, 0x19
jb 0x7b8fb0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 8], ebx
mov ecx, eax
shl ebx, cl
mov cl, 5
sub cl, dl
shr ebx, cl
lea ecx, [edx + eax]
add ecx, 0xfffffffb
cmp ecx, 0x21
jae 0x7b9679
mov ebp, dword [esp + 0x1c]
cmp ebp, dword [esp + 0x24]
jae 0x7b9049
mov eax, dword [esp + 0x20]
mov edx, ebp
sub edx, eax
je 0x7b941c
mov dword [esp + 0xc], edi
mov edi, ecx
shr edi, 3
mov dword [esp + 8], eax
mov eax, ebp
sub eax, edi
cmp eax, dword [esp + 8]
cmovb edi, edx
sub ebp, edi
mov dword [esp + 0x1c], ebp
shl edi, 3
sub ecx, edi
mov edi, dword [esp + 0xc]
jmp 0x7b9057
xor eax, eax
test esi, esi
sete al
test edx, edx
jne 0x7b94d6
xor ecx, ecx
test esi, esi
setne cl
mov edx, dword [esp + eax*4 + 0x40]
lea eax, [esp + 0x40]
lea ecx, [eax + ecx*4]
mov ebx, dword [esp + 0x10]
jmp 0x7b908a
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, eax
shl ebx, cl
mov ecx, edx
neg cl
shr ebx, cl
add eax, edx
mov edx, ebx
mov dword [esp + 0x18], eax
add edx, dword [esp + 0x4c]
cmp eax, 0x21
jae 0x7b964a
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
jae 0x7b902b
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x20]
mov edx, ecx
sub edx, edi
je 0x7b9021
mov ebx, eax
shr ebx, 3
mov ebp, ecx
sub ebp, ebx
cmp ebp, edi
mov ebp, dword [esp]
cmovb ebx, edx
sub ecx, ebx
mov dword [esp + 0x1c], ecx
shl ebx, 3
sub eax, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x7b907e
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x1c], ecx
and eax, 7
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 8]
jmp 0x7b907e
mov edx, ecx
shr edx, 3
sub ebp, edx
mov dword [esp + 0x1c], ebp
and ecx, 7
mov dword [esp + 0x18], ecx
mov edx, dword [ebp]
mov dword [esp + 0x14], edx
mov ebp, dword [esp]
shl ebx, 5
add ebx, dword [esp + 0x4c]
shl edx, cl
shr edx, 0x1b
add edx, ebx
add ecx, 5
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x40]
mov eax, dword [ecx]
mov dword [esp + 0x44], eax
mov dword [esp + 8], edx
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x7b90c0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, eax
shl edx, cl
mov ecx, dword [esp + 4]
neg cl
shr edx, cl
mov ecx, dword [esp + 4]
add eax, ecx
mov dword [esp + 0x18], eax
add edi, edx
mov dword [esp + 0xc], edi
add ecx, ebx
cmp ecx, 0x14
jb 0x7b9128
mov eax, dword [esp + 0x18]
cmp eax, 0x21
jae 0x7b9513
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x24]
jae 0x7b9110
mov edi, dword [esp + 0x20]
mov edx, ecx
sub edx, edi
je 0x7b9128
mov ebx, eax
shr ebx, 3
mov ebp, ecx
sub ebp, ebx
cmp ebp, edi
mov ebp, dword [esp]
cmovb ebx, edx
sub ecx, ebx
mov dword [esp + 0x1c], ecx
shl ebx, 3
sub eax, ebx
mov ebx, dword [esp + 0x10]
jmp 0x7b911e
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x1c], ecx
and eax, 7
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
test ebx, ebx
je 0x7b9530
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, eax
shl edx, cl
mov ecx, ebx
neg cl
shr edx, cl
add eax, ebx
mov dword [esp + 0x18], eax
add esi, edx
cmp eax, 0x21
jae 0x7b953d
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x24]
jae 0x7b9190
mov edi, dword [esp + 0x20]
mov ecx, edx
sub ecx, edi
je 0x7b91a8
mov ebx, eax
shr ebx, 3
mov ebp, edx
sub ebp, ebx
cmp ebp, edi
mov ebp, dword [esp]
cmovb ebx, ecx
sub edx, ebx
mov dword [esp + 0x1c], edx
shl ebx, 3
sub eax, ebx
jmp 0x7b919e
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x1c], edx
and eax, 7
mov dword [esp + 0x18], eax
mov ecx, dword [edx]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x74], 1
je 0x7b92d8
mov dword [esp + 4], esi
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x84]
add eax, esi
mov ecx, eax
neg cl
mov ebx, edi
shr ebx, cl
and ebx, dword [esi*4 + 0xfb3308]
mov esi, dword [esp + 0x88]
add eax, esi
mov ecx, eax
neg cl
mov ebp, edi
shr ebp, cl
add ebx, dword [esp + 0x90]
and ebp, dword [esi*4 + 0xfb3308]
mov dword [esp + 0x28], ebx
add ebp, dword [esp + 0x8c]
mov dword [esp + 0x38], ebp
cmp eax, 0x21
jae 0x7b955a
cmp edx, dword [esp + 0x24]
mov esi, dword [esp + 4]
jae 0x7b9240
mov ebx, dword [esp + 0x20]
mov ecx, edx
sub ecx, ebx
je 0x7b9258
mov edi, eax
shr edi, 3
mov ebp, edx
sub ebp, edi
cmp ebp, ebx
cmovb edi, ecx
sub edx, edi
mov dword [esp + 0x1c], edx
shl edi, 3
sub eax, edi
jmp 0x7b924e
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x1c], edx
and eax, 7
mov dword [esp + 0x18], eax
mov edi, dword [edx]
mov dword [esp + 0x14], edi
mov ebx, dword [esp + 0x94]
add eax, ebx
mov ecx, eax
neg cl
shr edi, cl
and edi, dword [ebx*4 + 0xfb3308]
add edi, dword [esp + 0x98]
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], edi
cmp eax, 0x21
mov ebp, dword [esp]
jae 0x7b9570
cmp edx, dword [esp + 0x24]
jae 0x7b92c0
mov edi, dword [esp + 0x20]
mov ecx, edx
sub ecx, edi
je 0x7b92d8
mov ebx, eax
shr ebx, 3
mov ebp, edx
sub ebp, ebx
cmp ebp, edi
mov ebp, dword [esp]
cmovb ebx, ecx
sub edx, ebx
mov dword [esp + 0x1c], edx
shl ebx, 3
sub eax, ebx
jmp 0x7b92ce
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x1c], edx
and eax, 7
mov dword [esp + 0x18], eax
mov eax, dword [edx]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x5c]
lea eax, [ecx + esi]
cmp eax, dword [esp + 0x68]
ja 0x7b9428
mov edx, dword [esp + 0xc]
lea ebx, [esi + edx]
lea edx, [ebx + ebp]
cmp edx, dword [esp + 0x80]
ja 0x7b9428
mov edx, dword [esp + 0x54]
sub edx, ebp
lea edi, [ebx + 0x20]
cmp edx, edi
jb 0x7b9428
mov dword [esp + 4], ebx
lea ebx, [esi + ebp]
movups xmm0, xmmword [ecx]
movups xmmword [ebp], xmm0
cmp esi, 0x11
jae 0x7b9456
mov esi, ebx
mov edx, dword [esp + 8]
sub esi, edx
mov dword [esp + 0x5c], eax
mov edi, ebx
mov ebp, dword [esp + 0x50]
sub edi, ebp
cmp edi, edx
jae 0x7b9390
mov eax, ebx
sub eax, dword [esp + 0x70]
cmp eax, edx
jb 0x7b9723
mov dword [esp + 0x10], edi
sub esi, ebp
mov edx, dword [esp + 0x6c]
lea eax, [edx + esi]
mov edi, dword [esp + 0xc]
lea ecx, [eax + edi]
cmp ecx, edx
jbe 0x7b93f0
mov ecx, esi
neg ecx
push ecx
push eax
push ebx
call fcn.007de190
add esp, 0xc
sub ebx, esi
mov eax, esi
add eax, edi
mov esi, ebp
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x10]
jmp 0x7b9394
mov eax, dword [esp + 0xc]
cmp edx, 0x10
jb 0x7b9494
movups xmm0, xmmword [esi]
movups xmmword [ebx], xmm0
cmp eax, 0x11
jl 0x7b93fb
add eax, ebx
mov ecx, 0x10
mov ebp, dword [esp]
nop word cs:[eax + eax]
movups xmm0, xmmword [esi + ecx]
movups xmmword [ebx + ecx], xmm0
movups xmm0, xmmword [esi + ecx + 0x10]
movups xmmword [ebx + ecx + 0x10], xmm0
lea edx, [ebx + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, eax
jb 0x7b93c0
jmp 0x7b93fe
push edi
push eax
push ebx
call fcn.007de190
add esp, 0xc
mov ebp, dword [esp]
mov eax, dword [esp + 4]
cmp eax, 0xffffff88
ja 0x7b96e9
add ebp, eax
dec dword [esp + 0x74]
jne 0x7b8e60
jmp 0x7b96f3
mov ebp, dword [esp]
mov edx, dword [esp + 8]
jmp 0x7b9065
mov ecx, ebp
mov edx, dword [esp + 0x54]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x58]
push dword [esp + 0x74]
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x24]
push esi
call fcn.007b98d0
add esp, 0x20
jmp 0x7b9402
add esi, 0xfffffff0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [ebp + 0x10], xmm0
cmp esi, 0x11
jl 0x7b9328
lea edx, [ebp + 0x20]
xor esi, esi
movups xmm0, xmmword [ecx + esi + 0x20]
movups xmmword [edx + esi], xmm0
movups xmm0, xmmword [ecx + esi + 0x30]
movups xmmword [edx + esi + 0x10], xmm0
lea edi, [edx + esi]
add edi, 0x20
add esi, 0x20
cmp edi, ebx
jb 0x7b946f
jmp 0x7b9328
cmp edx, 7
ja 0x7b957d
movzx ecx, byte [esi]
mov byte [ebx], cl
movzx ecx, byte [esi + 1]
mov byte [ebx + 1], cl
movzx ecx, byte [esi + 2]
mov byte [ebx + 2], cl
movzx ecx, byte [esi + 3]
mov byte [ebx + 3], cl
mov ecx, dword [edx*4 + 0xfb338c]
mov edx, dword [esi + ecx]
add esi, ecx
mov dword [ebx + 4], edx
mov ecx, dword [esp + 8]
sub esi, dword [ecx*4 + 0xfb33ac]
jmp 0x7b9585
mov edx, dword [esp + 0x4c]
add edx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
shl eax, cl
shr eax, 0x1f
inc ecx
mov dword [esp + 0x18], ecx
add eax, edx
cmp eax, 3
mov ebx, dword [esp + 0x10]
jne 0x7b9657
mov eax, dword [esp + 0x40]
dec eax
cmp eax, 1
mov edx, 0
sbb edx, edx
or edx, eax
jmp 0x7b907e
mov dword [esp + 0x1c], 0xfb3388
test ebx, ebx
jne 0x7b9130
nop word cs:[eax + eax]
mov eax, dword [esp + 0x18]
cmp eax, 0x21
jb 0x7b9153
mov dword [esp + 0x1c], 0xfb3388
mov edx, 0xfb3388
cmp dword [esp + 0x74], 1
jne 0x7b91b3
jmp 0x7b92d8
mov dword [esp + 0x1c], 0xfb3388
mov edx, 0xfb3388
mov esi, dword [esp + 4]
jmp 0x7b9258
mov dword [esp + 0x1c], 0xfb3388
jmp 0x7b92d8
movsd xmm0, qword [esi]
movsd qword [ebx], xmm0
mov ebp, dword [esp]
cmp eax, 9
jb 0x7b93fe
lea ecx, [esi + 8]
mov dword [esp], ecx
lea ecx, [ebx + 8]
mov edx, ecx
sub edx, dword [esp]
mov dword [esp + 0x10], edx
lea edx, [ebx + eax]
mov dword [esp + 0x4c], edx
cmp dword [esp + 0x10], 0xf
jg 0x7b968a
mov ebx, dword [esp + 0xc]
add ebx, dword [esp + 0x50]
mov eax, dword [esp + 8]
cmp eax, edi
mov edx, edi
cmovb edx, eax
cmova edi, eax
add edx, ebx
mov ebx, edx
add ebx, edi
sub ebx, eax
mov eax, dword [esp + 0x7c]
add eax, edi
cmp ebx, eax
cmovbe ebx, eax
mov eax, dword [esp + 0x50]
add eax, edi
sub ebx, eax
add ebx, 0xfffffff7
cmp ebx, 0x18
mov edx, dword [esp]
jb 0x7b96ca
cmp dword [esp + 0x10], 0x20
jb 0x7b96ca
shr ebx, 3
inc ebx
mov dword [esp + 0xc], ebx
and ebx, 0xfffffffc
lea ecx, [ecx + ebx*8]
lea edx, [edx + ebx*8]
mov eax, dword [esp + 0x78]
add eax, ebp
sub edi, ebp
add edi, eax
xor eax, eax
movups xmm0, xmmword [esi + eax*8 + 8]
movups xmm1, xmmword [esi + eax*8 + 0x18]
movups xmmword [edi + eax*8 - 0x10], xmm0
movups xmmword [edi + eax*8], xmm1
add eax, 4
cmp ebx, eax
jne 0x7b961d
cmp dword [esp + 0xc], ebx
mov eax, dword [esp + 4]
je 0x7b9402
jmp 0x7b96ce
mov dword [esp + 0x1c], 0xfb3388
jmp 0x7b907a
mov ecx, dword [esp + eax*4 + 0x40]
cmp ecx, 1
mov edx, 0
sbb edx, edx
or edx, ecx
lea ecx, [esp + 0x40]
cmp eax, 1
jne 0x7b907e
jmp 0x7b908a
mov dword [esp + 0x1c], 0xfb3388
mov edx, dword [esp + 8]
jmp 0x7b9065
mov edx, dword [esp]
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
cmp eax, 0x19
jl 0x7b93fe
add ebx, 0x18
xor eax, eax
mov edx, dword [esp + 0x4c]
movups xmm0, xmmword [esi + eax + 0x18]
movups xmmword [ebx + eax], xmm0
movups xmm0, xmmword [esi + eax + 0x28]
movups xmmword [ebx + eax + 0x10], xmm0
lea ecx, [ebx + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, edx
jb 0x7b96a5
jmp 0x7b93fe
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x4c]
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
add ecx, 8
add edx, 8
cmp ecx, esi
jb 0x7b96d2
jmp 0x7b9402
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
jmp 0x7b972f
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x20]
jne 0x7b9723
cmp dword [esp + 0x18], 0x20
jne 0x7b9723
lea edx, [esp + 0x40]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 8], eax
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
mov edi, dword [esp + 0x5c]
jmp 0x7b8c3c
mov eax, dword [esp + 0x60]
jmp 0x7b972f
xor eax, eax
sub eax, dword [esp + 0x64]
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 0xb4]
jmp 0x7b8d43
mov dword [esp + 0x1c], 0xfb3388
mov edi, 0xfb3388
jmp 0x7b8d43
mov dword [esp + 0x1c], 0xfb3388
mov edi, 0xfb3388
jmp 0x7b8db3
mov dword [esp + 0x1c], 0xfb3388
jmp 0x7b8e29