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.00406cc0
push edi
call fcn.00406680
add esp, 4
mov ebp, eax
lea ebx, [esp + 0x10]
mov ecx, ebx
call fcn.00406d90
push ebx
push ebp
call fcn.00406420
add esp, 8
nop
test eax, eax
nop
mov ecx, ebx
call fcn.00406cc0
push ebx
call fcn.00406680
add esp, 4
mov ebp, eax
mov ecx, edi
call fcn.00406ea0
push edi
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x10], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.00406cc0
push edi
call fcn.00406680
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00406d90
push ebx
push ebp
call fcn.00406420
add esp, 8
mov dword [esi], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.00406cc0
push edi
call fcn.00406680
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00406f70
push ebx
push ebp
call fcn.00406420
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.00407060
nop
test eax, eax
nop
push ebx
call dword [esi + 0x10]
nop
test eax, eax
nop
mov ecx, ebx
call fcn.00407150
nop
test eax, eax
nop
push ebx
call dword [esi + 0x10]
nop
test eax, eax
nop
mov ecx, ebx
call fcn.00407210
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.004072d0
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.00406680
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.004073a0
push ebx
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x50], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.00406cc0
push edi
call fcn.00406680
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00407460
push ebx
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x14], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.00406cc0
push edi
call fcn.00406680
add esp, 4
mov ebp, eax
push ebx
call fcn.00407580
add esp, 4
push ebx
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x18], eax
nop
test eax, eax
nop
mov ecx, ebx
call fcn.00406cc0
push ebx
call fcn.00406680
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.00406420
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.00406680
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.004076a0
push ebx
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x58], eax
nop
test eax, eax
nop
mov ecx, ebx
call fcn.00406cc0
push ebx
call fcn.00406680
add esp, 4
mov ebp, eax
mov ecx, edi
call fcn.004077a0
push edi
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x5c], eax
nop
test eax, eax
nop
mov ecx, ebx
call fcn.00406cc0
push ebx
call fcn.00406680
add esp, 4
mov ebp, eax
mov ecx, edi
call fcn.00407870
push edi
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x1c], eax
nop
test eax, eax
nop
mov ecx, ebx
call fcn.00406cc0
push ebx
call fcn.00406680
add esp, 4
mov ebp, eax
mov ecx, edi
call fcn.00407930
push edi
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x38], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.00406cc0
push edi
call fcn.00406680
add esp, 4
vmovups xmm0, xmmword [0x460406]
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.00406420
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.00406680
add esp, 4
mov ebp, eax
push ebx
call fcn.00407a00
add esp, 4
push ebx
push ebp
call fcn.00406420
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.00406680
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00407b20
push ebx
push ebp
call fcn.00406420
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.00406680
add esp, 4
vmovups xmm0, xmmword [0x460434]
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.00406420
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.00406680
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.00406420
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.00406680
add esp, 4
mov ebp, eax
push ebx
call fcn.00407c00
add esp, 4
push ebx
push ebp
call fcn.00406420
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.00406680
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00407d30
push ebx
push ebp
call fcn.00406420
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.00406680
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.00407e20
push ebx
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x30], eax
nop
test eax, eax
nop
mov ecx, ebx
call fcn.004072d0
push ebx
call fcn.00406680
add esp, 4
mov ebp, eax
mov ecx, edi
call fcn.00407ef0
push edi
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x34], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.00406cc0
push edi
call fcn.00406680
add esp, 4
mov ebp, eax
push ebx
call fcn.00407fc0
add esp, 4
push ebx
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x3c], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.00406cc0
push edi
call fcn.00406680
add esp, 4
mov ebp, eax
mov ecx, ebx
call fcn.004080e0
push ebx
push ebp
call fcn.00406420
add esp, 8
mov dword [esi + 0x44], eax
nop
test eax, eax
nop
mov ecx, edi
call fcn.00406cc0
push edi
call fcn.00406680
add esp, 4
mov edi, eax
push ebx
call fcn.004081e0
add esp, 4
push ebx
push edi
call fcn.00406420
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