Function at 0x40bb00
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 edi, ecx
mov eax, edx
sub eax, ecx
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov bl, 1
cmp eax, 5
ja case.default.0x40bb25
jmp dword [eax*4 + 0x4201e0]
add edx, 0xffffff98
mov ecx, edx
mov esi, edx
mov edx, edi
call fcn.00409630
test al, al
je case.0x40bb25.0
mov ecx, edi
mov edx, esi
call fcn.0040a0a0
jmp case.0x40bb25.0
lea ebx, [edi + 0xd0]
mov esi, edx
lea edx, [edi + 0x68]
mov ecx, edi
mov dword [esp + 0x18], edx
push ebx
call fcn.0040ba90
mov ecx, esi
add esp, 4
lea esi, [edi + 0x138]
cmp esi, ecx
je 0x40be31
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xd0
mov dword [esp + 8], ecx
jmp 0x40bbad
mov ecx, dword [esp + 8]
mov ebx, esi
lea eax, [esi + 0x68]
add dword [esp + 0x18], 0x68
add dword [esp + 0x14], 0x68
mov esi, eax
cmp eax, ecx
je 0x40be31
mov ecx, esi
mov edx, ebx
call fcn.00409630
test al, al
je 0x40bb90
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
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
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
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 0
mov dword [esi + 0x60], 0
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov dword [esp + 4], esi
nop dword [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 0x40bc7a
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 0x40bce9
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 0x40bd30
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.00409630
add dword [esp + 4], 0xffffff98
add ebx, 0xffffff98
lea ecx, [esi - 0x68]
test al, al
jne 0x40bc50
jmp 0x40bd34
mov dword [esp + 4], edi
movzx eax, byte [esp + 0x30]
mov ebx, dword [esp + 4]
mov byte [ebx + 0x10], al
movaps xmm0, xmmword [esp + 0x20]
movups xmmword [ebx], xmm0
test byte [edi + esi + 0x14], 1
je 0x40bd5a
push dword [ebx + 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
je 0x40bda8
push dword [ebx + 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 0x40be35
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
jmp 0x40bb94
mov eax, edx
lea edx, [edi + 0x68]
add eax, 0xffffff98
mov ecx, edi
push eax
call fcn.0040ba90
add esp, 4
jmp case.0x40bb25.0
mov esi, edx
lea edx, [edi + 0x68]
lea eax, [edi + 0xd0]
mov dword [esp + 4], eax
lea eax, [edi + 0x138]
add esi, 0xffffff98
mov ecx, edi
push esi
push eax
push dword [esp + 0xc]
call fcn.0040ba00
add esp, 0xc
jmp case.0x40bb25.0
mov esi, edx
lea edx, [edi + 0x68]
lea eax, [edi + 0xd0]
add esi, 0xffffff98
mov ecx, edi
push esi
push eax
call fcn.0040be50
add esp, 8
jmp case.0x40bb25.0
mov bl, 1
jmp case.0x40bb25.0
mov eax, dword [esp + 0xc]
add eax, 0x68
cmp eax, dword [esp + 8]
sete bl
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret