Function at 0x403802
Capabilities:
Encode data using xor
Identify system language via api

Disassembly:
push 0x74
mov eax, 0x42d0d8
call fcn.0041992a
mov dword [ebp - 4], 2
lea edi, [ebp - 0x74]
mov esi, str.l_WGCZDdzUTWT_L_
xor ebx, ebx
push 0x35
mov ecx, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x74], dl
inc ecx
cmp ecx, 0x11
jl 0x403829
lea eax, [ebp - 0x74]
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x5c]
call fcn.004044fb
pop ecx
mov esi, 0x43848c
mov byte [ebp - 4], 3
cmp byte [0x438495], 0
lea edi, [ebp - 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x40387d
push 0x35
mov ecx, ebx
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x6c], dl
inc ecx
cmp ecx, 0xa
jl 0x40386a
sub esp, 0x18
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.00404293
call fcn.00407a04
mov esi, str.SY_YP
lea edi, [ebp - 0x6c]
add esp, 0x18
mov ecx, ebx
movsd dword es:[edi], dword [esi]
push 0x35
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x6c], dl
inc ecx
cmp ecx, 0xb
jl 0x4038a5
sub esp, 0x18
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.00404293
call fcn.00407a04
mov esi, str._BWWSP
lea edi, [ebp - 0x6c]
add esp, 0x18
mov ecx, ebx
movsd dword es:[edi], dword [esi]
push 0x35
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x6c], dl
inc ecx
cmp ecx, 0xb
jl 0x4038e0
sub esp, 0x18
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.00404293
call fcn.00407a04
mov esi, str._AWAUeSO_9
lea edi, [ebp - 0x6c]
add esp, 0x18
cmp byte [0x438035], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x403936
push 0x35
mov ecx, ebx
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x6c], dl
inc ecx
cmp ecx, 0xa
jl 0x403923
sub esp, 0x18
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.00404293
call fcn.00407a04
mov esi, str.QE_
lea edi, [ebp - 0x6c]
add esp, 0x18
mov ecx, ebx
movsd dword es:[edi], dword [esi]
push 0x35
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x6c], dl
inc ecx
cmp ecx, 9
jl 0x40395c
sub esp, 0x18
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.00404293
call fcn.00407a04
mov esi, 0x4383a8
lea edi, [ebp - 0x6c]
add esp, 0x18
mov ecx, ebx
movsd dword es:[edi], dword [esi]
push 0x35
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x6c], dl
inc ecx
cmp ecx, 0xb
jl 0x403997
sub esp, 0x18
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.00404293
call fcn.00407a04
mov esi, 0x4382ac
lea edi, [ebp - 0x6c]
add esp, 0x18
cmp byte [0x4382b7], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x4039ec
push 0x35
mov ecx, ebx
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x6c], dl
inc ecx
cmp ecx, 0xc
jl 0x4039d9
sub esp, 0x18
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.00404293
call fcn.00407a04
mov esi, 0x438400
lea edi, [ebp - 0x70]
add esp, 0x18
mov ecx, ebx
movsd dword es:[edi], dword [esi]
push 0x35
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x70], dl
inc ecx
cmp ecx, 0xf
jl 0x403a15
sub esp, 0x18
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.00404293
call fcn.00407a04
mov esi, 0x4381ec
lea edi, [ebp - 0x6c]
add esp, 0x18
cmp byte [0x4381f7], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x403a6a
push 0x35
mov ecx, ebx
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x6c], dl
inc ecx
cmp ecx, 0xc
jl 0x403a57
sub esp, 0x18
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.00404293
call fcn.00407a04
lea eax, [ebp + 0x38]
mov dword [ebp - 0x60], esp
mov ecx, esp
push eax
call fcn.004042cc
sub esp, 0x18
mov byte [ebp - 4], 4
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.004042cc
mov byte [ebp - 4], 3
call fcn.004137dc
add esp, 0x30
lea ecx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0xf
cmova ecx, dword [ebp - 0x5c]
call fcn.00407216
test al, al
je 0x403b1a
sub esp, 0x18
lea eax, [ebp + 0x20]
cmp dword [ebp + 0x34], 0xf
mov esi, esp
mov dword [ebp - 0x7c], esp
cmova eax, dword [ebp + 0x20]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00404293
mov ecx, esi
call fcn.004029e3
mov byte [ebp - 4], 5
lea eax, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0xf
mov ecx, esp
mov dword [ebp - 0x60], esp
cmova eax, dword [ebp - 0x5c]
push eax
call fcn.00404293
sub esp, 0x18
mov byte [ebp - 4], 6
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.004042cc
mov byte [ebp - 4], 3
call fcn.00402c36
add esp, 0x48
cmp byte [0x43848b], 0
lea edi, [ebp - 0x6c]
mov esi, str.l_T__
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x403b46
push 0x35
mov ecx, ebx
pop esi
xor edx, edx
mov eax, ecx
div esi
add dl, 0x30
xor byte [ebp + ecx - 0x6c], dl
inc ecx
cmp ecx, 0xc
jl 0x403b33
lea eax, [ebp - 0x6c]
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x44]
call fcn.004044fb
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0xf
cmova ecx, dword [ebp - 0x44]
call fcn.00407216
test al, al
je 0x403bb6
sub esp, 0x18
lea eax, [ebp + 0x20]
cmp dword [ebp + 0x34], 0xf
mov esi, esp
mov dword [ebp - 0x80], esp
cmova eax, dword [ebp + 0x20]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00404293
mov ecx, esi
call fcn.004029e3
mov byte [ebp - 4], 8
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 0xf
mov ecx, esp
cmova eax, dword [ebp - 0x44]
push eax
call fcn.00404293
mov byte [ebp - 4], 7
call fcn.0040353f
add esp, 0x30
cmp byte [0x438455], 0
lea edi, [ebp - 0x6c]
mov esi, str.lfWQ
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x403be1
push 0x35
pop ecx
xor edx, edx
mov eax, ebx
div ecx
add dl, 0x30
xor byte [ebp + ebx - 0x6c], dl
inc ebx
cmp ebx, 0xa
jl 0x403bce
lea eax, [ebp - 0x6c]
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x2c]
call fcn.004044fb
pop ecx
push 0xf
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2c]
pop ebx
cmp dword [ebp - 0x18], ebx
cmova ecx, dword [ebp - 0x2c]
call fcn.00407216
test al, al
je 0x403c91
cmp dword [ebp - 0x18], ebx
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x78]
cmova eax, dword [ebp - 0x2c]
push eax
call fcn.00404293
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xa
call fcn.004030fb
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 9
call fcn.004025e6
call fcn.0040d531
test al, al
je 0x403c91
cmp dword [ebp - 0x18], ebx
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x78]
cmova eax, dword [ebp - 0x2c]
push eax
call fcn.00404293
sub esp, 0x18
mov byte [ebp - 4], 0xb
cmp dword [ebp + 0x34], ebx
lea eax, [ebp + 0x20]
mov esi, esp
cmova eax, dword [ebp + 0x20]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00404293
mov ecx, esi
call fcn.004029e3
add esp, 0x18
lea ecx, [ebp - 0x78]
call fcn.004032ca
add esp, 0x18
lea ecx, [ebp - 0x78]
call fcn.004025e6
lea ecx, [ebp - 0x2c]
call fcn.004025e6
lea ecx, [ebp - 0x44]
call fcn.004025e6
lea ecx, [ebp - 0x5c]
call fcn.004025e6
lea ecx, [ebp + 8]
call fcn.004025e6
lea ecx, [ebp + 0x20]
call fcn.004025e6
lea ecx, [ebp + 0x38]
call fcn.004025e6
call fcn.004198d9
ret