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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
push ebx
mov dword [0x419778], ecx
mov ecx, 0x41970c
push esi
call fcn.00407c6f
mov ecx, 0x419564
call fcn.00407c6f
mov ecx, 0x4196ec
call fcn.00407c6f
mov edx, 0x4148b9
mov ecx, 0x419734
call fcn.00401a10
mov edx, 0x4140b1
mov ecx, 0x4196a4
call fcn.00401a10
mov edx, 0x4144b5
mov ecx, 0x419560
call fcn.00401a10
push 0x419588
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebp - 0x34], 0x6c
mov eax, dword [ebp - 0x34]
xor al, 0x73
mov byte [ebp - 0x30], al
mov eax, dword [ebp - 0x34]
inc al
mov byte [ebp - 0x2f], al
mov eax, dword [ebp - 0x34]
add al, 2
xor al, 0x75
mov byte [ebp - 0x2e], al
mov eax, dword [ebp - 0x34]
add al, 3
mov byte [ebp - 0x2d], al
mov eax, dword [ebp - 0x34]
add al, 4
xor al, 0x63
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x34]
add al, 5
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x34]
add al, 6
xor al, 0x63
mov byte [ebp - 0x2a], al
mov eax, dword [ebp - 0x34]
add al, 7
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x34]
add al, 8
xor al, 0x65
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x34]
add al, 9
mov byte [ebp - 0x27], al
mov eax, dword [ebp - 0x34]
add al, 0xa
xor al, 0x73
mov byte [ebp - 0x26], al
mov eax, dword [ebp - 0x34]
add al, 0xb
mov byte [ebp - 0x25], al
mov eax, dword [ebp - 0x34]
add al, 0xc
xor al, 0x73
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 0x34]
add al, 0xd
mov byte [ebp - 0x23], al
mov eax, dword [ebp - 0x34]
add al, 0xe
xor ebx, ebx
mov byte [ebp - 0x22], al
mov edx, ebx
mov al, byte [ebp - 0x30]
mov byte [ebp - 0x21], bl
mov al, byte [ebp + edx - 0x30]
mov ecx, dword [ebp - 0x34]
add cl, dl
xor cl, al
mov byte [ebp + edx - 0x30], cl
inc edx
cmp edx, 0xf
jb 0x409744
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x30]
push eax
push 0x4195a0
mov byte [ebp - 0x21], bl
call esi
mov dword [ebp - 0x20], 0x44
mov eax, dword [ebp - 0x20]
xor al, 0x6f
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x20]
inc al
mov byte [ebp - 0x1b], al
mov eax, dword [ebp - 0x20]
add al, 2
xor al, 0x75
mov byte [ebp - 0x1a], al
mov eax, dword [ebp - 0x20]
add al, 3
mov byte [ebp - 0x19], al
mov eax, dword [ebp - 0x20]
add al, 4
xor al, 0x74
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x20]
add al, 5
mov byte [ebp - 0x17], al
mov eax, dword [ebp - 0x20]
add al, 6
xor al, 0x20
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 0x20]
add al, 7
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0x20]
add al, 8
xor al, 0x6f
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x20]
add al, 9
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x20]
add al, 0xa
xor al, 0x66
mov byte [ebp - 0x12], al
mov eax, dword [ebp - 0x20]
add al, 0xb
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0x20]
add al, 0xc
xor al, 0x20
mov byte [ebp - 0x10], al
mov eax, dword [ebp - 0x20]
add al, 0xd
mov byte [ebp - 0xf], al
mov eax, dword [ebp - 0x20]
add al, 0xe
xor al, 0x6d
mov byte [ebp - 0xe], al
mov eax, dword [ebp - 0x20]
add al, 0xf
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 0x20]
add al, 0x10
xor al, 0x65
mov byte [ebp - 0xc], al
mov eax, dword [ebp - 0x20]
add al, 0x11
mov byte [ebp - 0xb], al
mov eax, dword [ebp - 0x20]
add al, 0x12
xor al, 0x6d
mov byte [ebp - 0xa], al
mov eax, dword [ebp - 0x20]
add al, 0x13
mov byte [ebp - 9], al
mov eax, dword [ebp - 0x20]
add al, 0x14
xor al, 0x6f
mov byte [ebp - 8], al
mov eax, dword [ebp - 0x20]
add al, 0x15
mov edx, ebx
mov byte [ebp - 7], al
mov eax, dword [ebp - 0x20]
add al, 0x16
xor al, 0x72
mov byte [ebp - 6], al
mov eax, dword [ebp - 0x20]
add al, 0x17
mov byte [ebp - 5], al
mov eax, dword [ebp - 0x20]
add al, 0x18
xor al, 0x79
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x20]
add al, 0x19
mov byte [ebp - 3], al
mov eax, dword [ebp - 0x20]
add al, 0x1a
mov byte [ebp - 1], bl
mov byte [ebp - 2], al
mov al, byte [ebp - 0x1c]
mov al, byte [ebp + edx - 0x1c]
mov ecx, dword [ebp - 0x20]
add cl, dl
xor cl, al
mov byte [ebp + edx - 0x1c], cl
inc edx
cmp edx, 0x1b
jb 0x40986c
lea eax, [ebp - 0x1c]
mov byte [ebp - 1], bl
push eax
push 0x4195e0
call esi
mov dword [ebp - 0x84], 0x70
mov edx, ebx
mov byte [ebp - 0x80], 0x1e
mov byte [ebp - 0x7f], 0x70
mov byte [ebp - 0x7e], 0x1f
mov byte [ebp - 0x7d], 0x70
mov byte [ebp - 0x7c], 0x50
mov byte [ebp - 0x7b], 0x70
mov byte [ebp - 0x7a], 0x11
mov byte [ebp - 0x79], 0x70
mov byte [ebp - 0x78], 0x13
mov byte [ebp - 0x77], 0x70
mov byte [ebp - 0x76], 0x13
mov byte [ebp - 0x75], 0x70
mov byte [ebp - 0x74], 0x15
mov byte [ebp - 0x73], 0x70
mov byte [ebp - 0x72], 3
mov byte [ebp - 0x71], 0x70
mov byte [ebp - 0x70], 3
mov byte [ebp - 0x6f], 0x70
mov byte [ebp - 0x6e], 0x70
mov al, byte [ebp - 0x80]
mov byte [ebp - 0x6d], bl
mov al, byte [ebp + edx - 0x80]
mov ecx, dword [ebp - 0x84]
xor cl, al
mov byte [ebp + edx - 0x80], cl
inc edx
cmp edx, 0x13
jb 0x4098ed
lea eax, [ebp - 0x80]
mov byte [ebp - 0x6d], bl
push eax
push 0x419738
call esi
mov byte [ebp - 0x6c], 0x77
mov byte [ebp - 0x6b], 3
mov byte [ebp - 0x6a], 0x72
mov byte [ebp - 0x69], 3
mov byte [ebp - 0x68], 0x72
mov byte [ebp - 0x67], 3
mov byte [ebp - 0x66], 0x23
mov byte [ebp - 0x65], 3
mov byte [ebp - 0x64], 0x76
mov byte [ebp - 0x63], 3
mov byte [ebp - 0x62], 0x70
mov byte [ebp - 0x61], 3
mov byte [ebp - 0x60], 0x64
mov byte [ebp - 0x5f], 3
mov byte [ebp - 0x5e], 0x6f
mov byte [ebp - 0x5d], 3
mov byte [ebp - 0x5c], 0x6f
mov byte [ebp - 0x5b], 3
mov byte [ebp - 0x5a], 3
mov byte [ebp - 0x59], bl
mov al, byte [ebp - 0x6c]
mov eax, ebx
sub byte [ebp + eax - 0x6c], 3
inc eax
cmp eax, 0x13
jb 0x409965
lea eax, [ebp - 0x6c]
push eax
push 0x419660
call esi
mov dword [ebp - 0x48], 0x33
mov edx, ebx
mov eax, dword [ebp - 0x48]
xor al, 0x61
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x48]
inc al
mov byte [ebp - 0x43], al
mov eax, dword [ebp - 0x48]
add al, 2
xor al, 0x6c
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x48]
add al, 3
mov byte [ebp - 0x41], al
mov eax, dword [ebp - 0x48]
add al, 4
xor al, 0x72
mov byte [ebp - 0x40], al
mov eax, dword [ebp - 0x48]
add al, 5
mov byte [ebp - 0x3f], al
mov eax, dword [ebp - 0x48]
add al, 6
xor al, 0x65
mov byte [ebp - 0x3e], al
mov eax, dword [ebp - 0x48]
add al, 7
mov byte [ebp - 0x3d], al
mov eax, dword [ebp - 0x48]
add al, 8
xor al, 0x61
mov byte [ebp - 0x3c], al
mov eax, dword [ebp - 0x48]
add al, 9
mov byte [ebp - 0x3b], al
mov eax, dword [ebp - 0x48]
add al, 0xa
xor al, 0x64
mov byte [ebp - 0x3a], al
mov eax, dword [ebp - 0x48]
add al, 0xb
mov byte [ebp - 0x39], al
mov eax, dword [ebp - 0x48]
add al, 0xc
xor al, 0x79
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 0x48]
add al, 0xd
mov byte [ebp - 0x37], al
mov eax, dword [ebp - 0x48]
add al, 0xe
mov byte [ebp - 0x35], bl
mov byte [ebp - 0x36], al
mov al, byte [ebp - 0x44]
mov al, byte [ebp + edx - 0x44]
mov ecx, dword [ebp - 0x48]
add cl, dl
xor cl, al
mov byte [ebp + edx - 0x44], cl
inc edx
cmp edx, 0xf
jb 0x409a0e
lea eax, [ebp - 0x44]
mov byte [ebp - 0x35], bl
push eax
push 0x419620
call esi
mov byte [ebp - 0x58], 0x65
mov byte [ebp - 0x57], 2
mov byte [ebp - 0x56], 0x71
mov byte [ebp - 0x55], 2
mov byte [ebp - 0x54], 0x74
mov byte [ebp - 0x53], 2
mov byte [ebp - 0x52], 0x74
mov byte [ebp - 0x51], 2
mov byte [ebp - 0x50], 0x77
mov byte [ebp - 0x4f], 2
mov byte [ebp - 0x4e], 0x72
mov byte [ebp - 0x4d], 2
mov byte [ebp - 0x4c], 0x76
mov byte [ebp - 0x4b], 2
mov byte [ebp - 0x4a], 2
mov byte [ebp - 0x49], bl
mov al, byte [ebp - 0x58]
sub byte [ebp + ebx - 0x58], 2
inc ebx
cmp ebx, 0xf
jb 0x409a73
lea eax, [ebp - 0x58]
push eax
push 0x4196a8
call esi
pop esi
pop ebx
leave
ret