Function at 0x40a340
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 + 0x10], 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 + 0x14], edx
cmp edx, 5
jbe 0x40aa4a
cmp ecx, 0x9bf
jle 0x40aad9
cmp dword [esp + 0x10], 0
je 0x40ad42
mov eax, dword [esp + 0x14]
shr eax, 1
imul ebx, eax, 0x68
mov eax, dword [esp + 0xc]
lea esi, [eax + ebx]
cmp ecx, 0x3401
jb 0x40a460
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, esi
push dword [esp + 0x18]
call fcn.0040ba90
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.0040ba90
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.0040ba90
add esp, 4
mov ecx, edi
mov edi, dword [esp + 0xc]
mov edx, esi
push ebx
call fcn.0040ba90
add esp, 4
mov ecx, edi
mov edx, esi
call fcn.0040a0a0
lea ebx, [esp + 0x64]
dec dword [esp + 0x10]
cmp byte [esp + 0x28], 0
jne 0x40a495
jmp 0x40a481
mov ecx, esi
mov edx, dword [esp + 0xc]
push dword [esp + 0x18]
call fcn.0040ba90
add esp, 4
lea ebx, [esp + 0x64]
dec dword [esp + 0x10]
cmp byte [esp + 0x28], 0
jne 0x40a495
mov edx, dword [esp + 0xc]
lea ecx, [edx - 0x68]
call fcn.00409630
test al, al
je 0x40a7a9
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, esi
mov edx, ebx
call fcn.00409630
add edi, 0xffffff98
test al, al
jne 0x40a540
mov eax, dword [esp + 0x1c]
test edi, edi
mov edi, eax
je 0x40a580
nop dword [eax]
add edi, 0xffffff98
mov ecx, edi
mov edx, ebx
call fcn.00409630
test al, al
je 0x40a560
jmp 0x40a5b0
mov edi, dword [esp + 0x1c]
nop word cs:[eax + eax]
cmp esi, edi
jae 0x40a5b0
add edi, 0xffffff98
mov ecx, edi
mov edx, ebx
call fcn.00409630
test al, al
je 0x40a590
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 0x40a604
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, edi
mov edx, esi
call fcn.00409630
test al, al
jne 0x40a5e0
add ebx, 0xffffff98
mov ecx, ebx
mov edx, esi
call fcn.00409630
test al, al
je 0x40a5f0
cmp edi, ebx
jb 0x40a5d0
lea ecx, [edi - 0x68]
cmp ecx, dword [esp + 0xc]
lea ebx, [esp + 0x64]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
je 0x40a6ba
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 0x40a645
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 0x40a69d
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 + 0x14]
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 0x40a6db
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 0x40a726
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 0x40a74b
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 0x40a77d
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
call fcn.0040bb00
mov ebx, eax
mov ecx, edi
mov edx, esi
call fcn.0040bb00
test al, al
jne 0x40aa35
test bl, bl
jne 0x40a381
xor eax, eax
cmp byte [esp + 0x28], 0
setne al
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x14]
call fcn.0040a340
add esp, 8
mov dword [esp + 0x28], 0
jmp 0x40a381
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
lea ecx, [esp + 0x50]
mov edx, dword [esp + 0x18]
call fcn.00409630
test al, al
je 0x40a862
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x1c]
lea ebx, [esp + 0x50]
nop word cs:[eax + eax]
add edi, 0x68
mov ecx, ebx
mov edx, edi
call fcn.00409630
test al, al
je 0x40a850
jmp 0x40a88a
mov eax, dword [esp + 0xc]
lea ecx, [eax + 0x68]
mov esi, dword [esp + 0x1c]
nop dword [eax]
mov edi, ecx
lea ebx, [esp + 0x50]
cmp ecx, esi
jae 0x40a88a
mov ecx, ebx
mov edx, edi
call fcn.00409630
lea ecx, [edi + 0x68]
test al, al
je 0x40a870
mov eax, esi
cmp edi, esi
jae 0x40a8f0
mov esi, dword [esp + 0x1c]
nop word cs:[eax + eax]
add esi, 0xffffff98
mov ecx, ebx
mov edx, esi
call fcn.00409630
test al, al
jne 0x40a8a0
jmp 0x40a8f0
mov ecx, edi
mov edx, esi
call fcn.0040a0a0
lea ebx, [esp + 0x50]
nop dword [eax]
add edi, 0x68
mov ecx, ebx
mov edx, edi
call fcn.00409630
test al, al
je 0x40a8d0
add esi, 0xffffff98
mov ecx, ebx
mov edx, esi
call fcn.00409630
test al, al
jne 0x40a8e0
cmp edi, esi
jb 0x40a8c0
lea ecx, [edi - 0x68]
mov esi, dword [esp + 0xc]
cmp ecx, esi
lea ebx, [esp + 0x64]
je 0x40a997
movzx eax, byte [ecx + 0x10]
mov byte [esi + 0x10], al
mov dword [esp + 0x14], ecx
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
test byte [esi + 0x14], 1
je 0x40a929
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 0x40a97a
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 + 0x14]
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 0x40a9b8
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 0x40aa07
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 0x40a381
push dword [esp + 0x6c]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40a381
mov esi, dword [esp + 0x14]
test bl, bl
mov ecx, dword [esp + 0xc]
je 0x40a360
jmp case.0x40aa4e.0
mov eax, dword [esp + 0x14]
jmp dword [eax*4 + 0x4201c8]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
call fcn.00409630
test al, al
je case.0x40aa4e.0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
call fcn.0040a0a0
jmp case.0x40aa4e.0
mov ecx, dword [esp + 0xc]
lea edx, [ecx + 0x68]
push dword [esp + 0x18]
call fcn.0040ba90
add esp, 4
jmp case.0x40aa4e.0
mov ecx, dword [esp + 0xc]
lea edx, [ecx + 0x68]
lea eax, [ecx + 0xd0]
push dword [esp + 0x18]
push eax
call fcn.0040be50
add esp, 8
jmp case.0x40aa4e.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.0040ba00
add esp, 0xc
jmp case.0x40aa4e.0
cmp byte [esp + 0x28], 0
je 0x40b75c
cmp dword [esp + 0xc], esi
je case.0x40aa4e.0
mov eax, dword [esp + 0xc]
add eax, 0x68
cmp eax, esi
je case.0x40aa4e.0
mov ebx, dword [esp + 0xc]
xor edi, edi
jmp 0x40ab37
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.0x40aa4e.0
mov ecx, eax
mov dword [esp + 0x10], eax
mov edx, ebx
call fcn.00409630
mov edx, dword [esp + 0x10]
test al, al
je 0x40ab27
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 0x40ac25
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 0x40ac7e
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 0x40acbb
lea edx, [ebx - 0xd0]
lea ecx, [esp + 0x50]
call fcn.00409630
mov edx, dword [esp + 0x10]
lea edi, [ebx - 0x68]
add esi, 0x68
test al, al
jne 0x40ac00
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 0x40ace0
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 0x40ab10
push dword [edi + 0x60]
call sub.libc.dll_operator_delete_void_
mov edx, dword [esp + 0x14]
add esp, 4
jmp 0x40ab10
cmp dword [esp + 0xc], esi
je case.0x40aa4e.0
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x14]
add eax, 0xfffffffe
shr eax, 1
mov dword [esp + 0x24], eax
jmp 0x40ad7c
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 0x40b007
cmp dword [esp + 0x24], eax
jl 0x40ad73
lea edx, [eax*2 + 1]
imul ecx, edx, 0x68
add ecx, dword [esp + 0xc]
lea esi, [eax*2 + 2]
cmp esi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
jge 0x40add0
lea edi, [ecx + 0x68]
mov dword [esp + 0x10], edi
mov ebx, ecx
mov edi, edx
mov edx, dword [esp + 0x10]
call fcn.00409630
mov ecx, ebx
test al, al
mov eax, dword [esp + 0x18]
cmovne ecx, dword [esp + 0x10]
cmovne edi, esi
mov dword [esp + 0x10], edi
jmp 0x40add4
mov dword [esp + 0x10], edx
imul esi, eax, 0x68
mov eax, dword [esp + 0xc]
lea ebx, [eax + esi]
mov edi, ecx
mov edx, ebx
call fcn.00409630
test al, al
mov eax, dword [esp + 0x18]
jne 0x40ad73
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 edx, dword [esp + 0x10]
jmp 0x40aeb1
mov eax, ebx
mov dword [esp + 0x10], edi
mov edi, eax
mov ecx, eax
lea edx, [esp + 0x50]
call fcn.00409630
mov ebx, esi
mov edx, dword [esp + 0x10]
test al, al
jne 0x40af90
mov esi, edi
movzx eax, byte [edi + 0x10]
mov byte [ebx + 0x10], al
movups xmm0, xmmword [edi]
movups xmmword [ebx], xmm0
test byte [ebx + 0x14], 1
je 0x40aed5
push dword [ebx + 0x1c]
mov edi, edx
call sub.libc.dll_operator_delete_void_
mov edx, edi
add esp, 4
lea eax, [ebx + 0x14]
lea edi, [esi + 0x14]
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov dword [esp + 0x20], edi
movsd xmm0, qword [edi]
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 0x40af2a
push dword [ebx + 0x60]
mov edi, edx
call sub.libc.dll_operator_delete_void_
mov edx, edi
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], edx
jl 0x40af90
lea ecx, [edx*2 + 1]
imul eax, ecx, 0x68
add eax, dword [esp + 0xc]
lea edi, [edx*2 + 2]
cmp edi, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jge 0x40ae96
lea ebx, [eax + 0x68]
mov ecx, eax
mov dword [esp + 0x2c], eax
mov edx, ebx
call fcn.00409630
test al, al
jne 0x40ae90
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
jmp 0x40ae90
movzx eax, byte [esp + 0x60]
mov byte [esi + 0x10], al
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [esi], xmm0
test byte [esi + 0x14], 1
je 0x40afb1
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 0x40ad60
push dword [esi + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40ad60
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 0x40b0e4
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.0x40aa4e.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 0x40b204
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 0x40b2d0
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 0x40b250
mov dword [esp + 0x24], eax
mov ecx, esi
add esi, 0x68
mov dword [esp + 0x1c], ecx
mov edx, esi
call fcn.00409630
test al, al
jne 0x40b252
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x40b252
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 0x40b270
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 0x40b1e0
push dword [edi + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40b1e0
lea edi, [esi + 0x20]
mov edx, dword [esp + 0x20]
lea ecx, [edx - 0x68]
cmp esi, ecx
mov dword [esp + 0x1c], ecx
je 0x40b410
movzx eax, byte [ecx + 0x10]
mov byte [esi + 0x10], al
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
test byte [esi + 0x14], 1
je 0x40b308
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 0x40b363
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 0x40b4b0
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 0x40b52c
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 0x40b051
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 0x40b0a9
push dword [esi + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40b0a9
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 0x40b52c
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 0x40b0d0
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, edi
mov edx, esi
call fcn.00409630
test al, al
je 0x40b0d0
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 0x40b644
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 0x40b699
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 0x40b6d8
dec edx
shr edx, 1
imul edi, edx, 0x68
add edi, dword [esp + 0xc]
mov ecx, edi
mov esi, edx
lea edx, [esp + 0x50]
call fcn.00409630
mov edx, esi
mov esi, ebx
test al, al
jne 0x40b620
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 0x40b6f9
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 0x40b748
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 0x40b0d0
cmp dword [esp + 0xc], esi
je case.0x40aa4e.0
mov eax, dword [esp + 0xc]
add eax, 0x68
cmp eax, esi
je case.0x40aa4e.0
mov ecx, dword [esp + 0xc]
lea edi, [ecx - 0x68]
jmp 0x40b7ad
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.0x40aa4e.0
mov ebx, eax
mov ecx, eax
mov edx, dword [esp + 0xc]
call fcn.00409630
test al, al
je 0x40b79b
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 0x40b8b8
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, esi
mov edx, ebx
call fcn.00409630
add ebx, 0xffffff98
test al, al
je 0x40b960
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 0x40b8e4
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 0x40b880
push dword [ebx + 0x130]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40b880
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 0x40b98e
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 0x40b780
push dword [ebx + 0x130]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40b780
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret