Function at 0x401f04
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
push esi
push edi
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x54]
call fcn.00401ec7
cmp dword [ebp + 8], eax
jae 0x401f24
xor eax, eax
jmp 0x4021ba
shrd eax, edx, 0xa3
movsx eax, al
mov eax, edi
not ah
sbb eax, ebp
shrd eax, eax, cl
bsf eax, eax
bsf eax, edx
or eax, ecx
imul eax, edi
bt eax, 0xb8
sub eax, edi
mov ah, ah
mov al, bl
btr eax, 0x95
btr eax, esi
xor eax, 0x7e545409
bt eax, 0xec
bswap eax
shld eax, esi, cl
sub eax, 0x30447c2e
shld eax, edi, cl
imul eax, eax, 0xbba11e53
test ebp, edi
and eax, 0xf4a72a6d
dec ah
shld eax, esi, 0xcd
movzx eax, bh
inc eax
test al, 0x70
movzx eax, cx
shr ah, 0x8b
cmp al, 0x58
or ah, dl
imul eax, esi
mov ah, ch
mov eax, ecx
not al
mov eax, 0xbcb63bd5
bsr eax, ebx
shrd eax, ebx, cl
btr eax, 0xb
mov byte [ebp - 0x24], 0x4b
mov byte [ebp - 0x23], 0x45
mov byte [ebp - 0x22], 0x52
mov byte [ebp - 0x21], 0x4e
mov byte [ebp - 0x20], 0x45
mov byte [ebp - 0x1f], 0x4c
mov byte [ebp - 0x1e], 0x33
mov byte [ebp - 0x1d], 0x32
mov byte [ebp - 0x1c], 0x2e
mov byte [ebp - 0x1b], 0x64
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x6c
mov byte [ebp - 0x18], 0
mov byte [ebp - 0x38], 0x56
mov byte [ebp - 0x37], 0x69
mov byte [ebp - 0x36], 0x72
mov byte [ebp - 0x35], 0x74
mov byte [ebp - 0x34], 0x75
mov byte [ebp - 0x33], 0x61
mov byte [ebp - 0x32], 0x6c
mov byte [ebp - 0x31], 0x41
mov byte [ebp - 0x30], 0x6c
mov byte [ebp - 0x2f], 0x6c
mov byte [ebp - 0x2e], 0x6f
mov byte [ebp - 0x2d], 0x63
mov byte [ebp - 0x2c], 0
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp + 8]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], 0
fild qword [ebp - 0x5c]
fdiv qword [0x4407c8]
sub esp, 8
fstp qword [esp]
call fcn.00425115
add esp, 8
call fcn.00425234
shl eax, 0xa
mov dword [ebp - 4], eax
push 4
push 0x1000
mov eax, dword [ebp - 4]
push eax
push 0
call dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x402071
or eax, 0xffffffff
jmp 0x4021ba
mov ecx, dword [ebp - 0x54]
call fcn.00401ed8
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00424650
add esp, 0xc
adc ah, ch
mov eax, esi
add al, 0x2d
bsr eax, eax
test al, 0x15
dec eax
mov eax, 0x740cfe0f
inc eax
bsr eax, ecx
sbb eax, 0xae51cab1
mov ah, 0xba
imul eax, esi
mov eax, edx
movsx eax, dx
mov eax, 0x6d9e9fb6
shld eax, ecx, cl
shl al, 0xaa
ror eax, 1
bt eax, ebp
rcr eax, cl
test dh, bh
bts eax, esi
bsr eax, edx
inc eax
bsf eax, ecx
test dl, 0x11
or eax, esi
adc eax, eax
mov al, ch
dec eax
shl al, 1
btc eax, 0x3c
movsx eax, bx
bsf eax, ebx
btc eax, 4
shld eax, ebp, 0x15
imul eax, edi
rol al, 1
xadd ah, al
not ah
mov byte [ebp - 0x50], 0x4b
mov byte [ebp - 0x4f], 0x45
mov byte [ebp - 0x4e], 0x52
mov byte [ebp - 0x4d], 0x4e
mov byte [ebp - 0x4c], 0x45
mov byte [ebp - 0x4b], 0x4c
mov byte [ebp - 0x4a], 0x33
mov byte [ebp - 0x49], 0x32
mov byte [ebp - 0x48], 0x2e
mov byte [ebp - 0x47], 0x64
mov byte [ebp - 0x46], 0x6c
mov byte [ebp - 0x45], 0x6c
mov byte [ebp - 0x44], 0
mov byte [ebp - 0x14], 0x56
mov byte [ebp - 0x13], 0x69
mov byte [ebp - 0x12], 0x72
mov byte [ebp - 0x11], 0x74
mov byte [ebp - 0x10], 0x75
mov byte [ebp - 0xf], 0x61
mov byte [ebp - 0xe], 0x6c
mov byte [ebp - 0xd], 0x46
mov byte [ebp - 0xc], 0x72
mov byte [ebp - 0xb], 0x65
mov byte [ebp - 0xa], 0x65
mov byte [ebp - 9], 0
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x54]
cmp dword [ecx + 4], 0
je 0x402193
push 0x8000
push 0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 4]
push eax
call dword [ebp - 8]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x3c]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 4]
add ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x54]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 4]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4