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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x24e0
call fcn.007bcae0
mov esi, ecx
mov dword [esp + 0xe8], edx
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x1bc]
mov edx, esi
push dword [esp + 0xe8]
call fcn.004b3f70
add esp, 4
mov ebx, dword [esp + 0x1bc]
cmp ebx, 4
jne 0x670a30
xor edi, edi
mov ebx, 5
jmp 0x6715e0
mov edi, dword [esp + 0x1c0]
mov esi, dword [esp + 0x1c4]
cmp ebx, 2
je 0x670a51
cmp ebx, 3
jne 0x670ab5
xor edi, edi
mov ebx, 4
jmp 0x670aac
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0xc
call fcn.0071ee80
test eax, eax
je 0x672441
mov dword [eax], 0
mov byte [eax + 8], 9
mov ebx, eax
xor ecx, ecx
mov edx, 8
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x672450
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [ebx], eax
mov dword [esp + 0x14], ebx
mov dword [ebx + 4], 0x8a90e0
xor edi, edi
mov ebx, 3
mov esi, dword [esp + 0x28]
jmp 0x6715e0
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], edi
mov ecx, 0x12
lea edi, [esp + 0x10e0]
lea esi, [esp + 0x1c8]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 0x68]
lock inc dword [edi]
jle 0x6723c5
lea eax, [esp + 0x10e8]
mov dword [esp + 0xec], edi
movsd xmm1, qword [eax + 0x10]
movsd xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [esp + 0x130], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x138], xmm0
movsd qword [esp + 0x120], xmm2
movsd qword [esp + 0x128], xmm1
lock inc dword [edi]
jle 0x6723c5
movaps xmm0, xmmword [0x7d5500]
lea eax, [esp + 0x478]
mov dword [esp + 0xf0], edi
mov esi, dword [esp + 0xc]
mov ecx, 0x4000
mov dword [esp + 0x10], edi
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 0xf], 0
mov word [esp + 0x69c], 0xa
mov word [esp + 0x6a4], 0x101
mov dword [esp + 0x460], 0
mov dword [esp + 0x468], 1
mov dword [esp + 0x46c], 0x8a0484
mov dword [esp + 0x470], 1
mov dword [esp + 0x474], 0x8a0498
mov dword [esp + 0x670], 2
mov dword [esp + 0x678], 0x80000000
mov byte [esp + 0x6ae], 0
mov word [eax + 0x232], 0
mov dword [eax + 0x22e], 0
mov dword [esp + 0x684], 0x80000000
mov dword [esp + 0x6a0], 0x4000
mov dword [esp + 0x490], 1
mov dword [esp + 0x494], 0x4000
mov dword [esp + 0x498], 0
mov dword [esp + 0x49c], 4
mov eax, 0x4000
movups xmmword [esp + 0x4a0], xmm0
mov dword [esp + 0x4b0], 0
mov dword [esp + 0x4b4], 4
movups xmmword [esp + 0x4b8], xmm0
mov dword [esp + 0x4c8], 0
mov dword [esp + 0x4cc], 4
mov dword [esp + 0x4d0], 0
mov dword [esp + 0x4d4], 0
mov dword [esp + 0x690], 0x80000000
mov word [esp + 0x6ac], 0
mov dword [esp + 0x4d8], 0
mov dword [esp + 0x520], 0
mov dword [esp + 0x524], 4
mov dword [esp + 0x528], 0
mov dword [esp + 0x52c], 0
mov dword [esp + 0x530], 0x80000000
mov byte [esp + 0x5d1], 2
mov byte [esp + 0x669], 2
mov byte [esp + 0x66c], 0x23
mov word [esp + 0x66e], 0x100
cmp dword [edi + 8], 0
je 0x670d1d
mov ecx, dword [edi + 0xc]
lea edx, [ecx - 0x20]
cmp edx, 0x3fe5
ja 0x67103c
add ecx, 0xfffffffb
mov dword [esp + 0x6a0], ecx
lea edx, [esp + 0x228]
movzx ecx, byte [edi + 0x59]
mov dword [edx + 0xc], 0
mov dword [esp + 0xf4], edi
mov dword [edx + 4], 0
mov dword [edx], 0
mov dword [edx + 8], 0
mov dword [edx + 0xf], 0
mov word [esp + 0x44c], 0xa
mov word [esp + 0x454], 0x101
mov dword [esp + 0x210], 0
mov dword [esp + 0x218], 1
mov dword [esp + 0x21c], 0x8a0484
mov dword [esp + 0x220], 1
mov dword [esp + 0x224], 0x8a0498
mov dword [esp + 0x420], 2
mov dword [esp + 0x428], 0x80000000
mov byte [esp + 0x45e], 0
mov word [edx + 0x232], 0
mov dword [edx + 0x22e], 0
mov dword [esp + 0x434], 0x80000000
mov dword [esp + 0x450], 0x4000
mov dword [esp + 0x240], 1
mov dword [esp + 0x244], 0x4000
mov dword [esp + 0x248], 0
mov dword [esp + 0x24c], 4
movups xmmword [esp + 0x250], xmm0
mov dword [esp + 0x260], 0
mov dword [esp + 0x264], 4
movups xmmword [esp + 0x268], xmm0
mov dword [esp + 0x278], 0
mov dword [esp + 0x27c], 4
mov dword [esp + 0x280], 0
mov dword [esp + 0x284], 0
mov dword [esp + 0x440], 0x80000000
mov word [esp + 0x45c], 0
mov dword [esp + 0x288], 0
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x2d4], 4
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0x80000000
mov byte [esp + 0x381], 2
mov byte [esp + 0x419], 2
mov byte [esp + 0x41c], 0x23
mov word [esp + 0x41e], 0x100
mov byte [esp + 0x6ad], cl
cmp dword [edi + 8], 0
je 0x670f03
mov eax, dword [edi + 0xc]
lea ecx, [eax - 0x20]
cmp ecx, 0x3fe5
ja 0x6712d4
add eax, 0xfffffffb
mov dword [esp + 0x450], eax
movzx eax, byte [edi + 0x59]
mov byte [esp + 0x45d], al
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [edx + eax + 8]
push eax
call dword [ecx + 0x18]
add esp, 4
mov byte [esp + 0x14], al
xor ecx, ecx
mov edx, 0x58
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x67245f
mov dword [eax], 0
mov dword [eax + 4], 4
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0x80000001
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 1
mov esi, eax
mov dword [eax + 0x18], 0
movzx eax, byte [esp + 0x14]
mov byte [esi + 0x1c], al
mov dword [esi + 0x28], edi
mov dword [esi + 0x30], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x4c], 0
mov word [esi + 0x54], 0
mov edi, dword [esp + 0x210]
movzx eax, byte [esp + 0x214]
mov byte [esp + 0x14], al
push 0x24b
lea eax, [esp + 0x219]
push eax
lea eax, [esp + 0x1885]
push eax
call fcn.007bd9b0
add esp, 0xc
movsd xmm0, qword [esp + 0x187d]
movsd xmm1, qword [esp + 0x1884]
cmp edi, 2
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0x9f], xmm1
jne 0x67107f
mov esi, dword [esp + 0xc]
movzx eax, byte [esp + 0x14]
jmp 0x671317
lea ecx, [esp + 0x460]
mov byte [esp + 0x6b4], 0x12
mov dword [esp + 0x6b0], 2
call fcn.00584650
lock dec dword [edi]
jne 0x67106c
lea ecx, [esp + 0xf0]
call fcn.0058f150
cmp dword [esp + 0x6b0], 2
jne 0x671269
jmp 0x671358
push 0x23c
lea eax, [esp + 0x1890]
push eax
lea eax, [esp + 0x6cc]
push eax
call fcn.007bd9b0
add esp, 0xc
movsd xmm0, qword [esp + 0x194]
lea ecx, [esp + 0x6b4]
mov dword [esp + 0x900], 2
mov eax, dword [esp + 0x19c]
movsd xmm1, qword [esp + 0x18c]
movzx edx, byte [esp + 0x14]
movsd qword [ecx + 0x260], xmm0
movsd xmm0, qword [esp + 0x184]
mov dword [ecx + 0x268], eax
movsd qword [ecx + 0x258], xmm1
movsd xmm1, qword [esp + 0x1a8]
movzx eax, byte [esp + 0x97]
movsd qword [ecx + 0x250], xmm0
movsd xmm0, qword [esp + 0x1a1]
mov byte [esp + 0x920], 0x14
movsd qword [ecx + 0x26d], xmm0
movsd qword [ecx + 0x274], xmm1
mov byte [esp + 0x930], 0x14
mov byte [ecx + 0x27f], al
movzx eax, word [esp + 0x95]
movsd xmm0, qword [esp + 0x170]
movsd xmm1, qword [esp + 0x178]
mov word [ecx + 0x27d], ax
mov dword [esp + 0x934], esi
mov dword [esp + 0x938], 0x8a1598
mov dword [esp + 0x940], 2
mov eax, dword [esp + 0x180]
movsd qword [ecx + 0x290], xmm0
movsd xmm0, qword [esp + 0x1b0]
movsd qword [ecx + 0x298], xmm1
movsd xmm1, qword [esp + 0x9f]
mov dword [ecx + 0x2a0], eax
mov dword [esp + 0x958], 0
mov dword [esp + 0x95c], 1
mov dword [esp + 0x960], 0
mov dword [esp + 0x964], 0x80000000
movsd qword [esp + 0x968], xmm0
movsd xmm0, qword [esp + 0x164]
mov dword [esp + 0x970], 0x80000001
mov eax, dword [esp + 0x16c]
movsd qword [ecx + 0x2c0], xmm0
movsd xmm0, qword [esp + 0x98]
mov dword [ecx + 0x2c8], eax
mov byte [esp + 0x6b4], dl
movsd qword [ecx + 8], xmm1
movsd qword [ecx + 1], xmm0
lea ecx, [esp + 0x460]
mov dword [esp + 0x6b0], edi
mov dword [esp + 0x980], 0
mov dword [esp + 0x984], 1
mov dword [esp + 0x988], 0
mov dword [esp + 0x98c], 0
call fcn.00584650
mov esi, dword [esp + 0xc]
cmp dword [esp + 0x6b0], 2
je 0x671358
push 0x2e0
lea eax, [esp + 0x6b4]
push eax
lea eax, [esp + 0x998]
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, esi
mov ecx, 0x12
lea edi, [esp + 0xc7c]
lea esi, [esp + 0x1c8]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc70], ebx
mov dword [esp + 0xc74], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc78], ecx
mov byte [esp + 0xcc4], 0
mov eax, dword [esp + 0x10]
lock dec dword [eax]
mov esi, dword [esp + 0x28]
je 0x6713ba
jmp 0x6713c6
lea ecx, [esp + 0x210]
call fcn.00584650
lock dec dword [edi]
jne 0x6712f1
lea ecx, [esp + 0xf4]
call fcn.0058f150
movsd xmm0, qword [esp + 0x187d]
movsd xmm1, qword [esp + 0x1884]
mov al, 0x12
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0x9f], xmm1
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0x9f]
mov byte [esp + 0x6b4], al
lea eax, [esp + 0x6b4]
lea ecx, [esp + 0x460]
movsd qword [eax + 8], xmm1
movsd qword [eax + 1], xmm0
mov dword [esp + 0x6b0], 2
call fcn.00584650
lea eax, [esp + 0x6b4]
lea ecx, [esp + 0x9e8]
mov edx, 0x27
push eax
call fcn.00688810
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x994], ebx
mov dword [esp + 0x998], esi
mov ecx, 0x12
lea edi, [esp + 0x9a0]
lea esi, [esp + 0x1c8]
mov dword [esp + 0x99c], eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x990], 3
mov eax, dword [esp + 0x10]
lock dec dword [eax]
mov esi, dword [esp + 0x28]
jne 0x6713c6
lea ecx, [esp + 0xec]
call fcn.0058f150
mov eax, dword [esp + 0x990]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x994]
mov dword [esp + 0xe4], eax
push 0x330
lea eax, [esp + 0x99c]
push eax
lea ebx, [esp + 0x1130]
push ebx
call fcn.007bd9b0
add esp, 0xc
movsd xmm1, qword [esp + 0x128]
lea eax, [esp + 0x1500]
movsd xmm0, qword [esp + 0x120]
movsd xmm2, qword [esp + 0x130]
movsd qword [eax - 0xa0], xmm1
movsd xmm1, qword [esp + 0x138]
movsd qword [eax - 0xa8], xmm0
movsd qword [eax - 0x98], xmm2
movsd qword [eax - 0x90], xmm1
push 0x350
push ebx
lea eax, [esp + 0x998]
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esi + 0xb0]
mov dword [esp + 0xe0], eax
lock inc dword [eax]
jle 0x6723c5
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa4]
test eax, eax
mov dword [esp + 0xdc], ecx
je 0x671493
lock inc dword [eax]
jle 0x6723c5
mov dword [esp + 0xd8], eax
movzx eax, byte [esi + 0xa8]
lea ecx, [esp + 0x144]
mov byte [esp + 0x26], al
movzx eax, byte [esi + 0xa9]
mov byte [esp + 0x25], al
movzx eax, byte [esi + 0xaa]
mov byte [esp + 0x24], al
movzx eax, byte [esi + 0xab]
mov byte [esp + 0x22], al
movzx eax, byte [esi + 0xad]
mov byte [esp + 0x23], al
movzx eax, byte [esi + 0x94]
mov byte [esp + 0x21], al
mov eax, dword [esi + 0x80]
mov dword [esp + 0xd4], eax
movzx eax, byte [esi + 0x95]
mov byte [esp + 0x20], al
movzx eax, byte [esi + 0xae]
mov byte [esp + 0x27], al
lea eax, [esp + 0xcc0]
movsd xmm1, qword [eax + 0x10]
movsd xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [ecx + 0x10], xmm1
movsd xmm1, qword [eax + 8]
movzx eax, byte [esi + 0xac]
movsd qword [ecx + 0x18], xmm0
movsd qword [ecx], xmm2
mov byte [esp + 0x1f], al
mov eax, dword [esi + 0x84]
movsd qword [ecx + 8], xmm1
mov dword [esp + 0xcc], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0xd0], eax
mov eax, dword [esi + 0x70]
mov dword [esp + 0xac], eax
mov eax, dword [esi + 0x74]
mov dword [esp + 0xb0], eax
mov eax, dword [esi + 0x78]
mov dword [esp + 0xb4], eax
mov eax, dword [esi + 0x7c]
mov dword [esp + 0xb8], eax
mov eax, dword [esi + 0x8c]
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0xc0], eax
mov eax, dword [esi + 0x98]
mov dword [esp + 0xc4], eax
mov eax, dword [esi + 0x9c]
mov dword [esp + 0xc8], eax
push 0x350
lea eax, [esp + 0x112c]
push eax
lea eax, [esp + 0x1ad0]
push eax
call fcn.007bd9b0
add esp, 0xc
xor ebx, ebx
xor edi, edi
nop word cs:[eax + eax]
nop
mov ecx, ebx
xor eax, eax
and cl, 7
cmp cl, 4
je 0x6717a0
mov edx, ebx
mov ecx, 4
and edx, 7
cmp edx, 5
je 0x6717a5
cmp edx, 3
je 0x6723b7
push 0x350
lea eax, [esp + 0x1acc]
push eax
lea eax, [esp + 0x1e20]
push eax
call fcn.007bd9b0
add esp, 0xc
movzx eax, byte [esp + 0x163]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
movsd xmm0, qword [esp + 0x143]
movsd xmm1, qword [esp + 0x14b]
mov byte [esp + 0x90], al
mov eax, ebx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xb0]
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [esp + 0x153]
movsd qword [esp + 0x78], xmm1
xor eax, 5
or eax, edi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0xb8]
movsd qword [esp + 0x80], xmm0
movsd xmm0, qword [esp + 0x15b]
mov dword [esp + 0x68], eax
movzx eax, byte [esp + 0x21]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0xcc]
movsd qword [esp + 0x88], xmm0
mov byte [esp + 3], al
movzx eax, byte [esp + 0x20]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0xbc]
mov byte [esp + 4], al
movzx eax, byte [esp + 0x27]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0xc4]
mov byte [esp + 5], al
movzx eax, byte [esp + 0x26]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0xd8]
mov byte [esp + 6], al
movzx eax, byte [esp + 0x25]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x60], edx
mov byte [esp + 7], al
movzx eax, byte [esp + 0x24]
mov dword [esp + 0x64], ecx
mov byte [esp + 8], al
movzx eax, byte [esp + 0x22]
mov byte [esp + 9], al
movzx eax, byte [esp + 0x1f]
mov byte [esp + 0xa], al
movzx eax, byte [esp + 0x23]
mov byte [esp + 0xb], al
je 0x6723b7
mov eax, ebx
xor eax, 3
or eax, edi
jne 0x6717b6
jmp 0x6723a8
mov ecx, 3
mov ebx, ecx
mov edi, eax
mov eax, ebx
xor eax, 3
or eax, edi
je 0x6723a8
mov eax, ebx
xor eax, 4
or eax, edi
je 0x6723ae
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], ebx
lock inc dword [eax]
jle 0x6723c5
mov dword [esp + 0xc], edi
lock inc dword [eax + 0xb4]
movsd xmm1, qword [esp + 0x80]
mov edi, dword [esi + 0xa0]
movzx eax, byte [esp + 0x90]
movsd xmm0, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x108], xmm1
movsd xmm1, qword [esp + 0x78]
test edi, edi
mov byte [esp + 0x118], al
movsd qword [esp + 0x110], xmm0
movsd qword [esp + 0xf8], xmm2
movsd qword [esp + 0x100], xmm1
je 0x671a40
mov eax, dword [esi + 0xa4]
xor ecx, ecx
mov edx, 0x748
mov dword [esp + 0x10], eax
mov ebx, dword [eax + 8]
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x6723c7
mov esi, eax
mov dword [eax + 4], 0
mov dword [eax], 7
mov eax, dword [esp + 0x18]
dec ebx
and ebx, 0xfffffff8
lea edi, [ebx + edi + 8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x14], eax
lea eax, [esi + 0x18]
push 0x350
lea ecx, [esp + 0x1e1c]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x34]
mov dword [esi + 0x368], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x36c], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x370], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 0x374], eax
mov eax, dword [esp + 0x44]
mov dword [esi + 0x378], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x37c], eax
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x380], eax
mov eax, dword [esp + 0x50]
mov dword [esi + 0x384], eax
mov eax, dword [esp + 0x54]
mov dword [esi + 0x388], eax
movzx eax, byte [esp + 3]
mov byte [esi + 0x38c], al
movzx eax, byte [esp + 4]
mov byte [esi + 0x38d], al
mov eax, dword [esp + 0x58]
mov dword [esi + 0x390], eax
mov eax, dword [esp + 0x5c]
mov dword [esi + 0x394], eax
mov eax, dword [esp + 0x60]
mov dword [esi + 0x398], eax
mov eax, dword [esp + 0x64]
mov dword [esi + 0x39c], eax
movzx eax, byte [esp + 6]
mov byte [esi + 0x3a0], al
movzx eax, byte [esp + 7]
mov byte [esi + 0x3a1], al
movzx eax, byte [esp + 8]
mov byte [esi + 0x3a2], al
movzx eax, byte [esp + 9]
mov byte [esi + 0x3a3], al
movzx eax, byte [esp + 0xa]
mov byte [esi + 0x3a4], al
movzx eax, byte [esp + 0xb]
mov byte [esi + 0x3a5], al
movzx eax, byte [esp + 5]
mov byte [esi + 0x3a6], al
movzx eax, byte [esp + 0x90]
mov byte [esi + 0x3c7], al
mov eax, dword [esp + 0x2c]
movsd xmm0, qword [esp + 0x88]
movsd qword [esi + 0x3bf], xmm0
movsd xmm0, qword [esp + 0x80]
movsd qword [esi + 0x3b7], xmm0
movsd xmm0, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x78]
movsd qword [esi + 0x3af], xmm1
movsd qword [esi + 0x3a7], xmm0
mov dword [esi + 0x3c8], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x3d0], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x3d4], eax
mov eax, esi
add eax, 0x3d8
push 0x370
lea ecx, [esp + 0x216c]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
push 0x8ae120
push esi
push edi
mov eax, dword [esp + 0x1c]
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [esp + 0x28]
jmp 0x670a00
mov edx, dword [0x94b9fc]
mov eax, dword [0x94b9f8]
nop dword [eax + eax]
mov ebx, eax
mov ecx, edx
add ebx, 1
adc ecx, 0
lock cmpxchg8b qword [0x94b9f8]
jne 0x671a50
mov dword [esp + 0x1ac8], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x112c], 0
mov dword [esp + 0x1128], 7
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1acc], edx
mov dword [esp + 0x1134], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1130], ebx
mov dword [esp + 0x1138], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x113c], eax
push 0x350
lea eax, [esp + 0x1e1c]
push eax
lea eax, [esp + 0x1148]
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x34]
movsd xmm0, qword [esp + 0x88]
lea ecx, [esp + 0x1500]
movsd xmm1, qword [esp + 0x78]
mov edi, dword [ebp + 8]
mov dword [esp + 0x1490], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1494], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1498], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x149c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14a0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14a4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14a8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14ac], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14b0], eax
movzx eax, byte [esp + 3]
mov byte [esp + 0x14b4], al
movzx eax, byte [esp + 4]
mov byte [esp + 0x14b5], al
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14b8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14bc], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14c0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14c4], eax
movzx eax, byte [esp + 6]
mov byte [esp + 0x14c8], al
movzx eax, byte [esp + 7]
mov byte [esp + 0x14c9], al
movzx eax, byte [esp + 8]
mov byte [esp + 0x14ca], al
movzx eax, byte [esp + 9]
mov byte [esp + 0x14cb], al
movzx eax, byte [esp + 0xa]
mov byte [esp + 0x14cc], al
movzx eax, byte [esp + 0xb]
mov byte [esp + 0x14cd], al
movzx eax, byte [esp + 5]
mov byte [esp + 0x14ce], al
movzx eax, byte [esp + 0x90]
movsd qword [ecx - 0x19], xmm0
movsd xmm0, qword [esp + 0x80]
movsd qword [ecx - 0x29], xmm1
mov byte [ecx - 0x11], al
movsd qword [ecx - 0x21], xmm0
movsd xmm0, qword [esp + 0x70]
mov eax, dword [esp + 0x2c]
movsd qword [ecx - 0x31], xmm0
mov dword [esp + 0x14f0], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14f8], edi
mov dword [esp + 0x14fc], eax
push 0x370
lea eax, [esp + 0x216c]
push eax
push ecx
call fcn.007bd9b0
add esp, 0xc
lea eax, [esp + 0x1ac8]
mov dword [esp + 0x1870], eax
call fcn.0061f960
test eax, eax
je 0x6723d6
mov ecx, dword [eax]
cmp ecx, 0x7ffffffe
ja 0x6723fc
inc ecx
mov dword [esp + 0x10], eax
mov dword [eax], ecx
mov esi, dword [eax + 4]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x994], 0
mov dword [esp + 0x990], 7
mov dword [esp + 0x998], ebx
mov dword [esp + 0x99c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x9a0], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9a4], eax
push 0x350
lea eax, [esp + 0x1e1c]
push eax
lea eax, [esp + 0x9b0]
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x34]
movsd xmm0, qword [esp + 0x88]
lea ecx, [esp + 0xcc0]
movsd xmm1, qword [esp + 0x78]
mov dword [esp + 0xcf8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xcfc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xd00], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xd04], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xd08], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xd0c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xd10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xd14], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xd18], eax
movzx eax, byte [esp + 3]
mov byte [esp + 0xd1c], al
movzx eax, byte [esp + 4]
mov byte [esp + 0xd1d], al
mov eax, dword [esp + 0x58]
mov dword [esp + 0xd20], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xd24], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xd28], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xd2c], eax
movzx eax, byte [esp + 6]
mov byte [esp + 0xd30], al
movzx eax, byte [esp + 7]
mov byte [esp + 0xd31], al
movzx eax, byte [esp + 8]
mov byte [esp + 0xd32], al
movzx eax, byte [esp + 9]
mov byte [esp + 0xd33], al
movzx eax, byte [esp + 0xa]
mov byte [esp + 0xd34], al
movzx eax, byte [esp + 0xb]
mov byte [esp + 0xd35], al
movzx eax, byte [esp + 5]
mov byte [esp + 0xd36], al
movzx eax, byte [esp + 0x90]
movsd qword [ecx + 0x8f], xmm0
movsd xmm0, qword [esp + 0x80]
movsd qword [ecx + 0x7f], xmm1
mov byte [ecx + 0x97], al
movsd qword [ecx + 0x87], xmm0
movsd xmm0, qword [esp + 0x70]
mov eax, dword [esp + 0x2c]
movsd qword [ecx + 0x77], xmm0
mov dword [esp + 0xd58], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xd60], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xd64], eax
push 0x370
lea eax, [esp + 0x216c]
push eax
lea eax, [esp + 0xd70]
push eax
call fcn.007bd9b0
add esp, 0xc
cmp esi, 2
lea eax, [esp + 0x1ac8]
mov dword [esp + 0x10d8], eax
je 0x672406
mov ecx, dword [esp + 0x1ac8]
mov edi, dword [esp + 0x1acc]
test esi, esi
je 0x6720f9
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x6c], eax
lock inc dword [eax]
jle 0x6723c5
movzx eax, byte [0x94bfc5]
mov esi, ecx
xor ecx, ecx
mov edx, 0x7c0
call fcn.0071ee80
test eax, eax
je 0x672432
mov ebx, eax
and ebx, 0xffffffc0
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x40], 0xcc
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0x8ae958
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x60], esi
mov esi, eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x64], edi
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x68], 7
lea edi, [ebx + 0x40]
mov dword [ebx + 0x74], eax
lea eax, [esi + 0xb0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x70], eax
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x78], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x7c], eax
lea eax, [ebx + 0x80]
push 0x350
lea ecx, [esp + 0x1e1c]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x3d0], eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x3d4], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x3d8], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x3dc], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x3e0], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x3e4], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x3e8], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x3ec], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x3f0], eax
movzx eax, byte [esp + 3]
mov byte [ebx + 0x3f4], al
movzx eax, byte [esp + 4]
mov byte [ebx + 0x3f5], al
mov eax, dword [esp + 0x58]
mov dword [ebx + 0x3f8], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0x3fc], eax
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x400], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x404], eax
movzx eax, byte [esp + 6]
mov byte [ebx + 0x408], al
movzx eax, byte [esp + 7]
mov byte [ebx + 0x409], al
movzx eax, byte [esp + 8]
mov byte [ebx + 0x40a], al
movzx eax, byte [esp + 9]
mov byte [ebx + 0x40b], al
movzx eax, byte [esp + 0xa]
mov byte [ebx + 0x40c], al
movzx eax, byte [esp + 0xb]
mov byte [ebx + 0x40d], al
movzx eax, byte [esp + 5]
mov byte [ebx + 0x40e], al
movzx eax, byte [esp + 0x118]
mov byte [ebx + 0x42f], al
mov eax, dword [esp + 0x2c]
movsd xmm0, qword [esp + 0x110]
movsd qword [ebx + 0x427], xmm0
movsd xmm0, qword [esp + 0x108]
movsd qword [ebx + 0x41f], xmm0
movsd xmm0, qword [esp + 0xf8]
movsd xmm1, qword [esp + 0x100]
movsd qword [ebx + 0x417], xmm1
movsd qword [ebx + 0x40f], xmm0
mov dword [ebx + 0x430], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x438], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x43c], eax
lea eax, [ebx + 0x440]
push 0x370
lea ecx, [esp + 0x216c]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov dword [ebx + 0x7b0], 0
mov dword [ebx + 0x7b4], 0
mov dword [ebx + 0x7b8], 0
mov edx, edi
push edi
call fcn.00628ee0
add esp, 4
test eax, eax
je 0x67237b
add esi, 8
mov edx, eax
mov ecx, esi
push 0
call fcn.0072a9a0
jmp 0x672378
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 8]
lock inc dword [esi]
jle 0x6723c5
mov dword [esp + 0x6c], ecx
xor ecx, ecx
mov edx, 0x7c0
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x672432
mov ebx, eax
and ebx, 0xffffffc0
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x40], 0xcc
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0x8ae750
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x58], esi
mov dword [ebx + 0x64], edi
lea edi, [ebx + 0x40]
add esi, 8
mov dword [ebx + 0x60], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x68], 7
mov dword [ebx + 0x74], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x70], eax
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x78], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x7c], eax
lea eax, [ebx + 0x80]
push 0x350
lea ecx, [esp + 0x1e1c]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x3d0], eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x3d4], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x3d8], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x3dc], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x3e0], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x3e4], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x3e8], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x3ec], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x3f0], eax
movzx eax, byte [esp + 3]
mov byte [ebx + 0x3f4], al
movzx eax, byte [esp + 4]
mov byte [ebx + 0x3f5], al
mov eax, dword [esp + 0x58]
mov dword [ebx + 0x3f8], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0x3fc], eax
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x400], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x404], eax
movzx eax, byte [esp + 6]
mov byte [ebx + 0x408], al
movzx eax, byte [esp + 7]
mov byte [ebx + 0x409], al
movzx eax, byte [esp + 8]
mov byte [ebx + 0x40a], al
movzx eax, byte [esp + 9]
mov byte [ebx + 0x40b], al
movzx eax, byte [esp + 0xa]
mov byte [ebx + 0x40c], al
movzx eax, byte [esp + 0xb]
mov byte [ebx + 0x40d], al
movzx eax, byte [esp + 5]
mov byte [ebx + 0x40e], al
movzx eax, byte [esp + 0x118]
mov byte [ebx + 0x42f], al
mov eax, dword [esp + 0x2c]
movsd xmm0, qword [esp + 0x110]
movsd qword [ebx + 0x427], xmm0
movsd xmm0, qword [esp + 0x108]
movsd qword [ebx + 0x41f], xmm0
movsd xmm0, qword [esp + 0xf8]
movsd xmm1, qword [esp + 0x100]
movsd qword [ebx + 0x417], xmm1
movsd qword [ebx + 0x40f], xmm0
mov dword [ebx + 0x430], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x438], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x43c], eax
lea eax, [ebx + 0x440]
push 0x370
lea ecx, [esp + 0x216c]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov dword [ebx + 0x7b0], 0
mov dword [ebx + 0x7b4], 0
mov dword [ebx + 0x7b8], 0
mov ecx, esi
mov edx, edi
push edi
call fcn.00628ee0
add esp, 4
test eax, eax
je 0x67237b
mov esi, eax
call fcn.00724480
test eax, eax
je 0x672368
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov ecx, dword [ecx + 8]
test eax, eax
je 0x67236f
mov edx, esi
push eax
jmp 0x672373
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, esi
push 0
call fcn.00729210
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, 0x84
dec dword [eax]
mov eax, 0xcc
lock cmpxchg dword [edi], ecx
mov esi, dword [esp + 0x28]
je 0x670a00
mov eax, dword [edi + 8]
push edi
call dword [eax + 0x10]
add esp, 4
jmp 0x670a00
xor eax, eax
xor edx, edx
jmp 0x6723bd
xor edx, edx
mov eax, 1
jmp 0x6723bd
mov edx, dword [esp + 0x14]
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
ud2
mov ecx, 8
mov edx, 0x748
call fcn.007c1490
lea ecx, [esp + 0x1128]
call fcn.00672470
mov al, 1
lea ecx, [esp + 0x990]
mov edx, 0x8ae0e0
mov byte [esp + 0x990], al
call fcn.007d0240
mov ecx, 0x936a34
call fcn.007c1f10
lea ecx, [esp + 0x990]
call fcn.00672470
mov eax, dword [esp + 0x10]
dec dword [eax]
xor eax, eax
lea ecx, [esp + 0x990]
mov edx, 0x8ae0e0
mov byte [esp + 0x990], al
call fcn.007d0240
mov ecx, 0x40
mov edx, 0x780
call fcn.007c1490
mov ecx, 4
mov edx, 0xc
call fcn.007c1490
mov ecx, 4
mov edx, 8
call fcn.007c1490
mov ecx, 4
mov edx, 0x58
call fcn.007c1490
int3