Function at 0x401540
Capabilities:
Contain obfuscated stackstrings
Link many functions at runtime
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
mov eax, dword [0x50b618]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 0x18], 0x6e
mov byte [ebp - 0x17], 0x74
mov byte [ebp - 0x16], 0x64
mov byte [ebp - 0x15], 0x6c
mov byte [ebp - 0x14], 0x6c
mov byte [ebp - 0x13], 0x2e
mov byte [ebp - 0x12], 0x64
mov byte [ebp - 0x11], 0x6c
mov byte [ebp - 0x10], 0x6c
mov byte [ebp - 0xf], 0
call edi
lea ecx, [ebp - 0x28]
mov bl, 0x65
push ecx
mov esi, eax
mov byte [ebp - 0x28], 0x6b
mov byte [ebp - 0x27], bl
mov byte [ebp - 0x26], 0x72
mov byte [ebp - 0x25], 0x6e
mov byte [ebp - 0x24], bl
mov byte [ebp - 0x23], 0x6c
mov byte [ebp - 0x22], 0x33
mov byte [ebp - 0x21], 0x32
mov byte [ebp - 0x20], 0x2e
mov byte [ebp - 0x1f], 0x64
mov byte [ebp - 0x1e], 0x6c
mov byte [ebp - 0x1d], 0x6c
mov byte [ebp - 0x1c], 0
call edi
test esi, esi
jne 0x4015dd
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d99c
mov esp, ebp
pop ebp
ret
test eax, eax
je 0x4015ca
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [ebp - 0xe8]
push edx
push esi
mov byte [ebp - 0xe8], 0x4e
mov byte [ebp - 0xe7], 0x74
mov byte [ebp - 0xe6], 0x55
mov byte [ebp - 0xe5], 0x6e
mov byte [ebp - 0xe4], 0x6d
mov byte [ebp - 0xe3], 0x61
mov byte [ebp - 0xe2], 0x70
mov byte [ebp - 0xe1], 0x56
mov byte [ebp - 0xe0], 0x69
mov byte [ebp - 0xdf], bl
mov byte [ebp - 0xde], 0x77
mov byte [ebp - 0xdd], 0x4f
mov byte [ebp - 0xdc], 0x66
mov byte [ebp - 0xdb], 0x53
mov byte [ebp - 0xda], bl
mov byte [ebp - 0xd9], 0x63
mov byte [ebp - 0xd8], 0x74
mov byte [ebp - 0xd7], 0x69
mov byte [ebp - 0xd6], 0x6f
mov byte [ebp - 0xd5], 0x6e
mov byte [ebp - 0xd4], 0
call edi
mov dword [0x5147a4], eax
test eax, eax
je 0x4015ca
lea eax, [ebp - 0x16c]
push eax
push esi
mov byte [ebp - 0x16c], 0x4e
mov byte [ebp - 0x16b], 0x74
mov byte [ebp - 0x16a], 0x51
mov byte [ebp - 0x169], 0x75
mov byte [ebp - 0x168], bl
mov byte [ebp - 0x167], 0x72
mov byte [ebp - 0x166], 0x79
mov byte [ebp - 0x165], 0x49
mov byte [ebp - 0x164], 0x6e
mov byte [ebp - 0x163], 0x66
mov byte [ebp - 0x162], 0x6f
mov byte [ebp - 0x161], 0x72
mov byte [ebp - 0x160], 0x6d
mov byte [ebp - 0x15f], 0x61
mov byte [ebp - 0x15e], 0x74
mov byte [ebp - 0x15d], 0x69
mov byte [ebp - 0x15c], 0x6f
mov byte [ebp - 0x15b], 0x6e
mov byte [ebp - 0x15a], 0x50
mov byte [ebp - 0x159], 0x72
mov byte [ebp - 0x158], 0x6f
mov byte [ebp - 0x157], 0x63
mov byte [ebp - 0x156], bl
mov byte [ebp - 0x155], 0x73
mov byte [ebp - 0x154], 0x73
mov byte [ebp - 0x153], 0
call edi
mov dword [0x5147a8], eax
test eax, eax
je 0x4015ca
lea ecx, [ebp - 0xd0]
push ecx
push esi
mov byte [ebp - 0xd0], 0x52
mov byte [ebp - 0xcf], 0x74
mov byte [ebp - 0xce], 0x6c
mov byte [ebp - 0xcd], 0x49
mov byte [ebp - 0xcc], 0x6e
mov byte [ebp - 0xcb], 0x69
mov byte [ebp - 0xca], 0x74
mov byte [ebp - 0xc9], 0x55
mov byte [ebp - 0xc8], 0x6e
mov byte [ebp - 0xc7], 0x69
mov byte [ebp - 0xc6], 0x63
mov byte [ebp - 0xc5], 0x6f
mov byte [ebp - 0xc4], 0x64
mov byte [ebp - 0xc3], bl
mov byte [ebp - 0xc2], 0x53
mov byte [ebp - 0xc1], 0x74
mov byte [ebp - 0xc0], 0x72
mov byte [ebp - 0xbf], 0x69
mov byte [ebp - 0xbe], 0x6e
mov byte [ebp - 0xbd], 0x67
mov byte [ebp - 0xbc], 0
call edi
mov dword [0x5147ac], eax
test eax, eax
je 0x4015ca
lea edx, [ebp - 0x90]
push edx
push esi
mov byte [ebp - 0x90], 0x4e
mov byte [ebp - 0x8f], 0x74
mov byte [ebp - 0x8e], 0x52
mov byte [ebp - 0x8d], 0x61
mov byte [ebp - 0x8c], 0x69
mov byte [ebp - 0x8b], 0x73
mov byte [ebp - 0x8a], bl
mov byte [ebp - 0x89], 0x48
mov byte [ebp - 0x88], 0x61
mov byte [ebp - 0x87], 0x72
mov byte [ebp - 0x86], 0x64
mov byte [ebp - 0x85], 0x45
mov byte [ebp - 0x84], 0x72
mov byte [ebp - 0x83], 0x72
mov byte [ebp - 0x82], 0x6f
mov byte [ebp - 0x81], 0x72
mov byte [ebp - 0x80], 0
call edi
mov dword [0x5147b0], eax
test eax, eax
je 0x4015ca
lea eax, [ebp - 0x150]
push eax
push esi
mov byte [ebp - 0x150], 0x5a
mov byte [ebp - 0x14f], 0x77
mov byte [ebp - 0x14e], 0x51
mov byte [ebp - 0x14d], 0x75
mov byte [ebp - 0x14c], bl
mov byte [ebp - 0x14b], 0x72
mov byte [ebp - 0x14a], 0x79
mov byte [ebp - 0x149], 0x53
mov byte [ebp - 0x148], 0x79
mov byte [ebp - 0x147], 0x73
mov byte [ebp - 0x146], 0x74
mov byte [ebp - 0x145], bl
mov byte [ebp - 0x144], 0x6d
mov byte [ebp - 0x143], 0x49
mov byte [ebp - 0x142], 0x6e
mov byte [ebp - 0x141], 0x66
mov byte [ebp - 0x140], 0x6f
mov byte [ebp - 0x13f], 0x72
mov byte [ebp - 0x13e], 0x6d
mov byte [ebp - 0x13d], 0x61
mov byte [ebp - 0x13c], 0x74
mov byte [ebp - 0x13b], 0x69
mov byte [ebp - 0x13a], 0x6f
mov byte [ebp - 0x139], 0x6e
mov byte [ebp - 0x138], 0
call edi
mov dword [0x5147b4], eax
test eax, eax
je 0x4015ca
lea ecx, [ebp - 0x100]
push ecx
push esi
mov byte [ebp - 0x100], 0x5a
mov byte [ebp - 0xff], 0x77
mov byte [ebp - 0xfe], 0x51
mov byte [ebp - 0xfd], 0x75
mov byte [ebp - 0xfc], bl
mov byte [ebp - 0xfb], 0x72
mov byte [ebp - 0xfa], 0x79
mov byte [ebp - 0xf9], 0x56
mov byte [ebp - 0xf8], 0x69
mov byte [ebp - 0xf7], 0x72
mov byte [ebp - 0xf6], 0x74
mov byte [ebp - 0xf5], 0x75
mov byte [ebp - 0xf4], 0x61
mov byte [ebp - 0xf3], 0x6c
mov byte [ebp - 0xf2], 0x4d
mov byte [ebp - 0xf1], bl
mov byte [ebp - 0xf0], 0x6d
mov byte [ebp - 0xef], 0x6f
mov byte [ebp - 0xee], 0x72
mov byte [ebp - 0xed], 0x79
mov byte [ebp - 0xec], 0
call edi
cmp dword [0x5147b4], 0
mov dword [0x5147b8], eax
je 0x4015ca
lea edx, [ebp - 0x134]
push edx
push esi
mov byte [ebp - 0x134], 0x5a
mov byte [ebp - 0x133], 0x77
mov byte [ebp - 0x132], 0x51
mov byte [ebp - 0x131], 0x75
mov byte [ebp - 0x130], bl
mov byte [ebp - 0x12f], 0x72
mov byte [ebp - 0x12e], 0x79
mov byte [ebp - 0x12d], 0x49
mov byte [ebp - 0x12c], 0x6e
mov byte [ebp - 0x12b], 0x66
mov byte [ebp - 0x12a], 0x6f
mov byte [ebp - 0x129], 0x72
mov byte [ebp - 0x128], 0x6d
mov byte [ebp - 0x127], 0x61
mov byte [ebp - 0x126], 0x74
mov byte [ebp - 0x125], 0x69
mov byte [ebp - 0x124], 0x6f
mov byte [ebp - 0x123], 0x6e
mov byte [ebp - 0x122], 0x54
mov byte [ebp - 0x121], 0x68
mov byte [ebp - 0x120], 0x72
mov byte [ebp - 0x11f], bl
mov byte [ebp - 0x11e], 0x61
mov byte [ebp - 0x11d], 0x64
mov byte [ebp - 0x11c], 0
call edi
mov dword [0x5147bc], eax
test eax, eax
je 0x4015ca
lea eax, [ebp - 0x38]
push eax
push esi
mov byte [ebp - 0x38], 0x4e
mov byte [ebp - 0x37], 0x74
mov byte [ebp - 0x36], 0x51
mov byte [ebp - 0x35], 0x75
mov byte [ebp - 0x34], bl
mov byte [ebp - 0x33], 0x72
mov byte [ebp - 0x32], 0x79
mov byte [ebp - 0x31], 0x4f
mov byte [ebp - 0x30], 0x62
mov byte [ebp - 0x2f], 0x6a
mov byte [ebp - 0x2e], bl
mov byte [ebp - 0x2d], 0x63
mov byte [ebp - 0x2c], 0x74
mov byte [ebp - 0x2b], 0
call edi
mov dword [0x5147c0], eax
test eax, eax
je 0x4015ca
lea ecx, [ebp - 0x7c]
push ecx
push esi
mov byte [ebp - 0x7c], 0x4e
mov byte [ebp - 0x7b], 0x74
mov byte [ebp - 0x7a], 0x53
mov byte [ebp - 0x79], 0x75
mov byte [ebp - 0x78], 0x73
mov byte [ebp - 0x77], 0x70
mov byte [ebp - 0x76], bl
mov byte [ebp - 0x75], 0x6e
mov byte [ebp - 0x74], 0x64
mov byte [ebp - 0x73], 0x50
mov byte [ebp - 0x72], 0x72
mov byte [ebp - 0x71], 0x6f
mov byte [ebp - 0x70], 0x63
mov byte [ebp - 0x6f], bl
mov byte [ebp - 0x6e], 0x73
mov byte [ebp - 0x6d], 0x73
mov byte [ebp - 0x6c], 0
call edi
mov dword [0x5147c4], eax
test eax, eax
je 0x4015ca
lea edx, [ebp - 0x68]
push edx
push esi
mov byte [ebp - 0x68], 0x4e
mov byte [ebp - 0x67], 0x74
mov byte [ebp - 0x66], 0x52
mov byte [ebp - 0x65], bl
mov byte [ebp - 0x64], 0x73
mov byte [ebp - 0x63], 0x75
mov byte [ebp - 0x62], 0x6d
mov byte [ebp - 0x61], bl
mov byte [ebp - 0x60], 0x50
mov byte [ebp - 0x5f], 0x72
mov byte [ebp - 0x5e], 0x6f
mov byte [ebp - 0x5d], 0x63
mov byte [ebp - 0x5c], bl
mov byte [ebp - 0x5b], 0x73
mov byte [ebp - 0x5a], 0x73
mov byte [ebp - 0x59], 0
call edi
mov dword [0x5147c8], eax
test eax, eax
je 0x4015ca
lea eax, [ebp - 0x118]
push eax
push esi
mov byte [ebp - 0x118], 0x5a
mov byte [ebp - 0x117], 0x77
mov byte [ebp - 0x116], 0x53
mov byte [ebp - 0x115], bl
mov byte [ebp - 0x114], 0x74
mov byte [ebp - 0x113], 0x49
mov byte [ebp - 0x112], 0x6e
mov byte [ebp - 0x111], 0x66
mov byte [ebp - 0x110], 0x6f
mov byte [ebp - 0x10f], 0x72
mov byte [ebp - 0x10e], 0x6d
mov byte [ebp - 0x10d], 0x61
mov byte [ebp - 0x10c], 0x74
mov byte [ebp - 0x10b], 0x69
mov byte [ebp - 0x10a], 0x6f
mov byte [ebp - 0x109], 0x6e
mov byte [ebp - 0x108], 0x54
mov byte [ebp - 0x107], 0x68
mov byte [ebp - 0x106], 0x72
mov byte [ebp - 0x105], bl
mov byte [ebp - 0x104], 0x61
mov byte [ebp - 0x103], 0x64
mov byte [ebp - 0x102], 0
call edi
mov dword [0x5147d4], eax
test eax, eax
je 0x4015ca
lea ecx, [ebp - 0x58]
push ecx
push esi
mov byte [ebp - 0x58], 0x5a
mov byte [ebp - 0x57], 0x77
mov byte [ebp - 0x56], 0x4f
mov byte [ebp - 0x55], 0x70
mov byte [ebp - 0x54], bl
mov byte [ebp - 0x53], 0x6e
mov byte [ebp - 0x52], 0x50
mov byte [ebp - 0x51], 0x72
mov byte [ebp - 0x50], 0x6f
mov byte [ebp - 0x4f], 0x63
mov byte [ebp - 0x4e], bl
mov byte [ebp - 0x4d], 0x73
mov byte [ebp - 0x4c], 0x73
mov byte [ebp - 0x4b], 0
call edi
mov dword [0x5147cc], eax
test eax, eax
je 0x4015ca
lea edx, [ebp - 0xa4]
push edx
push esi
mov byte [ebp - 0xa4], 0x5a
mov byte [ebp - 0xa3], 0x77
mov byte [ebp - 0xa2], 0x54
mov byte [ebp - 0xa1], bl
mov byte [ebp - 0xa0], 0x72
mov byte [ebp - 0x9f], 0x6d
mov byte [ebp - 0x9e], 0x69
mov byte [ebp - 0x9d], 0x6e
mov byte [ebp - 0x9c], 0x61
mov byte [ebp - 0x9b], 0x74
mov byte [ebp - 0x9a], bl
mov byte [ebp - 0x99], 0x50
mov byte [ebp - 0x98], 0x72
mov byte [ebp - 0x97], 0x6f
mov byte [ebp - 0x96], 0x63
mov byte [ebp - 0x95], bl
mov byte [ebp - 0x94], 0x73
mov byte [ebp - 0x93], 0x73
mov byte [ebp - 0x92], 0
call edi
mov dword [0x5147d0], eax
test eax, eax
je 0x4015ca
lea eax, [ebp - 0x48]
push eax
push esi
mov byte [ebp - 0x48], 0x4e
mov byte [ebp - 0x47], 0x74
mov byte [ebp - 0x46], 0x4f
mov byte [ebp - 0x45], 0x70
mov byte [ebp - 0x44], bl
mov byte [ebp - 0x43], 0x6e
mov byte [ebp - 0x42], 0x53
mov byte [ebp - 0x41], bl
mov byte [ebp - 0x40], 0x63
mov byte [ebp - 0x3f], 0x74
mov byte [ebp - 0x3e], 0x69
mov byte [ebp - 0x3d], 0x6f
mov byte [ebp - 0x3c], 0x6e
mov byte [ebp - 0x3b], 0
call edi
mov dword [0x5147d8], eax
test eax, eax
je 0x4015ca
lea ecx, [ebp - 0xb8]
push ecx
push esi
mov byte [ebp - 0xb8], 0x4e
mov byte [ebp - 0xb7], 0x74
mov byte [ebp - 0xb6], 0x4d
mov byte [ebp - 0xb5], 0x61
mov byte [ebp - 0xb4], 0x70
mov byte [ebp - 0xb3], 0x56
mov byte [ebp - 0xb2], 0x69
mov byte [ebp - 0xb1], bl
mov byte [ebp - 0xb0], 0x77
mov byte [ebp - 0xaf], 0x4f
mov byte [ebp - 0xae], 0x66
mov byte [ebp - 0xad], 0x53
mov byte [ebp - 0xac], bl
mov byte [ebp - 0xab], 0x63
mov byte [ebp - 0xaa], 0x74
mov byte [ebp - 0xa9], 0x69
mov byte [ebp - 0xa8], 0x6f
mov byte [ebp - 0xa7], 0x6e
mov byte [ebp - 0xa6], 0
call edi
mov dword [0x5147dc], eax
test eax, eax
je 0x4015ca
lea edx, [ebp - 0xc]
push edx
push esi
mov byte [ebp - 0xc], 0x4e
mov byte [ebp - 0xb], 0x74
mov byte [ebp - 0xa], 0x43
mov byte [ebp - 9], 0x6c
mov byte [ebp - 8], 0x6f
mov byte [ebp - 7], 0x73
mov byte [ebp - 6], bl
mov byte [ebp - 5], 0
call edi
xor ecx, ecx
test eax, eax
setne cl
mov dword [0x5147e0], eax
pop edi
pop esi
pop ebx
mov eax, ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d99c
mov esp, ebp
pop ebp
ret