Function at 0x40f890
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
push edi
push esi
sub esp, 0x100
mov eax, dword [0x440164]
test eax, eax
jle 0x40f953
mov edi, dword [0x440168]
mov esi, dword [edi]
test esi, esi
je 0x40f953
mov bl, 1
mov edx, 1
nop dword [eax]
cmp byte [esi], 0x2d
jne 0x40f940
xor ecx, ecx
cmp byte [esi + 1], 0x2d
sete cl
cmp byte [esi + ecx + 1], 0x6e
jne 0x40f940
inc ecx
cmp byte [esi + ecx + 1], 0x6f
jne 0x40f940
cmp byte [esi + ecx + 2], 0x5f
jne 0x40f940
cmp byte [esi + ecx + 3], 0x73
jne 0x40f940
cmp byte [esi + ecx + 4], 0x74
jne 0x40f940
cmp byte [esi + ecx + 5], 0x61
jne 0x40f940
cmp byte [esi + ecx + 6], 0x63
jne 0x40f940
cmp byte [esi + ecx + 7], 0x6b
jne 0x40f940
cmp byte [esi + ecx + 8], 0x74
jne 0x40f940
cmp byte [esi + ecx + 9], 0x72
jne 0x40f940
cmp byte [esi + ecx + 0xa], 0x61
jne 0x40f940
cmp byte [esi + ecx + 0xb], 0x63
jne 0x40f940
cmp byte [esi + ecx + 0xc], 0x65
jne 0x40f940
movzx ecx, byte [esi + ecx + 0xd]
test ecx, ecx
je 0x40fb7b
cmp ecx, 0x3d
je 0x40fb7b
cmp eax, edx
je 0x40f953
setg bl
mov esi, dword [edi + edx*4]
inc edx
test esi, esi
jne 0x40f8c0
xorps xmm0, xmm0
movups xmmword [esp], xmm0
movups xmmword [esp + 0x10], xmm0
movups xmmword [esp + 0xf0], xmm0
movups xmmword [esp + 0xe0], xmm0
movups xmmword [esp + 0xd0], xmm0
movups xmmword [esp + 0xc0], xmm0
movups xmmword [esp + 0xb0], xmm0
movups xmmword [esp + 0xa0], xmm0
movups xmmword [esp + 0x90], xmm0
movups xmmword [esp + 0x80], xmm0
movups xmmword [esp + 0x70], xmm0
movups xmmword [esp + 0x60], xmm0
movups xmmword [esp + 0x50], xmm0
movups xmmword [esp + 0x40], xmm0
movups xmmword [esp + 0x30], xmm0
movups xmmword [esp + 0x20], xmm0
mov dword [esp], 0x6262696c
mov dword [esp + 4], 0x746b6361
mov dword [esp + 8], 0x65636172
mov dword [esp + 0xc], 0x6c6c642e
mov byte [esp + 0x10], 0
mov ecx, esp
mov edx, 1
call fcn.00401a50
mov esi, eax
test eax, eax
jne 0x40faaa
xorps xmm0, xmm0
movups xmmword [esp], xmm0
movups xmmword [esp + 0xf0], xmm0
movups xmmword [esp + 0xe0], xmm0
movups xmmword [esp + 0xd0], xmm0
movups xmmword [esp + 0xc0], xmm0
movups xmmword [esp + 0xb0], xmm0
movups xmmword [esp + 0xa0], xmm0
movups xmmword [esp + 0x90], xmm0
movups xmmword [esp + 0x80], xmm0
movups xmmword [esp + 0x70], xmm0
movups xmmword [esp + 0x60], xmm0
movups xmmword [esp + 0x50], xmm0
movups xmmword [esp + 0x40], xmm0
movups xmmword [esp + 0x30], xmm0
movups xmmword [esp + 0x20], xmm0
movups xmmword [esp + 0x10], xmm0
mov dword [esp], 0x6b636162
mov dword [esp + 4], 0x63617274
mov dword [esp + 8], 0x6c642e65
mov word [esp + 0xc], 0x6c
mov ecx, esp
mov edx, 1
call fcn.00401a50
mov esi, eax
test eax, eax
jne 0x40faaa
mov ecx, str.backtrace
mov edx, 1
call fcn.00401a50
mov esi, eax
test eax, eax
je 0x40fb56
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.backtrace_create_state
push dword [esi]
call edi
mov dword [0x44016c], eax
push str.backtrace_full
push dword [esi]
call edi
mov dword [0x440170], eax
push str.backtrace_print
push dword [esi]
call edi
mov dword [0x440174], eax
test byte [esi + 4], 2
je 0x40faf5
push str.Unloading_a_library
call fcn.00410a40
add esp, 4
push dword [esi]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push esi
call sub.MSVCR70.dll_free
add esp, 4
mov eax, dword [0x44016c]
test eax, eax
je 0x40fb28
push 0
push 0x40fb90
push 1
push 0
call eax
add esp, 0x10
mov dword [0x440178], eax
mov ecx, dword [0x440170]
test ecx, ecx
jne 0x40fb37
jmp 0x40fb84
mov eax, dword [0x440178]
mov ecx, dword [0x440170]
test ecx, ecx
je 0x40fb84
test eax, eax
je 0x40fb84
push 0
push 0x40fb90
push 0x40fba0
push 0
push eax
call ecx
add esp, 0x114
pop esi
pop edi
pop ebx
ret
mov dword [0x44016c], 0
mov dword [0x440170], 0
mov dword [0x440174], 0
xor esi, esi
jmp 0x40faf5
test bl, 1
je 0x40f953
add esp, 0x100
pop esi
pop edi
pop ebx
ret