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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
movaps xmm0, xmmword [0x41b0f0]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x1d], 0x4c4c4c4c
mov dword [ebp - 0x54], edi
xor ecx, ecx
movups xmmword [ebp - 0x2d], xmm0
mov dword [ebp - 0x19], 0x191c4c4c
mov byte [ebp - 0x15], 0
movsx eax, byte [ebp - 0x2d]
and eax, 0x8000000f
jns 0x409218
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 0x17
jb 0x409208
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x2c]
push eax
push ebx
mov byte [ebp - 0x15], 0
call fcn.00407771
pop ecx
pop ecx
lea eax, [ebp - 0x50]
push eax
call fcn.00407877
mov edx, eax
cmp dword [edx + 0x14], 0xf
jbe 0x409248
mov edx, dword [edx]
mov al, 0x67
mov dword [ebp - 0xf], 0x64316267
mov dword [ebp - 0xb], 0x54505b27
xor ecx, ecx
mov dword [ebp - 7], 0x2c27414c
mov word [ebp - 3], 0x117a
mov byte [ebp - 1], 0
movsx eax, al
and eax, 0x8000000f
jns 0x40927a
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0xe], al
inc ecx
cmp ecx, 0xd
jae 0x409289
mov al, byte [ebp - 0xf]
jmp 0x40926b
push edx
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.00401a42
mov edx, 0xcb9f543d
xor ecx, ecx
call fcn.00404bfc
push 0x10
call eax
and dword [ebp - 0x38], 0
mov edx, 0x963ee464
xor ecx, ecx
mov esi, eax
call fcn.00404bfc
push 0
push 4
lea ecx, [ebp - 0x38]
push ecx
push 4
push esi
call eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x50]
call fcn.00401a09
cmp dword [ebp - 0x3c], 0xf
lea edx, [ebp - 0x50]
mov al, 0x1e
mov dword [ebp - 0xe], 0x6b38691e
cmova edx, dword [ebp - 0x50]
xor ecx, ecx
mov dword [ebp - 0xa], 0x5d53552e
mov dword [ebp - 6], 0x81332e48
mov word [ebp - 2], 0x18
movsx eax, al
and eax, 0x8000000f
jns 0x409317
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0xd], al
inc ecx
cmp ecx, 0xc
jae 0x409326
mov al, byte [ebp - 0xe]
jmp 0x409308
push edx
lea eax, [ebp - 0xd]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.00401a42
mov edx, 0xc93d2e59
xor ecx, ecx
call fcn.00404bfc
push 0x104
lea ecx, [ebp - 0x160]
push ecx
push 0
call eax
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x50]
call fcn.004076f4
cmp dword [ebp - 0x3c], 0xf
lea edx, [ebp - 0x50]
mov cl, 8
mov dword [ebp - 0xf], 0x55225308
cmova edx, dword [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0xb], 0x5c495828
mov dword [ebp - 7], 0x2d283240
mov word [ebp - 3], 0x27b
mov byte [ebp - 1], 0
xor byte [ebp + eax - 0xe], cl
inc eax
cmp eax, 0xd
jae 0x4093a9
mov cl, byte [ebp - 0xf]
jmp 0x40939a
push edx
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.00401a42
movaps xmm0, xmmword [0x41b2a0]
xor ecx, ecx
movups xmmword [ebp - 0x32], xmm0
mov dword [ebp - 0x22], 0x500c7f7b
mov dword [ebp - 0x1e], 0x1111110c
mov dword [ebp - 0x1a], 0x21111111
mov word [ebp - 0x16], 0x26
mov al, byte [ebp - 0x32]
xor byte [ebp + ecx - 0x31], al
inc ecx
cmp ecx, 0x1c
jb 0x4093eb
lea eax, [ebp - 0x31]
mov byte [ebp - 0x15], 0
push eax
push ebx
call fcn.00407771
pop ecx
pop ecx
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.00407e37
mov esi, eax
cmp dword [esi + 0x14], 0xf
jbe 0x40941d
mov esi, dword [esi]
lea eax, [ebp - 0x50]
push eax
call fcn.00408676
mov edx, eax
cmp dword [edx + 0x14], 0xf
jbe 0x409430
mov edx, dword [edx]
movaps xmm0, xmmword [str.6a0cUY_yy]
xor ecx, ecx
movups xmmword [ebp - 0x10], xmm0
movsx eax, byte [ebp - 0x10]
and eax, 0x8000000f
jns 0x40944d
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0xf], al
inc ecx
cmp ecx, 0xe
jb 0x40943d
push esi
push edx
lea eax, [ebp - 0xf]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0x10
lea ecx, [ebp - 0x50]
call fcn.00401a42
lea ecx, [ebp - 0x2c]
call fcn.00401a42
lea eax, [ebp - 0x2c]
push eax
call fcn.00407f49
mov esi, eax
cmp dword [esi + 0x14], 0xf
jbe 0x40948d
mov esi, dword [esi]
mov dl, 0x56
mov dword [ebp - 0xe], 0x63306156
mov dword [ebp - 0xa], 0x4a4f5b26
xor ecx, ecx
mov dword [ebp - 6], 0x792b2640
mov word [ebp - 2], 0x10
movsx eax, dl
and eax, 0x8000000f
jns 0x4094bb
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0xd], al
inc ecx
cmp ecx, 0xc
jae 0x4094ca
mov dl, byte [ebp - 0xe]
jmp 0x4094ac
push esi
lea eax, [ebp - 0xd]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.00407b22
mov esi, eax
cmp dword [esi + 0x14], 0xf
jbe 0x4094f9
mov esi, dword [esi]
mov dl, 0x37
mov dword [ebp - 0xe], 0x64316237
mov dword [ebp - 0xa], 0x604c5227
xor ecx, ecx
mov dword [ebp - 6], 0x7a2c2741
mov word [ebp - 2], 0x11
movsx eax, dl
and eax, 0x8000000f
jns 0x409527
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0xd], al
inc ecx
cmp ecx, 0xc
jae 0x409536
mov dl, byte [ebp - 0xe]
jmp 0x409518
push esi
lea eax, [ebp - 0xd]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
mov edx, 0xbb7b9691
lea ecx, [ebp - 0x50]
call fcn.004146c6
movaps xmm0, xmmword [0x41b000]
lea edx, [ebp - 0x50]
push 0xf
pop esi
cmp dword [ebp - 0x3c], esi
movups xmmword [ebp - 0x11], xmm0
cmova edx, dword [ebp - 0x50]
xor ecx, ecx
mov byte [ebp - 1], 0
mov al, byte [ebp - 0x11]
xor byte [ebp + ecx - 0x10], al
inc ecx
cmp ecx, esi
jb 0x40957b
push edx
lea eax, [ebp - 0x10]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.00401a42
lea eax, [ebp - 0x2c]
push eax
call fcn.0040856b
mov edx, eax
cmp dword [edx + 0x14], esi
jbe 0x4095b3
mov edx, dword [edx]
movaps xmm0, xmmword [0x41b190]
xor ecx, ecx
movups xmmword [ebp - 0x13], xmm0
mov word [ebp - 3], 0x6e17
mov byte [ebp - 1], 0
mov al, byte [ebp - 0x13]
xor byte [ebp + ecx - 0x12], al
inc ecx
cmp ecx, 0x11
jb 0x4095ca
push edx
lea eax, [ebp - 0x12]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
movaps xmm0, xmmword [0x41b240]
xor ecx, ecx
movups xmmword [ebp - 0x2f], xmm0
mov dword [ebp - 0x1f], 0x47475a06
mov dword [ebp - 0x1b], 0x47474747
mov word [ebp - 0x17], 0x7077
mov byte [ebp - 0x15], 0
mov al, byte [ebp - 0x2f]
xor byte [ebp + ecx - 0x2e], al
inc ecx
cmp ecx, 0x19
jb 0x409616
lea eax, [ebp - 0x2e]
mov byte [ebp - 0x15], 0
push eax
push ebx
call fcn.00407771
pop ecx
pop ecx
mov edx, 0xdf8ceecd
lea ecx, [ebp - 0x50]
call fcn.004146c6
cmp dword [ebp - 0x3c], esi
lea edx, [ebp - 0x50]
mov cl, 0x34
mov dword [ebp - 0xf], 0x691e6f34
cmova edx, dword [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0xb], 0x71676114
mov dword [ebp - 7], 0x11140e66
mov word [ebp - 3], 0x3e47
mov byte [ebp - 1], 0
xor byte [ebp + eax - 0xe], cl
inc eax
cmp eax, 0xd
jae 0x40967c
mov cl, byte [ebp - 0xf]
jmp 0x40966d
push edx
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.00401a42
lea eax, [ebp - 0x2c]
push eax
call fcn.00408189
mov edx, eax
cmp dword [edx + 0x14], esi
jbe 0x4096a8
mov edx, dword [edx]
movaps xmm0, xmmword [str.r_X_R:7__HRW]
xor ecx, ecx
movups xmmword [ebp - 0x12], xmm0
mov word [ebp - 2], 0x78
mov al, byte [ebp - 0x12]
xor byte [ebp + ecx - 0x11], al
inc ecx
cmp ecx, 0x10
jb 0x4096bb
push edx
lea eax, [ebp - 0x11]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
movaps xmm0, xmmword [0x41b260]
xor ecx, ecx
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0x274c5948
mov dword [ebp - 0x1f], 0x44442783
mov dword [ebp - 0x1b], 0x44444444
mov word [ebp - 0x17], 0x1114
mov byte [ebp - 0x15], 0
movsx eax, byte [ebp - 0x33]
and eax, 0x8000000f
jns 0x40971e
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 0x1d
jb 0x40970e
lea eax, [ebp - 0x32]
mov byte [ebp - 0x15], 0
push eax
push ebx
call fcn.00407771
pop ecx
pop ecx
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.00407904
mov edx, eax
cmp dword [edx + 0x14], esi
jbe 0x40974c
mov edx, dword [edx]
movaps xmm0, xmmword [0x41b500]
xor ecx, ecx
movups xmmword [ebp - 0x12], xmm0
mov word [ebp - 2], 0x14
movsx eax, byte [ebp - 0x12]
and eax, 0x8000000f
jns 0x40976f
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x11], al
inc ecx
cmp ecx, 0x10
jb 0x40975f
push edx
lea eax, [ebp - 0x11]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.0040838d
mov edx, eax
cmp dword [edx + 0x14], esi
jbe 0x4097a7
mov edx, dword [edx]
mov cl, 0x12
mov dword [ebp - 0xe], 0x4f384912
mov dword [ebp - 0xa], 0x47425132
xor eax, eax
mov dword [ebp - 6], 0x61373228
mov word [ebp - 2], 0x18
xor byte [ebp + eax - 0xd], cl
inc eax
cmp eax, 0xc
jae 0x4097d5
mov cl, byte [ebp - 0xe]
jmp 0x4097c6
push edx
lea eax, [ebp - 0xd]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
mov edx, 0x95c1e65f
lea ecx, [ebp - 0x50]
call fcn.004146c6
cmp dword [ebp - 0x3c], esi
lea edx, [ebp - 0x50]
movaps xmm0, xmmword [0x41afe0]
cmova edx, dword [ebp - 0x50]
xor ecx, ecx
movups xmmword [ebp - 0x11], xmm0
mov byte [ebp - 1], 0
movsx eax, byte [ebp - 0x11]
and eax, 0x8000000f
jns 0x409827
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x10], al
inc ecx
cmp ecx, esi
jb 0x409817
push edx
lea eax, [ebp - 0x10]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.00401a42
lea eax, [ebp - 0x2c]
push eax
call fcn.004080c0
mov ecx, eax
cmp dword [ecx + 0x14], esi
jbe 0x40985c
mov ecx, dword [ecx]
push 6
pop edx
mov byte [ebp - 0xf], dl
xor eax, eax
mov dword [ebp - 0xe], 0x265b2c5d
mov dword [ebp - 0xa], 0x3c4b4754
mov dword [ebp - 6], 0x756e2326
mov word [ebp - 2], 0xc
xor byte [ebp + eax - 0xe], dl
inc eax
cmp eax, 0xd
jae 0x40988e
mov dl, byte [ebp - 0xf]
jmp 0x40987f
push ecx
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
push 7
mov edx, 0x877cebbc
mov dword [ebp - 0x200], 0x1a8
pop ecx
call fcn.00404bfc
push 1
lea ecx, [ebp - 0x200]
push ecx
push 0
push 0
call eax
test eax, eax
jne 0x4098eb
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, esi
and dword [ebp - 0x40], 0
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x50], 0
jmp 0x4098fd
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x50]
call fcn.00401a09
mov eax, dword [ebp - 0x3c]
cmp eax, esi
mov dword [ebp - 0xd], 0x275a2d5c
push 7
lea edx, [ebp - 0x50]
mov dword [ebp - 9], 0x3d525740
cmova edx, dword [ebp - 0x50]
xor eax, eax
pop ecx
mov byte [ebp - 0xe], cl
mov dword [ebp - 5], 0xd742227
mov byte [ebp - 1], 0
xor byte [ebp + eax - 0xd], cl
inc eax
cmp eax, 0xc
jae 0x409936
mov cl, byte [ebp - 0xe]
jmp 0x409927
push edx
lea eax, [ebp - 0xd]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
mov edx, dword [ebp - 0x3c]
add esp, 0xc
cmp edx, esi
jbe 0x409958
mov ecx, dword [ebp - 0x50]
inc edx
call fcn.00401bbe
lea eax, [ebp - 0x2c]
push eax
call fcn.004087ea
mov edx, eax
cmp dword [edx + 0x14], esi
jbe 0x40996a
mov edx, dword [edx]
movaps xmm0, xmmword [0x41b290]
xor ecx, ecx
movups xmmword [ebp - 0x11], xmm0
mov byte [ebp - 1], 0
mov al, byte [ebp - 0x11]
xor byte [ebp + ecx - 0x10], al
inc ecx
cmp ecx, esi
jb 0x40997b
push edx
lea eax, [ebp - 0x10]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
lea eax, [ebp - 0x2c]
push eax
call fcn.0040843c
mov edx, eax
cmp dword [edx + 0x14], esi
jbe 0x4099b3
mov edx, dword [edx]
movaps xmm0, xmmword [0x41b0c0]
xor ecx, ecx
movups xmmword [ebp - 0x13], xmm0
mov word [ebp - 3], 0x127b
mov byte [ebp - 1], 0
movsx eax, byte [ebp - 0x13]
and eax, 0x8000000f
jns 0x4099da
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x12], al
inc ecx
cmp ecx, 0x11
jb 0x4099ca
push edx
lea eax, [ebp - 0x12]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
movaps xmm0, xmmword [0x41b170]
xor ecx, ecx
movups xmmword [ebp - 0x2f], xmm0
mov dword [ebp - 0x1f], 0x23233e62
mov dword [ebp - 0x1b], 0x23232323
mov word [ebp - 0x17], 0x1413
mov byte [ebp - 0x15], 0
mov al, byte [ebp - 0x2f]
xor byte [ebp + ecx - 0x2e], al
inc ecx
cmp ecx, 0x19
jb 0x409a23
lea eax, [ebp - 0x2e]
mov byte [ebp - 0x15], 0
push eax
push ebx
call fcn.00407771
pop ecx
pop ecx
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.0040888c
mov edx, eax
cmp dword [edx + 0x14], esi
jbe 0x409a54
mov edx, dword [edx]
push 0x67
pop eax
mov byte [ebp - 0x38], al
xor ecx, ecx
mov word [ebp - 0x37], 0x7a2c
mov byte [ebp - 0x35], 0
movsx eax, al
and eax, 0x8000000f
jns 0x409a75
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 2
jae 0x409a84
mov al, byte [ebp - 0x38]
jmp 0x409a66
push edx
lea eax, [ebp - 0x37]
mov byte [ebp - 0x35], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
movaps xmm0, xmmword [0x41b1d0]
xor ecx, ecx
movups xmmword [ebp - 0x34], xmm0
movaps xmm0, xmmword [str.S_WA2n2______]
movups xmmword [ebp - 0x24], xmm0
mov al, byte [ebp - 0x34]
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0x1e
jb 0x409ab6
lea eax, [ebp - 0x33]
mov byte [ebp - 0x15], 0
push eax
push ebx
call fcn.00407771
movaps xmm0, xmmword [0x41aff0]
pop ecx
pop ecx
movups xmmword [ebp - 0x11], xmm0
mov byte [ebp - 1], 0
xor ecx, ecx
movsx eax, byte [ebp - 0x11]
and eax, 0x8000000f
jns 0x409af4
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x10], al
inc ecx
cmp ecx, esi
jb 0x409ae4
lea eax, [ebp - 0x10]
mov byte [ebp - 1], 0
push eax
push ebx
call fcn.00407771
pop ecx
pop ecx
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.00408d03
mov edx, eax
cmp dword [edx + 0x14], esi
jbe 0x409b21
mov edx, dword [edx]
push 0x1e
pop eax
mov byte [ebp + 8], al
xor ecx, ecx
mov word [ebp + 9], 0x8133
mov byte [ebp + 0xb], 0
movsx eax, al
and eax, 0x8000000f
jns 0x409b42
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx + 9], al
inc ecx
cmp ecx, 2
jae 0x409b51
mov al, byte [ebp + 8]
jmp 0x409b33
push edx
lea eax, [ebp + 9]
mov byte [ebp + 0xb], 0
push eax
push ebx
call fcn.00407771
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401a42
pop edi
pop esi
pop ebx
leave
ret 8