Function at 0x404020
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov esi, ecx
nop
test eax, eax
nop
mov edi, esp
mov ecx, edi
call fcn.0049811e
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
lea ebx, [esp + 0x10]
mov ecx, ebx
call fcn.004981e4
push ebx
push ebp
call fcn.00406410
add esp, 8
nop
test eax, eax
nop
mov ecx, ebx
call fcn.0049811e
push ebx
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, edi
call fcn.004982ec
push edi
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x10], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.0049811e
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.004981e4
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.0049811e
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.004983b2
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 4], eax
nop
test eax, eax
nop
mov byte [esp + 0x11], 0x73
mov byte [esp + 0x1a], 0
nop
test eax, eax
nop
mov byte [esp + 0x10], 0x75
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x12], 0x65
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x13], 0x72
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x14], 0x33
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x15], 0x32
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x16], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x17], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x18], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x19], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push ebx
call dword [esi + 0x10]
nop
test eax, eax
nop
mov ecx, ebx
call fcn.0049849a
nop
test eax, eax
nop
push ebx
call dword [esi + 0x10]
nop
test eax, eax
nop
mov ecx, ebx
call fcn.00498582
nop
test eax, eax
nop
push ebx
call dword [esi + 0x10]
nop
test eax, eax
nop
mov ecx, ebx
call fcn.00498636
nop
test eax, eax
nop
push ebx
call dword [esi + 0x10]
nop
test eax, eax
nop
mov byte [esp + 0x12], 0x61
mov byte [esp + 0x19], 0
nop
test eax, eax
nop
mov byte [esp + 0x10], 0x70
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x11], 0x73
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x13], 0x70
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x14], 0x69
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x15], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x16], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x17], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x18], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push ebx
call dword [esi + 0x10]
nop
test eax, eax
nop
mov ecx, ebx
call fcn.004986ea
nop
test eax, eax
nop
push ebx
call dword [esi + 0x10]
nop
test eax, eax
nop
mov byte [esp + 1], 0x73
mov byte [esp + 0xa], 0
nop
test eax, eax
nop
mov byte [esp], 0x75
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 2], 0x65
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 3], 0x72
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 4], 0x33
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 5], 0x32
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 6], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 7], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 8], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 9], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.004987b0
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x50], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.0049811e
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00498864
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x14], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.0049811e
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
push ebx
call fcn.00406cb0
add esp, 4
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x18], eax
nop
test eax, eax
nop
mov ecx, ebx
call fcn.0049811e
push ebx
call fcn.00406670
add esp, 4
mov byte [esp + 5], 0
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov dword [esp], 0x65656c53
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 4], 0x70
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push edi
push eax
call fcn.00406410
add esp, 8
mov dword [esi + 0x54], eax
nop
test eax, eax
nop
mov byte [esp + 1], 0x73
mov byte [esp + 0xa], 0
nop
test eax, eax
nop
mov byte [esp], 0x75
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 2], 0x65
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 3], 0x72
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 4], 0x33
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 5], 0x32
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 6], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 7], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 8], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 9], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.0049897a
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x58], eax
nop
test eax, eax
nop
mov ecx, ebx
call fcn.0049811e
push ebx
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, edi
call fcn.00498a70
push edi
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x5c], eax
nop
test eax, eax
nop
mov ecx, ebx
call fcn.0049811e
push ebx
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, edi
call fcn.00498b36
push edi
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x1c], eax
nop
test eax, eax
nop
mov ecx, ebx
call fcn.0049811e
push ebx
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, edi
call fcn.00498bea
push edi
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x38], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.0049811e
push edi
call fcn.00406670
add esp, 4
vmovups xmm0, xmmword [0x45f406]
vmovups xmmword [esp + 0x19], xmm0
vmovups xmm0, xmmword [str._nNoesFfbdskEehmakAqw]
vmovups xmmword [esp + 0x10], xmm0
xor ecx, ecx
nop dword [eax]
nop
test eax, eax
nop
lea edx, [ecx + 0xfb]
lea ebp, [ecx + 0x18]
cmp ecx, 5
cmovb edx, ebp
xor byte [esp + ecx + 0x10], dl
nop
test eax, eax
nop
inc ecx
cmp ecx, 0x18
jne 0x404590
nop
test eax, eax
nop
nop
test eax, eax
nop
push ebx
push eax
call fcn.00406410
add esp, 8
mov dword [esi + 0x40], eax
nop
test eax, eax
nop
mov byte [esp + 2], 0x61
mov byte [esp + 9], 0
nop
test eax, eax
nop
mov byte [esp], 0x70
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 1], 0x73
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 3], 0x70
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 4], 0x69
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 5], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 6], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 7], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 8], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
push ebx
call fcn.00406dd0
add esp, 4
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0xc], eax
nop
test eax, eax
nop
mov byte [esp + 2], 0x61
mov byte [esp + 9], 0
nop
test eax, eax
nop
mov byte [esp], 0x70
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 1], 0x73
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 3], 0x70
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 4], 0x69
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 5], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 6], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 7], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 8], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00498cb0
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x28], eax
nop
test eax, eax
nop
mov byte [esp + 1], 0x73
mov byte [esp + 0xa], 0
nop
test eax, eax
nop
mov byte [esp], 0x75
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 2], 0x65
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 3], 0x72
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 4], 0x33
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 5], 0x32
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 6], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 7], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 8], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 9], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push edi
call fcn.00406670
add esp, 4
vmovups xmm0, xmmword [0x45f434]
vmovups xmmword [esp + 0x19], xmm0
vmovups xmm0, xmmword [str._nLunemtPmtbimZycnkcXv]
vmovups xmmword [esp + 0x10], xmm0
xor ecx, ecx
nop
nop
test eax, eax
nop
lea edx, [ecx + 0xfb]
lea ebp, [ecx + 0x18]
cmp ecx, 5
cmovb edx, ebp
xor byte [esp + ecx + 0x10], dl
nop
test eax, eax
nop
inc ecx
cmp ecx, 0x18
jne 0x404810
nop
test eax, eax
nop
nop
test eax, eax
nop
push ebx
push eax
call fcn.00406410
add esp, 8
mov dword [esi + 0x20], eax
nop
test eax, eax
nop
mov byte [esp + 0x11], 0x73
mov byte [esp + 0x1a], 0
nop
test eax, eax
nop
mov byte [esp + 0x10], 0x75
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x12], 0x65
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x13], 0x72
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x14], 0x33
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x15], 0x32
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x16], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x17], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x18], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 0x19], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push ebx
call fcn.00406670
add esp, 4
mov byte [esp + 2], 0x74
mov byte [esp + 9], 0
nop
test eax, eax
nop
mov byte [esp], 0x47
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 1], 0x65
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 3], 0x57
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 4], 0x69
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 5], 0x6e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 6], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 7], 0x6f
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 8], 0x77
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push edi
push eax
call fcn.00406410
add esp, 8
mov dword [esi + 0x24], eax
nop
test eax, eax
nop
mov byte [esp + 1], 0x73
mov byte [esp + 0xa], 0
nop
test eax, eax
nop
mov byte [esp], 0x75
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 2], 0x65
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 3], 0x72
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 4], 0x33
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 5], 0x32
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 6], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 7], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 8], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 9], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
push ebx
call fcn.00406ef0
add esp, 4
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x48], eax
nop
test eax, eax
nop
mov byte [esp + 1], 0x73
mov byte [esp + 0xa], 0
nop
test eax, eax
nop
mov byte [esp], 0x75
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 2], 0x65
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 3], 0x72
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 4], 0x33
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 5], 0x32
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 6], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 7], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 8], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 9], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00498d86
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x2c], eax
nop
test eax, eax
nop
mov byte [esp + 1], 0x73
mov byte [esp + 0xa], 0
nop
test eax, eax
nop
mov byte [esp], 0x75
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 2], 0x65
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 3], 0x72
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 4], 0x33
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 5], 0x32
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 6], 0x2e
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 7], 0x64
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 8], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
mov byte [esp + 9], 0x6c
nop
test eax, eax
nop
nop
test eax, eax
nop
nop
test eax, eax
nop
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00498e6e
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x30], eax
nop
test eax, eax
nop
mov ecx, ebx
call fcn.004986ea
push ebx
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, edi
call fcn.00498f34
push edi
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x34], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.0049811e
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
push ebx
call fcn.00407020
add esp, 4
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x3c], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.0049811e
push edi
call fcn.00406670
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00498ffa
push ebx
push ebp
call fcn.00406410
add esp, 8
mov dword [esi + 0x44], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.0049811e
push edi
call fcn.00406670
add esp, 4
mov edi, eax
push ebx
call fcn.00407140
add esp, 4
push ebx
push edi
call fcn.00406410
add esp, 8
mov dword [esi + 0x4c], eax
nop
test eax, eax
nop
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret