Function at 0x10005970
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
lea eax, [esp + 0x1c]
push edi
mov bl, 0x6c
push eax
mov byte [esp + 0x24], 0x6b
mov byte [esp + 0x25], 0x65
mov byte [esp + 0x26], 0x72
mov byte [esp + 0x27], 0x6e
mov byte [esp + 0x28], 0x65
mov byte [esp + 0x29], bl
mov byte [esp + 0x2a], 0x33
mov byte [esp + 0x2b], 0x32
mov byte [esp + 0x2c], 0x2e
mov byte [esp + 0x2d], 0x64
mov byte [esp + 0x2e], bl
mov byte [esp + 0x2f], bl
mov byte [esp + 0x30], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x30]
mov edi, eax
push ecx
push edi
mov byte [esp + 0x38], 0x56
mov byte [esp + 0x39], 0x69
mov byte [esp + 0x3a], 0x72
mov byte [esp + 0x3b], 0x74
mov byte [esp + 0x3c], 0x75
mov byte [esp + 0x3d], 0x61
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], 0x41
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], bl
mov byte [esp + 0x42], 0x6f
mov byte [esp + 0x43], 0x63
mov byte [esp + 0x44], 0
call ebp
lea edx, [esp + 0x14]
mov esi, eax
push edx
push edi
mov byte [esp + 0x1c], 0x48
mov byte [esp + 0x1d], 0x65
mov byte [esp + 0x1e], 0x61
mov byte [esp + 0x1f], 0x70
mov byte [esp + 0x20], 0x41
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], bl
mov byte [esp + 0x23], 0x6f
mov byte [esp + 0x24], 0x63
mov byte [esp + 0x25], 0
call ebp
mov ebp, eax
mov eax, dword [esp + 0x44]
cmp word [eax], 0x5a4d
je 0x10005a61
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov edi, dword [eax + 0x3c]
add edi, eax
mov dword [esp + 0x10], edi
cmp dword [edi], 0x4550
je 0x10005a7c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x34]
push 4
push 0x2000
push eax
push ecx
call esi
mov ebx, eax
test ebx, ebx
jne 0x10005aaf
mov edx, dword [edi + 0x50]
push 4
push 0x2000
push edx
push eax
call esi
mov ebx, eax
test ebx, ebx
jne 0x10005aaf
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0x14
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call ebp
mov ebp, eax
xor eax, eax
push 4
push 0x1000
mov dword [ebp + 4], ebx
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0x10], eax
mov eax, dword [edi + 0x50]
push eax
push ebx
call esi
mov ecx, dword [edi + 0x54]
push 4
push 0x1000
push ecx
push ebx
call esi
mov esi, dword [esp + 0x44]
mov ecx, dword [edi + 0x54]
push ebp
mov edi, dword [esi + 0x3c]
add ecx, edi
mov edi, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x14]
push esi
push ecx
mov edx, dword [ecx + 0x3c]
add eax, edx
mov dword [ebp], eax
mov dword [eax + 0x34], ebx
call fcn.10005b90
mov ecx, dword [esi + 0x34]
mov eax, ebx
add esp, 0xc
sub eax, ecx
je 0x10005b35
push eax
push ebp
call fcn.10005ed0
add esp, 8
push ebp
call fcn.10005f50
add esp, 4
test eax, eax
je 0x10005b66
push ebp
call fcn.10005d10
mov eax, dword [ebp]
add esp, 4
mov eax, dword [eax + 0x28]
test eax, eax
je 0x10005b80
add eax, ebx
test eax, eax
je 0x10005b66
push 0
push 1
push ebx
call eax
test eax, eax
jne 0x10005b79
push ebp
call fcn.10006130
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov dword [ebp + 0x10], 1
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x30
ret