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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov esi, edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], eax
movzx eax, byte [ebp + 0xc]
mov dword [esp + 0x28], eax
lea eax, [esi - 0x68]
mov dword [esp + 0x18], eax
lea eax, [esi - 0xd0]
mov dword [esp + 0x30], eax
lea eax, [esi - 0x138]
mov dword [esp + 0x44], eax
mov edi, ecx
mov dword [esp + 0x1c], esi
mov ecx, esi
mov dword [esp + 0xc], edi
sub ecx, edi
mov eax, ecx
sar eax, 3
imul edx, eax, 0xc4ec4ec5
mov eax, edx
mov dword [esp + 0x10], edx
cmp edx, 5
jbe 0x40823a
cmp ecx, 0x9bf
jle 0x4082c9
cmp dword [esp + 0x14], 0
je 0x408532
mov eax, dword [esp + 0x10]
shr eax, 1
imul ebx, eax, 0x68
mov eax, dword [esp + 0xc]
lea esi, [eax + ebx]
cmp ecx, 0x3401
jb 0x407c50
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, esi
push dword [esp + 0x18]
call fcn.00409270
add esp, 4
lea ecx, [edi + 0x68]
mov eax, dword [esp + 0xc]
lea edi, [ebx + eax]
add edi, 0xffffff98
mov edx, edi
push dword [esp + 0x30]
call fcn.00409270
add esp, 4
mov eax, dword [esp + 0xc]
lea ecx, [eax + 0xd0]
mov eax, dword [esp + 0xc]
add ebx, eax
add ebx, 0x68
mov edx, ebx
push dword [esp + 0x44]
call fcn.00409270
add esp, 4
mov ecx, edi
mov edi, dword [esp + 0xc]
mov edx, esi
push ebx
call fcn.00409270
add esp, 4
mov ecx, edi
mov edx, esi
call fcn.0040a0a0
lea ebx, [esp + 0x64]
dec dword [esp + 0x14]
cmp byte [esp + 0x28], 0
jne 0x407c85
jmp 0x407c71
mov ecx, esi
mov edx, dword [esp + 0xc]
push dword [esp + 0x18]
call fcn.00409270
add esp, 4
lea ebx, [esp + 0x64]
dec dword [esp + 0x14]
cmp byte [esp + 0x28], 0
jne 0x407c85
mov ecx, dword [esp + 0xc]
lea edx, [ecx - 0x68]
call fcn.00409630
test al, al
je 0x407f99
mov esi, dword [esp + 0xc]
movzx eax, byte [esi + 0x10]
mov byte [esp + 0x60], al
movups xmm0, xmmword [esi]
movaps xmmword [esp + 0x50], xmm0
lea eax, [esi + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx + 8], eax
movsd xmm0, qword [esi + 0x14]
movsd qword [ebx], xmm0
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x1c], 0
lea eax, [esi + 0x20]
mov dword [esp + 0x38], eax
movsd xmm0, qword [esi + 0x50]
movsd qword [ebx + 0x3c], xmm0
movups xmm0, xmmword [esi + 0x40]
movups xmmword [ebx + 0x2c], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmm1, xmmword [esi + 0x30]
movups xmmword [ebx + 0x1c], xmm1
movups xmmword [ebx + 0xc], xmm0
lea eax, [esi + 0x58]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x60]
mov dword [ebx + 0x4c], eax
movsd xmm0, qword [esi + 0x58]
movsd qword [ebx + 0x44], xmm0
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 0
mov dword [esi + 0x60], 0
mov edi, 0x68
lea ebx, [esp + 0x50]
nop word cs:[eax + eax]
add esi, 0x68
mov ecx, ebx
mov edx, esi
call fcn.00409630
add edi, 0xffffff98
test al, al
jne 0x407d30
mov eax, dword [esp + 0x1c]
test edi, edi
mov edi, eax
je 0x407d70
nop dword [eax]
add edi, 0xffffff98
mov ecx, ebx
mov edx, edi
call fcn.00409630
test al, al
je 0x407d50
jmp 0x407da0
mov edi, dword [esp + 0x1c]
nop word cs:[eax + eax]
cmp esi, edi
jae 0x407da0
add edi, 0xffffff98
mov ecx, ebx
mov edx, edi
call fcn.00409630
test al, al
je 0x407d80
nop word cs:[eax + eax]
mov eax, edi
mov edi, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], eax
cmp esi, eax
jae 0x407df4
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
nop dword [eax + eax]
mov ecx, edi
mov edx, ebx
call fcn.0040a0a0
lea esi, [esp + 0x50]
nop dword [eax]
add edi, 0x68
mov ecx, esi
mov edx, edi
call fcn.00409630
test al, al
jne 0x407dd0
add ebx, 0xffffff98
mov ecx, esi
mov edx, ebx
call fcn.00409630
test al, al
je 0x407de0
cmp edi, ebx
jb 0x407dc0
lea ecx, [edi - 0x68]
cmp ecx, dword [esp + 0xc]
lea ebx, [esp + 0x64]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], ecx
je 0x407eaa
movzx eax, byte [ecx + 0x10]
mov edx, ecx
mov ecx, dword [esp + 0xc]
mov byte [ecx + 0x10], al
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
test byte [ecx + 0x14], 1
je 0x407e35
mov eax, dword [esp + 0xc]
push dword [eax + 0x1c]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [edi - 0x54]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x34]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
mov word [edi - 0x54], 0
movsd xmm0, qword [edi - 0x18]
mov eax, dword [esp + 0x38]
movsd qword [eax + 0x30], xmm0
movups xmm0, xmmword [edi - 0x28]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [edi - 0x48]
movups xmm1, xmmword [edi - 0x38]
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax], xmm0
mov eax, dword [esp + 0x2c]
test byte [eax], 1
je 0x407e8d
mov eax, dword [esp + 0xc]
push dword [eax + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [edi - 8]
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 8], eax
movsd xmm0, qword [edi - 0x10]
movsd qword [ecx], xmm0
mov word [edi - 0x10], 0
mov ecx, dword [esp + 0x10]
movzx eax, byte [esp + 0x60]
mov byte [ecx + 0x10], al
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [ecx], xmm0
test byte [edi - 0x54], 1
je 0x407ecb
push dword [edi - 0x4c]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [edi - 0x54]
mov ecx, dword [ebx + 8]
mov dword [eax + 8], ecx
movsd xmm0, qword [ebx]
movsd qword [eax], xmm0
mov word [esp + 0x64], 0
movsd xmm0, qword [ebx + 0x3c]
movsd qword [edi - 0x18], xmm0
movups xmm0, xmmword [ebx + 0x2c]
movups xmmword [edi - 0x28], xmm0
movups xmm0, xmmword [ebx + 0xc]
movups xmm1, xmmword [ebx + 0x1c]
movups xmmword [edi - 0x38], xmm1
movups xmmword [edi - 0x48], xmm0
test byte [edi - 0x10], 1
je 0x407f16
push dword [edi - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [edi - 0x10]
mov ecx, dword [ebx + 0x4c]
mov dword [eax + 8], ecx
movsd xmm0, qword [ebx + 0x44]
movsd qword [eax], xmm0
test byte [esp + 0x64], 1
je 0x407f3b
push dword [esp + 0x6c]
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp esi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jb 0x407f6d
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
call fcn.004092e0
mov ebx, eax
mov ecx, edi
mov edx, esi
call fcn.004092e0
test al, al
jne 0x408225
test bl, bl
jne 0x407b71
xor eax, eax
cmp byte [esp + 0x28], 0
setne al
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
push eax
push dword [esp + 0x18]
call fcn.00407b30
add esp, 8
mov dword [esp + 0x28], 0
jmp 0x407b71
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + 0x10]
mov byte [esp + 0x60], al
movups xmm0, xmmword [ecx]
movaps xmmword [esp + 0x50], xmm0
mov eax, dword [ecx + 0x1c]
mov dword [ebx + 8], eax
movsd xmm0, qword [ecx + 0x14]
movsd qword [ebx], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x1c], 0
movsd xmm0, qword [ecx + 0x50]
movsd qword [ebx + 0x3c], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [ebx + 0x2c], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmm1, xmmword [ecx + 0x30]
movups xmmword [ebx + 0x1c], xmm1
movups xmmword [ebx + 0xc], xmm0
movsd xmm0, qword [ecx + 0x58]
movsd qword [ebx + 0x44], xmm0
mov eax, dword [ecx + 0x60]
mov dword [ebx + 0x4c], eax
mov dword [ecx + 0x5c], 0
mov dword [ecx + 0x58], 0
mov dword [ecx + 0x60], 0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x50]
call fcn.00409630
test al, al
je 0x408052
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x1c]
lea ebx, [esp + 0x50]
nop word cs:[eax + eax]
add edi, 0x68
mov ecx, edi
mov edx, ebx
call fcn.00409630
test al, al
je 0x408040
jmp 0x40807a
mov eax, dword [esp + 0xc]
lea ecx, [eax + 0x68]
mov esi, dword [esp + 0x1c]
nop dword [eax]
mov edi, ecx
cmp ecx, esi
jae 0x408082
mov ecx, edi
lea ebx, [esp + 0x50]
mov edx, ebx
call fcn.00409630
lea ecx, [edi + 0x68]
test al, al
je 0x408060
mov eax, esi
cmp edi, esi
jae 0x4080e0
jmp 0x40808c
lea ebx, [esp + 0x50]
mov eax, esi
cmp edi, esi
jae 0x4080e0
mov esi, dword [esp + 0x1c]
add esi, 0xffffff98
mov ecx, esi
mov edx, ebx
call fcn.00409630
test al, al
jne 0x408090
jmp 0x4080e0
mov ecx, edi
mov edx, esi
call fcn.0040a0a0
lea ebx, [esp + 0x50]
nop dword [eax]
add edi, 0x68
mov ecx, edi
mov edx, ebx
call fcn.00409630
test al, al
je 0x4080c0
add esi, 0xffffff98
mov ecx, esi
mov edx, ebx
call fcn.00409630
test al, al
jne 0x4080d0
cmp edi, esi
jb 0x4080b0
lea ecx, [edi - 0x68]
mov esi, dword [esp + 0xc]
cmp ecx, esi
lea ebx, [esp + 0x64]
je 0x408187
movzx eax, byte [ecx + 0x10]
mov byte [esi + 0x10], al
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
test byte [esi + 0x14], 1
je 0x408119
push dword [esi + 0x1c]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [esi + 0x14]
lea ecx, [edi - 0x54]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
lea eax, [esi + 0x20]
mov word [edi - 0x54], 0
movsd xmm0, qword [edi - 0x18]
movsd qword [eax + 0x30], xmm0
movups xmm0, xmmword [edi - 0x28]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [edi - 0x48]
movups xmm1, xmmword [edi - 0x38]
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax], xmm0
lea ebx, [esi + 0x58]
test byte [ebx], 1
je 0x40816a
push dword [esi + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [edi - 8]
mov dword [ebx + 8], eax
movsd xmm0, qword [edi - 0x10]
movsd qword [ebx], xmm0
mov word [edi - 0x10], 0
lea ebx, [esp + 0x64]
mov ecx, dword [esp + 0x10]
movzx eax, byte [esp + 0x60]
mov byte [ecx + 0x10], al
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [ecx], xmm0
test byte [edi - 0x54], 1
je 0x4081a8
push dword [edi - 0x4c]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [edi - 0x54]
mov ecx, dword [ebx + 8]
mov dword [eax + 8], ecx
movsd xmm0, qword [ebx]
movsd qword [eax], xmm0
mov word [esp + 0x64], 0
movsd xmm0, qword [ebx + 0x3c]
movsd qword [edi - 0x18], xmm0
movups xmm0, xmmword [ebx + 0x2c]
movups xmmword [edi - 0x28], xmm0
movups xmm0, xmmword [ebx + 0xc]
movups xmm1, xmmword [ebx + 0x1c]
movups xmmword [edi - 0x38], xmm1
movups xmmword [edi - 0x48], xmm0
test byte [edi - 0x10], 1
mov esi, dword [esp + 0x1c]
je 0x4081f7
push dword [edi - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [edi - 0x10]
mov ecx, dword [ebx + 0x4c]
mov dword [eax + 8], ecx
movsd xmm0, qword [ebx + 0x44]
movsd qword [eax], xmm0
test byte [esp + 0x64], 1
je 0x407b71
push dword [esp + 0x6c]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x407b71
mov esi, dword [esp + 0x10]
test bl, bl
mov ecx, dword [esp + 0xc]
je 0x407b50
jmp case.0x40823e.0
mov eax, dword [esp + 0x10]
jmp dword [eax*4 + 0x420198]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
call fcn.00409630
test al, al
je case.0x40823e.0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
call fcn.0040a0a0
jmp case.0x40823e.0
mov ecx, dword [esp + 0xc]
lea edx, [ecx + 0x68]
push dword [esp + 0x18]
call fcn.00409270
add esp, 4
jmp case.0x40823e.0
mov ecx, dword [esp + 0xc]
lea edx, [ecx + 0x68]
lea eax, [ecx + 0xd0]
push dword [esp + 0x18]
push eax
call fcn.0040a2d0
add esp, 8
jmp case.0x40823e.0
mov ecx, dword [esp + 0xc]
lea edx, [ecx + 0x68]
lea eax, [ecx + 0xd0]
lea esi, [ecx + 0x138]
push dword [esp + 0x18]
push esi
push eax
call fcn.004091e0
add esp, 0xc
jmp case.0x40823e.0
cmp byte [esp + 0x28], 0
je 0x408f3c
cmp dword [esp + 0xc], esi
je case.0x40823e.0
mov eax, dword [esp + 0xc]
add eax, 0x68
cmp eax, esi
je case.0x40823e.0
mov ebx, dword [esp + 0xc]
xor edi, edi
jmp 0x408327
mov eax, dword [esi + 0x4c]
mov dword [ebx + 8], eax
movsd xmm0, qword [esi + 0x44]
movsd qword [ebx], xmm0
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
lea eax, [edx + 0x68]
add edi, 0xffffff98
mov ebx, edx
cmp eax, esi
je case.0x40823e.0
mov edx, eax
mov dword [esp + 0x10], eax
mov ecx, ebx
call fcn.00409630
mov edx, dword [esp + 0x10]
test al, al
je 0x408317
movzx eax, byte [edx + 0x10]
mov byte [esp + 0x60], al
movups xmm0, xmmword [edx]
movaps xmmword [esp + 0x50], xmm0
mov eax, dword [ebx + 0x84]
lea ecx, [esp + 0x64]
mov dword [ecx + 8], eax
movsd xmm0, qword [ebx + 0x7c]
movsd qword [ecx], xmm0
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0
movsd xmm0, qword [ebx + 0xb8]
movsd qword [ecx + 0x3c], xmm0
movups xmm0, xmmword [ebx + 0xa8]
movups xmmword [ecx + 0x2c], xmm0
movups xmm0, xmmword [ebx + 0x88]
movups xmm1, xmmword [ebx + 0x98]
movups xmmword [ecx + 0x1c], xmm1
movups xmmword [ecx + 0xc], xmm0
mov eax, dword [ebx + 0xc8]
mov dword [ecx + 0x4c], eax
movsd xmm0, qword [ebx + 0xc0]
movsd qword [ecx + 0x44], xmm0
mov dword [ebx + 0xc0], 0
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc8], 0
mov dword [esp + 0x24], edi
mov esi, edi
mov edi, edx
nop word [eax + eax]
mov ebx, edi
movzx eax, byte [edi - 0x58]
mov byte [edi + 0x10], al
movups xmm0, xmmword [edi - 0x68]
movups xmmword [edi], xmm0
test byte [edi + 0x14], 1
je 0x408415
push dword [ebx + 0x1c]
call sub.libc.dll_operator_delete_void_
mov edx, dword [esp + 0x14]
add esp, 4
lea eax, [ebx + 0x14]
lea edi, [ebx - 0x54]
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov dword [esp + 0x14], edi
movsd xmm0, qword [edi]
movsd qword [eax], xmm0
mov word [ebx - 0x54], 0
movups xmm0, xmmword [ebx - 0x48]
movups xmm1, xmmword [ebx - 0x38]
movups xmmword [ebx + 0x20], xmm0
movups xmmword [ebx + 0x30], xmm1
movups xmm0, xmmword [ebx - 0x28]
movups xmmword [ebx + 0x40], xmm0
movsd xmm0, qword [ebx - 0x18]
movsd qword [ebx + 0x50], xmm0
test byte [ebx + 0x58], 1
mov edi, dword [esp + 0xc]
je 0x40846e
push dword [ebx + 0x60]
call sub.libc.dll_operator_delete_void_
mov edx, dword [esp + 0x14]
add esp, 4
lea eax, [ebx + 0x58]
mov ecx, dword [ebx - 8]
mov dword [eax + 8], ecx
movsd xmm0, qword [ebx - 0x10]
movsd qword [eax], xmm0
mov word [ebx - 0x10], 0
test esi, esi
je 0x4084ab
lea ecx, [ebx - 0xd0]
lea edx, [esp + 0x50]
call fcn.00409630
mov edx, dword [esp + 0x10]
lea edi, [ebx - 0x68]
add esi, 0x68
test al, al
jne 0x4083f0
movzx eax, byte [esp + 0x60]
mov byte [edi + 0x10], al
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [edi], xmm0
test byte [ebx - 0x54], 1
je 0x4084d0
push dword [edi + 0x1c]
call sub.libc.dll_operator_delete_void_
mov edx, dword [esp + 0x14]
add esp, 4
lea eax, [ebx - 0x10]
mov dword [esp + 0x20], eax
add ebx, 0xffffffb8
lea esi, [esp + 0x64]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 8], eax
movsd xmm0, qword [esi]
movsd qword [ecx], xmm0
movsd xmm0, qword [esi + 0x3c]
movsd qword [ebx + 0x30], xmm0
movups xmm0, xmmword [esi + 0x2c]
movups xmmword [ebx + 0x20], xmm0
movups xmm0, xmmword [esi + 0xc]
movups xmm1, xmmword [esi + 0x1c]
movups xmmword [ebx + 0x10], xmm1
movups xmmword [ebx], xmm0
mov ebx, dword [esp + 0x20]
test byte [ebx], 1
je 0x408300
push dword [edi + 0x60]
call sub.libc.dll_operator_delete_void_
mov edx, dword [esp + 0x14]
add esp, 4
jmp 0x408300
cmp dword [esp + 0xc], esi
je case.0x40823e.0
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x10]
add eax, 0xfffffffe
shr eax, 1
mov dword [esp + 0x24], eax
jmp 0x40856c
mov eax, dword [ebx + 0x4c]
mov dword [edi + 8], eax
movsd xmm0, qword [ebx + 0x44]
movsd qword [edi], xmm0
mov eax, dword [esp + 0x18]
sub eax, 1
jb 0x4087e9
cmp dword [esp + 0x24], eax
jl 0x408563
lea ebx, [eax*2 + 1]
imul edi, ebx, 0x68
add edi, dword [esp + 0xc]
lea esi, [eax*2 + 2]
cmp esi, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jge 0x4085ad
lea ecx, [edi + 0x68]
mov dword [esp + 0x14], ecx
mov edx, edi
call fcn.00409630
test al, al
mov eax, dword [esp + 0x18]
cmovne edi, dword [esp + 0x14]
cmovne ebx, esi
mov dword [esp + 0x14], ebx
imul esi, eax, 0x68
mov eax, dword [esp + 0xc]
lea ebx, [eax + esi]
mov ecx, ebx
mov edx, edi
call fcn.00409630
test al, al
mov eax, dword [esp + 0x18]
jne 0x408563
movzx eax, byte [ebx + 0x10]
mov byte [esp + 0x60], al
movups xmm0, xmmword [ebx]
movaps xmmword [esp + 0x50], xmm0
mov edx, dword [esp + 0xc]
mov eax, dword [edx + esi + 0x1c]
lea ecx, [esp + 0x64]
mov dword [ecx + 8], eax
movsd xmm0, qword [edx + esi + 0x14]
movsd qword [ecx], xmm0
mov dword [edx + esi + 0x18], 0
mov dword [edx + esi + 0x14], 0
mov dword [edx + esi + 0x1c], 0
movsd xmm0, qword [edx + esi + 0x50]
movsd qword [ecx + 0x3c], xmm0
movups xmm0, xmmword [edx + esi + 0x40]
movups xmmword [ecx + 0x2c], xmm0
movups xmm0, xmmword [edx + esi + 0x20]
movups xmm1, xmmword [edx + esi + 0x30]
movups xmmword [ecx + 0x1c], xmm1
movups xmmword [ecx + 0xc], xmm0
mov eax, dword [edx + esi + 0x60]
mov dword [ecx + 0x4c], eax
movsd xmm0, qword [edx + esi + 0x58]
movsd qword [ecx + 0x44], xmm0
mov dword [edx + esi + 0x58], 0
mov dword [edx + esi + 0x5c], 0
mov dword [edx + esi + 0x60], 0
mov esi, edi
mov edi, dword [esp + 0x14]
jmp 0x40868b
mov edx, ebx
lea ecx, [esp + 0x50]
mov esi, edx
call fcn.00409630
mov ecx, dword [esp + 0x14]
mov ebx, ecx
test al, al
jne 0x408770
movzx eax, byte [esi + 0x10]
mov byte [ebx + 0x10], al
movups xmm0, xmmword [esi]
movups xmmword [ebx], xmm0
test byte [ebx + 0x14], 1
je 0x4086a9
push dword [ebx + 0x1c]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [ebx + 0x14]
lea edx, [esi + 0x14]
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov dword [esp + 0x20], edx
movsd xmm0, qword [edx]
movsd qword [eax], xmm0
mov word [esi + 0x14], 0
movsd xmm0, qword [esi + 0x50]
movsd qword [ebx + 0x50], xmm0
movups xmm0, xmmword [esi + 0x40]
movups xmmword [ebx + 0x40], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmm1, xmmword [esi + 0x30]
movups xmmword [ebx + 0x30], xmm1
movups xmmword [ebx + 0x20], xmm0
test byte [ebx + 0x58], 1
je 0x4086fa
push dword [ebx + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
add ebx, 0x58
mov eax, dword [esi + 0x60]
mov dword [ebx + 8], eax
movsd xmm0, qword [esi + 0x58]
movsd qword [ebx], xmm0
mov word [esi + 0x58], 0
cmp dword [esp + 0x24], edi
mov ecx, esi
jl 0x408770
mov dword [esp + 0x14], ecx
lea eax, [edi*2 + 1]
mov esi, eax
imul edx, eax, 0x68
add edx, dword [esp + 0xc]
lea edi, [edi*2 + 2]
cmp edi, dword [esp + 0x10]
jge 0x408760
lea ebx, [edx + 0x68]
mov ecx, ebx
mov dword [esp + 0x2c], edx
call fcn.00409630
test al, al
jne 0x408670
mov ebx, dword [esp + 0x2c]
mov edi, esi
jmp 0x408670
mov edi, esi
jmp 0x408672
movzx eax, byte [esp + 0x60]
mov byte [ecx + 0x10], al
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [ecx], xmm0
test byte [ecx + 0x14], 1
mov esi, ecx
je 0x408793
push dword [esi + 0x1c]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ebx, [esp + 0x64]
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 8], eax
movsd xmm0, qword [ebx]
movsd qword [ecx], xmm0
lea eax, [esi + 0x20]
movsd xmm0, qword [ebx + 0x3c]
movsd qword [eax + 0x30], xmm0
movups xmm0, xmmword [ebx + 0x2c]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebx + 0xc]
movups xmm1, xmmword [ebx + 0x1c]
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax], xmm0
lea edi, [esi + 0x58]
test byte [edi], 1
je 0x408550
push dword [esi + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x408550
mov ecx, 0x4ec4ec4f
mov eax, dword [esp + 0x28]
mul ecx
shr edx, 5
mov ecx, dword [esp + 0xc]
lea eax, [ecx + 0x14]
mov dword [esp + 0x44], eax
lea eax, [ecx + 0x16]
mov dword [esp + 0xcc], eax
lea eax, [ecx + 0x20]
mov dword [esp + 0xc8], eax
lea eax, [ecx + 0x58]
mov dword [esp + 0xc4], eax
lea eax, [ecx + 0x5a]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x1c]
jmp 0x4088c6
movzx eax, byte [esp + 0x30]
mov byte [esi + 0x14], al
movzx eax, byte [esp + 0x34]
mov byte [esi + 0x15], al
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x16], eax
movzx eax, word [esp + 0x40]
mov word [esi + 0x1a], ax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x1c], eax
movsd xmm0, qword [esp + 0x100]
movsd qword [edi + 0x30], xmm0
movaps xmm0, xmmword [esp + 0xf0]
movups xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [esp + 0xd0]
movaps xmm1, xmmword [esp + 0xe0]
movups xmmword [edi + 0x10], xmm1
movups xmmword [edi], xmm0
movzx eax, byte [esp + 0x28]
mov byte [esi + 0x58], al
movzx eax, byte [esp + 0x18]
mov byte [esi + 0x59], al
mov eax, dword [esp + 0x48]
mov dword [esi + 0x5a], eax
movzx eax, word [esp + 0x4c]
mov word [esi + 0x5e], ax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x60], eax
mov ecx, dword [esp + 0x10]
lea edx, [ecx - 1]
cmp ecx, 2
mov eax, dword [esp + 0x1c]
jle case.0x40823e.0
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0xc]
movups xmm0, xmmword [edi]
movaps xmmword [esp + 0x110], xmm0
movzx eax, byte [edi + 0x10]
mov byte [esp + 0x120], al
movzx eax, byte [edi + 0x14]
mov byte [esp + 0x30], al
movzx eax, byte [edi + 0x15]
mov byte [esp + 0x34], al
mov ecx, dword [esp + 0xcc]
movzx eax, word [ecx + 4]
mov word [esp + 0x40], ax
mov eax, dword [ecx]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x44]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esp + 0xc8]
movsd xmm0, qword [eax + 0x30]
movsd qword [esp + 0x100], xmm0
movups xmm0, xmmword [eax + 0x20]
movaps xmmword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movaps xmmword [esp + 0xe0], xmm1
movaps xmmword [esp + 0xd0], xmm0
movzx eax, byte [edi + 0x58]
mov byte [esp + 0x28], al
movzx eax, byte [edi + 0x59]
mov byte [esp + 0x18], al
mov ecx, dword [esp + 0xc0]
movzx eax, word [ecx + 4]
mov word [esp + 0x4c], ax
mov eax, dword [ecx]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x60]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xc4]
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax], 0
mov dword [esp + 0x10], edx
lea eax, [edx - 2]
shr eax, 1
mov dword [esp + 0x14], eax
xor ebx, ebx
jmp 0x4089e4
add edi, 0x58
mov eax, dword [esi + 0x60]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 0x58]
movsd qword [edi], xmm0
mov word [esi + 0x58], 0
mov edi, esi
cmp ebx, dword [esp + 0x14]
jg 0x408ab0
mov eax, ebx
imul ecx, ebx, 0x68
lea esi, [ecx + edi]
add esi, 0x68
lea ebx, [ebx*2 + 2]
lea eax, [eax*2 + 1]
cmp ebx, dword [esp + 0x10]
jge 0x408a30
mov dword [esp + 0x24], eax
mov edx, esi
add esi, 0x68
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00409630
test al, al
jne 0x408a32
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x408a32
mov ebx, eax
movzx eax, byte [esi + 0x10]
mov byte [edi + 0x10], al
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
test byte [edi + 0x14], 1
je 0x408a50
push dword [edi + 0x1c]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [edi + 0x14]
lea edx, [esi + 0x14]
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov dword [esp + 0x24], edx
movsd xmm0, qword [edx]
movsd qword [eax], xmm0
mov word [esi + 0x14], 0
movsd xmm0, qword [esi + 0x50]
movsd qword [edi + 0x50], xmm0
movups xmm0, xmmword [esi + 0x40]
movups xmmword [edi + 0x40], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmm1, xmmword [esi + 0x30]
movups xmmword [edi + 0x30], xmm1
movups xmmword [edi + 0x20], xmm0
test byte [edi + 0x58], 1
je 0x4089c0
push dword [edi + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x4089c0
lea edi, [esi + 0x20]
mov edx, dword [esp + 0x20]
lea ecx, [edx - 0x68]
cmp esi, ecx
mov dword [esp + 0x1c], ecx
je 0x408bf0
movzx eax, byte [ecx + 0x10]
mov byte [esi + 0x10], al
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
test byte [esi + 0x14], 1
je 0x408ae8
push dword [esi + 0x1c]
call sub.libc.dll_operator_delete_void_
mov edx, dword [esp + 0x24]
add esp, 4
lea eax, [edx - 0x54]
mov ecx, dword [eax + 8]
mov ebx, dword [esp + 0x24]
mov dword [ebx + 8], ecx
movsd xmm0, qword [eax]
lea ecx, [esi + 0x58]
movsd qword [ebx], xmm0
mov word [edx - 0x54], 0
movsd xmm0, qword [edx - 0x18]
movsd qword [edi + 0x30], xmm0
movups xmm0, xmmword [edx - 0x28]
movups xmmword [edi + 0x20], xmm0
movups xmm0, xmmword [edx - 0x48]
movups xmm1, xmmword [edx - 0x38]
movups xmmword [edi + 0x10], xmm1
mov dword [esp + 0x14], edi
movups xmmword [edi], xmm0
test byte [ecx], 1
je 0x408b43
push dword [esi + 0x60]
mov edi, ecx
call sub.libc.dll_operator_delete_void_
mov ecx, edi
mov edx, dword [esp + 0x24]
add esp, 4
lea edi, [edx - 0x48]
mov eax, dword [edx - 8]
mov dword [ecx + 8], eax
movsd xmm0, qword [edx - 0x10]
mov dword [esp + 0xbc], ecx
movsd qword [ecx], xmm0
mov word [edx - 0x10], 0
movzx eax, byte [esp + 0x120]
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x10], al
movaps xmm0, xmmword [esp + 0x110]
movups xmmword [ecx], xmm0
test byte [edx - 0x54], 1
jne 0x408c90
movzx eax, byte [esp + 0x30]
mov byte [edx - 0x54], al
movzx eax, byte [esp + 0x34]
mov byte [edx - 0x53], al
mov eax, dword [esp + 0x3c]
mov dword [edx - 0x52], eax
movzx eax, word [esp + 0x40]
mov word [edx - 0x4e], ax
mov eax, dword [esp + 0x38]
mov dword [edx - 0x4c], eax
movsd xmm0, qword [esp + 0x100]
movsd qword [edi + 0x30], xmm0
movaps xmm0, xmmword [esp + 0xf0]
movups xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [esp + 0xd0]
movaps xmm1, xmmword [esp + 0xe0]
movups xmmword [edi + 0x10], xmm1
movups xmmword [edi], xmm0
jmp 0x408d0c
movzx eax, byte [esp + 0x120]
mov byte [esi + 0x10], al
movaps xmm0, xmmword [esp + 0x110]
movups xmmword [esi], xmm0
test byte [esi + 0x14], 1
je 0x408833
push dword [esi + 0x1c]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esi + 0x58], 1
movzx eax, byte [esp + 0x30]
mov byte [esi + 0x14], al
movzx eax, byte [esp + 0x34]
mov byte [esi + 0x15], al
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x16], eax
movzx eax, word [esp + 0x40]
mov word [esi + 0x1a], ax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x1c], eax
movsd xmm0, qword [esp + 0x100]
movsd qword [edi + 0x30], xmm0
movaps xmm0, xmmword [esp + 0xf0]
movups xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [esp + 0xd0]
movaps xmm1, xmmword [esp + 0xe0]
movups xmmword [edi + 0x10], xmm1
movups xmmword [edi], xmm0
je 0x40888b
push dword [esi + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40888b
push dword [edx - 0x4c]
call sub.libc.dll_operator_delete_void_
mov edx, dword [esp + 0x24]
add esp, 4
test byte [edx - 0x10], 1
movzx eax, byte [esp + 0x30]
mov byte [edx - 0x54], al
movzx eax, byte [esp + 0x34]
mov byte [edx - 0x53], al
mov eax, dword [esp + 0x3c]
mov dword [edx - 0x52], eax
movzx eax, word [esp + 0x40]
mov word [edx - 0x4e], ax
mov eax, dword [esp + 0x38]
mov dword [edx - 0x4c], eax
movsd xmm0, qword [esp + 0x100]
movsd qword [edi + 0x30], xmm0
movaps xmm0, xmmword [esp + 0xf0]
movups xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [esp + 0xd0]
movaps xmm1, xmmword [esp + 0xe0]
movups xmmword [edi + 0x10], xmm1
movups xmmword [edi], xmm0
je 0x408d0c
push dword [edx - 8]
call sub.libc.dll_operator_delete_void_
mov edx, dword [esp + 0x24]
add esp, 4
movzx eax, byte [esp + 0x28]
mov byte [edx - 0x10], al
movzx eax, byte [esp + 0x18]
mov byte [edx - 0xf], al
mov eax, dword [esp + 0x48]
mov dword [edx - 0xe], eax
movzx eax, word [esp + 0x4c]
mov word [edx - 0xa], ax
mov eax, dword [esp + 0x2c]
mov dword [edx - 8], eax
lea eax, [esi + 0x68]
sub eax, dword [esp + 0xc]
cmp eax, 0x69
jl 0x4088b2
mov ecx, 0x4ec4ec4f
mul ecx
shr edx, 5
add edx, 0xfffffffe
shr edx, 1
mov dword [esp + 0x20], edx
imul edi, edx, 0x68
add edi, dword [esp + 0xc]
mov ecx, esi
mov edx, edi
call fcn.00409630
test al, al
je 0x4088b2
movzx eax, byte [esi + 0x10]
mov byte [esp + 0x60], al
movups xmm0, xmmword [esi]
movaps xmmword [esp + 0x50], xmm0
mov eax, dword [ebx + 8]
lea ecx, [esp + 0x64]
mov dword [ecx + 8], eax
movsd xmm0, qword [ebx]
movsd qword [ecx], xmm0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov dword [ebx + 8], 0
mov eax, dword [esp + 0x14]
movsd xmm0, qword [eax + 0x30]
movsd qword [ecx + 0x3c], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ecx + 0x2c], xmm0
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmmword [ecx + 0x1c], xmm1
movups xmmword [ecx + 0xc], xmm0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + 8]
mov dword [ecx + 0x4c], eax
movsd xmm0, qword [edx]
movsd qword [ecx + 0x44], xmm0
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov edx, dword [esp + 0x20]
nop word [eax + eax]
mov ebx, edi
movzx eax, byte [edi + 0x10]
mov byte [esi + 0x10], al
movups xmm0, xmmword [edi]
movups xmmword [esi], xmm0
test byte [esi + 0x14], 1
je 0x408e24
push dword [esi + 0x1c]
mov edi, edx
call sub.libc.dll_operator_delete_void_
mov edx, edi
add esp, 4
lea eax, [esi + 0x14]
lea edi, [ebx + 0x14]
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov dword [esp + 0x14], edi
movsd xmm0, qword [edi]
movsd qword [eax], xmm0
mov word [ebx + 0x14], 0
movsd xmm0, qword [ebx + 0x50]
movsd qword [esi + 0x50], xmm0
movups xmm0, xmmword [ebx + 0x40]
movups xmmword [esi + 0x40], xmm0
movups xmm0, xmmword [ebx + 0x20]
movups xmm1, xmmword [ebx + 0x30]
movups xmmword [esi + 0x30], xmm1
movups xmmword [esi + 0x20], xmm0
test byte [esi + 0x58], 1
je 0x408e79
push dword [esi + 0x60]
mov edi, edx
call sub.libc.dll_operator_delete_void_
mov edx, edi
add esp, 4
add esi, 0x58
mov eax, dword [ebx + 0x60]
mov dword [esi + 8], eax
movsd xmm0, qword [ebx + 0x58]
movsd qword [esi], xmm0
mov word [ebx + 0x58], 0
test edx, edx
je 0x408eb8
dec edx
shr edx, 1
imul edi, edx, 0x68
add edi, dword [esp + 0xc]
lea ecx, [esp + 0x50]
mov esi, edx
mov edx, edi
call fcn.00409630
mov edx, esi
mov esi, ebx
test al, al
jne 0x408e00
movzx eax, byte [esp + 0x60]
mov byte [ebx + 0x10], al
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [ebx], xmm0
test byte [ebx + 0x14], 1
je 0x408ed9
push dword [ebx + 0x1c]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x64]
mov eax, dword [ecx + 8]
mov edx, dword [esp + 0x14]
mov dword [edx + 8], eax
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
mov edi, ecx
lea eax, [ebx + 0x20]
movsd xmm0, qword [ecx + 0x3c]
movsd qword [eax + 0x30], xmm0
movups xmm0, xmmword [ecx + 0x2c]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ecx + 0xc]
movups xmm1, xmmword [ecx + 0x1c]
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax], xmm0
lea esi, [ebx + 0x58]
test byte [esi], 1
je 0x408f28
push dword [ebx + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [edi + 0x4c]
mov dword [esi + 8], eax
movsd xmm0, qword [edi + 0x44]
movsd qword [esi], xmm0
jmp 0x4088b2
cmp dword [esp + 0xc], esi
je case.0x40823e.0
mov eax, dword [esp + 0xc]
add eax, 0x68
cmp eax, esi
je case.0x40823e.0
mov ecx, dword [esp + 0xc]
lea edi, [ecx - 0x68]
jmp 0x408f8d
mov eax, dword [esi + 0x4c]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 0x44]
movsd qword [edi], xmm0
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea eax, [ebx + 0x68]
add edi, 0x68
mov dword [esp + 0xc], ebx
cmp eax, esi
je case.0x40823e.0
mov ebx, eax
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.00409630
test al, al
je 0x408f7b
movzx eax, byte [ebx + 0x10]
mov byte [esp + 0x60], al
mov dword [esp + 0x14], ebx
movups xmm0, xmmword [ebx]
movaps xmmword [esp + 0x50], xmm0
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x84]
lea ecx, [esp + 0x64]
mov dword [ecx + 8], eax
movsd xmm0, qword [edx + 0x7c]
movsd qword [ecx], xmm0
mov dword [edx + 0x80], 0
mov dword [edx + 0x7c], 0
mov dword [edx + 0x84], 0
movsd xmm0, qword [edx + 0xb8]
movsd qword [ecx + 0x3c], xmm0
movups xmm0, xmmword [edx + 0xa8]
movups xmmword [ecx + 0x2c], xmm0
movups xmm0, xmmword [edx + 0x88]
movups xmm1, xmmword [edx + 0x98]
movups xmmword [ecx + 0x1c], xmm1
movups xmmword [ecx + 0xc], xmm0
mov eax, dword [edx + 0xc8]
mov dword [ecx + 0x4c], eax
movsd xmm0, qword [edx + 0xc0]
movsd qword [ecx + 0x44], xmm0
mov dword [edx + 0xc0], 0
mov dword [edx + 0xc4], 0
mov dword [edx + 0xc8], 0
mov dword [esp + 0x10], edi
mov ebx, edi
lea esi, [esp + 0x50]
jmp 0x409098
lea eax, [ebx + 0x128]
mov ecx, dword [ebx + 0xc8]
mov dword [eax + 8], ecx
movsd xmm0, qword [ebx + 0xc0]
movsd qword [eax], xmm0
mov word [ebx + 0xc0], 0
mov ecx, ebx
mov edx, esi
call fcn.00409630
add ebx, 0xffffff98
test al, al
je 0x409140
movzx eax, byte [ebx + 0x78]
mov byte [ebx + 0xe0], al
movups xmm0, xmmword [ebx + 0x68]
movups xmmword [ebx + 0xd0], xmm0
test byte [ebx + 0xe4], 1
je 0x4090c4
push dword [ebx + 0xec]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [ebx + 0xe4]
lea ecx, [ebx + 0x7c]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
mov word [ebx + 0x7c], 0
movups xmm0, xmmword [ebx + 0x88]
movups xmm1, xmmword [ebx + 0x98]
movups xmmword [ebx + 0xf0], xmm0
movups xmmword [ebx + 0x100], xmm1
movups xmm0, xmmword [ebx + 0xa8]
movups xmmword [ebx + 0x110], xmm0
movsd xmm0, qword [ebx + 0xb8]
movsd qword [ebx + 0x120], xmm0
test byte [ebx + 0x128], 1
je 0x409060
push dword [ebx + 0x130]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x409060
movzx eax, byte [esp + 0x60]
mov byte [ebx + 0xe0], al
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [ebx + 0xd0], xmm0
test byte [ebx + 0xe4], 1
je 0x40916e
push dword [ebx + 0xec]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [ebx + 0xe4]
lea esi, [esp + 0x64]
mov ecx, dword [esi + 8]
mov dword [eax + 8], ecx
movsd xmm0, qword [esi]
movsd qword [eax], xmm0
lea eax, [ebx + 0xf0]
movsd xmm0, qword [esi + 0x3c]
movsd qword [eax + 0x30], xmm0
movups xmm0, xmmword [esi + 0x2c]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [esi + 0xc]
movups xmm1, xmmword [esi + 0x1c]
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax], xmm0
lea edi, [ebx + 0x128]
test byte [edi], 1
je 0x408f60
push dword [ebx + 0x130]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x408f60
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret