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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100b625b
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x98], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0xb0]
mov dword fs:[0], eax
mov ebx, edx
mov esi, ecx
mov dword [esp + 0x1c], esi
push 6
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x28]
mov dword [esp + 0x3c], 0
push str..virus
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], 0
mov byte [esp + 0x2c], 0
call fcn.10093cc0
mov dword [esp + 0xb8], 0
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x10041097
mov ecx, dword [ecx + 0x84]
jmp 0x10041099
xor ecx, ecx
push ecx
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.100955d0
mov dword [esp + 0xb8], 0xffffffff
cmp dword [esp + 0x38], 0x10
jb 0x100410c8
push dword [esp + 0x24]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, 0xffff
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
cmp word [esp + 0x14], ax
je 0x1004135f
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x3c], 0x18b0030
mov dword [esp + 0x40], 0x3c302c1
mov dword [esp + 0x44], 0x5900490
mov dword [esp + 0x48], 0x7900690
mov dword [esp + 0x4c], 0x9900890
mov dword [esp + 0x50], 0xb900a90
mov dword [esp + 0x54], 0xd900c90
mov dword [esp + 0x58], 0xf900e90
mov dword [esp + 0x5c], 0x118b1090
mov dword [esp + 0x60], 0x1324124c
mov dword [esp + 0x64], 0x158a1404
mov dword [esp + 0x68], 0x17031651
mov dword [esp + 0x6c], 0x19fa1880
mov dword [esp + 0x70], 0x1b0f1a3d
mov dword [esp + 0x74], 0x1d801c85
mov dword [esp + 0x78], 0x1f001e00
mov dword [esp + 0x7c], 0x218a2000
mov dword [esp + 0x80], 0x23022241
mov dword [esp + 0x84], 0x25c2243a
mov dword [esp + 0x88], 0x27332675
mov dword [esp + 0x8c], 0x29be280f
mov dword [esp + 0x90], 0x2b0f2a01
mov dword [esp + 0x94], 0x2d902cbe
mov dword [esp + 0x98], 0x2f202eb8
mov byte [esp + 0x9c], 0x40
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], 0
test eax, eax
je 0x100411f2
mov ecx, dword [eax + 0x84]
jmp 0x100411f4
xor ecx, ecx
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
push esi
call fcn.10097c50
mov edx, dword [ebx + 4]
mov ecx, dword [esp + 0x20]
cmp ecx, edx
jbe 0x10041214
mov ecx, edx
test al, al
je 0x1004135f
mov eax, dword [esp + 0x14]
cmp eax, edi
jae 0x1004135f
test eax, eax
je 0x1004135f
test ecx, ecx
je 0x1004135f
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x10041247
mov ecx, dword [ecx + 0x84]
jmp 0x10041249
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
cmp si, ax
jae 0x1004135f
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
movzx esi, si
sar eax, 2
cmp esi, eax
jae 0x10041273
mov eax, dword [ecx + 8]
mov esi, dword [eax + esi*4]
jmp 0x10041275
xor esi, esi
cmp byte [esi + 0x24], 0
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
jne 0x10041287
mov ecx, esi
call fcn.10097cc0
mov eax, dword [esi + 0x20]
lea ecx, [eax + edi]
cmp edi, ecx
ja 0x1004135f
test ecx, ecx
je 0x1004135f
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x3c]
mov eax, dword [esi]
mov ebx, dword [edx + eax + 0x84]
test ebx, ebx
je 0x1004135f
mov edx, dword [edx + eax + 0x80]
cmp edx, edi
jb 0x1004135f
lea eax, [edx + ebx]
cmp eax, ecx
ja 0x1004135f
mov esi, dword [esi + 4]
sub edx, edi
add edx, dword [esp + 0x14]
cmp edx, esi
jae 0x1004135f
lea edi, [edx + ebx]
lea eax, [edi + 0x3e80]
cmp eax, esi
jae 0x1004135f
mov eax, dword [esp + 0x18]
xor ecx, ecx
add eax, edi
lea ebx, [ebx]
cmp byte [eax + ecx], 0x43
jne 0x1004130d
cmp byte [eax + ecx + 1], 0x3a
je 0x10041316
inc ecx
cmp ecx, 0x96
jle 0x10041300
cmp ecx, 0x96
jge 0x1004135f
lea eax, [ebx + 0x3c]
add eax, edx
add eax, ecx
mov ecx, dword [esp + 0x18]
cmp byte [eax + ecx], 0x4d
jne 0x1004135f
cmp byte [eax + ecx + 1], 0x5a
jne 0x1004135f
lea ecx, [esp + 0x3c]
sub esi, eax
mov dword [esp + 0x18], ecx
sub esi, 0x1000
mov ecx, dword [esp + 0x1c]
add ecx, 0x1000
add eax, ecx
lea ecx, [esp + 0x18]
push esi
push eax
call fcn.1001cbe0
jmp 0x10041361
xor al, al
mov ecx, dword [esp + 0xb0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.100b37df
mov esp, ebp
pop ebp
ret