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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov ebx, edx
mov edi, ecx
mov eax, edx
sub eax, ecx
sar eax, 3
imul ecx, eax, 0xc4ec4ec5
mov al, 1
cmp ecx, 5
ja case.default.0x40acd7
jmp dword [ecx*4 + 0x41f4b8]
add ebx, 0xffffff98
mov ecx, ebx
mov edx, edi
call fcn.00408bd0
test al, al
je 0x40afd2
mov ecx, edi
mov edx, ebx
call fcn.00409310
jmp 0x40afd2
lea edx, [edi + 0x68]
add ebx, 0xffffff98
mov ecx, edi
push ebx
call fcn.0040ac40
mov al, 1
add esp, 4
jmp case.0x40acd7.0
lea edx, [edi + 0x68]
lea eax, [edi + 0xd0]
lea esi, [edi + 0x138]
add ebx, 0xffffff98
mov ecx, edi
push ebx
push esi
push eax
call fcn.0040abb0
mov al, 1
add esp, 0xc
jmp case.0x40acd7.0
lea eax, [edi + 0xd0]
lea edx, [edi + 0x68]
mov ecx, edi
mov dword [esp + 8], edx
mov esi, eax
push eax
call fcn.0040ac40
add esp, 4
lea ecx, [edi + 0x138]
cmp ecx, ebx
je 0x40afd2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xd0
mov edx, esi
mov ebx, dword [esp + 8]
jmp 0x40ada9
mov edx, esi
lea eax, [esi + 0x68]
add ebx, 0x68
add dword [esp + 0x14], 0x68
mov ecx, eax
cmp eax, dword [esp + 0x18]
je 0x40afd2
mov esi, ecx
call fcn.00408bd0
test al, al
je 0x40ad90
movzx eax, byte [esi + 0x10]
mov byte [esp + 0x30], al
movups xmm0, xmmword [esi]
movaps xmmword [esp + 0x20], xmm0
mov eax, dword [esi + 0x1c]
lea ecx, [esp + 0x34]
mov dword [ecx + 8], eax
movsd xmm0, qword [esi + 0x14]
movsd qword [ecx], xmm0
xorps xmm2, xmm2
movsd qword [esi + 0x14], xmm2
mov dword [esi + 0x1c], 0
movsd xmm0, qword [esi + 0x50]
movsd qword [ecx + 0x3c], xmm0
movups xmm0, xmmword [esi + 0x40]
movups xmmword [ecx + 0x2c], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmm1, xmmword [esi + 0x30]
movups xmmword [ecx + 0x1c], xmm1
movups xmmword [ecx + 0xc], xmm0
mov eax, dword [esi + 0x60]
mov dword [ecx + 0x4c], eax
movsd xmm0, qword [esi + 0x58]
movsd qword [ecx + 0x44], xmm0
movsd qword [esi + 0x58], xmm2
mov dword [esi + 0x60], 0
mov ecx, dword [esp + 0x14]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 4], esi
nop word cs:[eax + eax]
mov esi, ecx
movzx eax, byte [edi + ecx + 0x10]
mov byte [edi + ecx + 0x78], al
movups xmm0, xmmword [edi + ecx]
movups xmmword [edi + ecx + 0x68], xmm0
test byte [edi + ecx + 0x7c], 1
je 0x40ae6a
push dword [edi + esi + 0x84]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [edi + esi]
add ecx, 0x7c
mov eax, dword [ecx - 0x60]
mov dword [ecx + 8], eax
movsd xmm0, qword [ecx - 0x68]
mov dword [esp + 0x1c], ecx
movsd qword [ecx], xmm0
mov word [edi + esi + 0x14], 0
movups xmm0, xmmword [edi + esi + 0x20]
movups xmm1, xmmword [edi + esi + 0x30]
movups xmmword [edi + esi + 0x88], xmm0
movups xmmword [edi + esi + 0x98], xmm1
movups xmm0, xmmword [edi + esi + 0x40]
movups xmmword [edi + esi + 0xa8], xmm0
movsd xmm0, qword [edi + esi + 0x50]
movsd qword [edi + esi + 0xb8], xmm0
test byte [edi + esi + 0xc0], 1
je 0x40aed9
push dword [edi + esi + 0xc8]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [edi + esi]
add eax, 0xc0
mov ecx, dword [edi + esi + 0x60]
mov dword [eax + 8], ecx
movsd xmm0, qword [edi + esi + 0x58]
movsd qword [eax], xmm0
mov word [edi + esi + 0x58], 0
test esi, esi
je 0x40af20
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.00408bd0
add dword [esp + 4], 0xffffff98
add ebx, 0xffffff98
lea ecx, [esi - 0x68]
test al, al
jne 0x40ae40
jmp 0x40af24
mov dword [esp + 4], edi
movzx eax, byte [esp + 0x30]
mov ecx, dword [esp + 4]
mov byte [ecx + 0x10], al
movaps xmm0, xmmword [esp + 0x20]
movups xmmword [ecx], xmm0
test byte [edi + esi + 0x14], 1
je 0x40af4e
mov eax, dword [esp + 4]
push dword [eax + 0x1c]
call sub.libc.dll_operator_delete_void_
add esp, 4
add esi, edi
add esi, 0x58
lea ecx, [esp + 0x34]
mov eax, dword [ecx + 8]
mov edx, dword [esp + 0x1c]
mov dword [edx - 0x60], eax
movsd xmm0, qword [ecx]
movsd qword [edx - 0x68], xmm0
movsd xmm0, qword [ecx + 0x3c]
movsd qword [esi - 8], xmm0
movups xmm0, xmmword [ecx + 0x2c]
movups xmmword [esi - 0x18], xmm0
movups xmm0, xmmword [ecx + 0xc]
movups xmm1, xmmword [ecx + 0x1c]
movups xmmword [esi - 0x28], xmm1
movups xmmword [esi - 0x38], xmm0
test byte [esi], 1
mov ebx, dword [esp + 0x18]
je 0x40afa4
mov eax, dword [esp + 4]
push dword [eax + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x34]
mov eax, dword [ecx + 0x4c]
mov dword [esi + 8], eax
movsd xmm0, qword [ecx + 0x44]
movsd qword [esi], xmm0
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 8
je 0x40aff8
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
jmp 0x40ad90
mov al, 1
jmp case.0x40acd7.0
lea edx, [edi + 0x68]
lea eax, [edi + 0xd0]
add ebx, 0xffffff98
mov ecx, edi
push ebx
push eax
call fcn.0040b010
mov al, 1
add esp, 8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0xc]
add eax, 0x68
cmp eax, ebx
sete al
jmp case.0x40acd7.0