Function at 0x4038f0
Capabilities:
Contain obfuscated stackstrings
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
mov eax, dword [0x5cce74]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea eax, [ebp - 0x48]
push esi
push edi
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x14], 0x4e52454b
push eax
mov esi, ecx
mov dword [ebp - 0x10], 0x32334c45
mov dword [ebp - 0xc], 0x6c6c642e
mov byte [ebp - 8], 0
mov dword [ebp - 0x2c], 0x65657246
mov dword [ebp - 0x28], 0x7262694c
mov dword [ebp - 0x24], 0x797261
mov dword [ebp - 0x58], 0x4e52454b
mov dword [ebp - 0x54], 0x32334c45
mov dword [ebp - 0x50], 0x6c6c642e
mov byte [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0x64616f4c
mov dword [ebp - 0x44], 0x7262694c
mov dword [ebp - 0x40], 0x41797261
mov byte [ebp - 0x3c], 0
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x14]
push eax
call ebx
test eax, eax
jne 0x4039a7
lea eax, [ebp - 0x14]
push eax
call dword [ebp - 0xcc]
test eax, eax
jne 0x4039a7
mov dword [ebp - 0xd0], eax
jmp 0x4039b4
lea ecx, [ebp - 0x2c]
push ecx
push eax
call edi
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x38], 0x74726956
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x34], 0x466c6175
push eax
mov dword [ebp - 0x30], 0x656572
mov dword [ebp - 0x78], 0x4e52454b
mov dword [ebp - 0x74], 0x32334c45
mov dword [ebp - 0x70], 0x6c6c642e
mov byte [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0x64616f4c
mov dword [ebp - 0x64], 0x7262694c
mov dword [ebp - 0x60], 0x41797261
mov byte [ebp - 0x5c], 0
call ebx
push eax
call edi
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x14]
push eax
call ebx
test eax, eax
jne 0x403a2e
lea eax, [ebp - 0x14]
push eax
call dword [ebp - 0xcc]
test eax, eax
jne 0x403a2e
mov dword [ebp - 0xd4], eax
jmp 0x403a3b
lea ecx, [ebp - 0x38]
push ecx
push eax
call edi
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0xc8], 0x50746547
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xc4], 0x65636f72
push eax
mov dword [ebp - 0xc0], 0x65487373
mov word [ebp - 0xbc], 0x7061
mov byte [ebp - 0xba], 0
mov dword [ebp - 0x98], 0x4e52454b
mov dword [ebp - 0x94], 0x32334c45
mov dword [ebp - 0x90], 0x6c6c642e
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0x64616f4c
mov dword [ebp - 0x84], 0x7262694c
mov dword [ebp - 0x80], 0x41797261
mov byte [ebp - 0x7c], 0
call ebx
push eax
call edi
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x14]
push eax
call ebx
test eax, eax
jne 0x403ae6
lea eax, [ebp - 0x14]
push eax
call dword [ebp - 0xcc]
test eax, eax
jne 0x403ae6
mov dword [ebp - 0xd8], eax
jmp 0x403af6
lea ecx, [ebp - 0xc8]
push ecx
push eax
call edi
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x20], 0x70616548
push eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x1c], 0x65657246
push eax
mov byte [ebp - 0x18], 0
mov dword [ebp - 0xb8], 0x4e52454b
mov dword [ebp - 0xb4], 0x32334c45
mov dword [ebp - 0xb0], 0x6c6c642e
mov byte [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0x64616f4c
mov dword [ebp - 0xa4], 0x7262694c
mov dword [ebp - 0xa0], 0x41797261
mov byte [ebp - 0x9c], 0
call ebx
push eax
call edi
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x14]
push eax
call ebx
test eax, eax
jne 0x403b8b
lea eax, [ebp - 0x14]
push eax
call dword [ebp - 0xcc]
test eax, eax
jne 0x403b8b
mov dword [ebp - 0xcc], eax
jmp 0x403b98
lea ecx, [ebp - 0x20]
push ecx
push eax
call edi
mov dword [ebp - 0xcc], eax
test esi, esi
je 0x403c11
cmp dword [esi + 0x10], 0
je 0x403bba
mov eax, dword [esi]
mov ecx, dword [esi + 4]
push 0
push 0
mov eax, dword [eax + 0x28]
push ecx
add eax, ecx
call eax
mov dword [esi + 0x10], 0
cmp dword [esi + 8], 0
je 0x403bec
xor edi, edi
cmp dword [esi + 0xc], edi
jle 0x403be4
mov ebx, dword [ebp - 0xd0]
nop dword [eax]
mov eax, dword [esi + 8]
mov eax, dword [eax + edi*4]
cmp eax, 0xffffffff
je 0x403bde
push eax
call ebx
inc edi
cmp edi, dword [esi + 0xc]
jl 0x403bd0
mov ecx, dword [esi + 8]
call fcn.00402c00
mov eax, dword [esi + 4]
test eax, eax
je 0x403c01
push 0x8000
push 0
push eax
call dword [ebp - 0xd4]
push esi
push 0
call dword [ebp - 0xd8]
push eax
call dword [ebp - 0xcc]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0054cb2c
mov esp, ebp
pop ebp
ret