Function at 0x10036825
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005e8e6
call fcn.1005d528
sub esp, 0x84
cmp byte [ebp + 0x14], 0
mov eax, ecx
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], edi
je 0x100368de
mov dword [ebp - 0x10], 0x68c9
cmp dword [ebp - 0x10], 0x6c63
jle 0x100368a8
xor ebx, ebx
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x90]
and eax, esi
cdq
push edx
push eax
call fcn.10001a6a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003687e
mov eax, dword [eax]
push eax
call fcn.10046acc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x90]
call fcn.1000aac7
inc edi
cmp edi, 0x6ab3
jl 0x10036862
inc esi
cmp esi, 0x78f7
jl 0x10036860
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0
je 0x100368c1
push ecx
push 0x236e
mov edx, 0x7a6a
mov cl, 1
call fcn.1003675f
pop ecx
pop ecx
cmp dword [ebp - 0x10], 0x68a1
jge 0x10036bf6
push str.ghvcqi_yqjgts_dvigxfmg
call fcn.10046acc
pop ecx
jmp 0x10036bf6
mov dword [ebp - 0x18], 0x42b8
cmp dword [ebp - 0x18], 0x4500
push 0
pop ebx
jle 0x10036929
push ebx
push ebx
push ebx
push 0x215f
call dword [sym.imp.GDI32.dll_PolyPolyline]
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x100792f8
xor eax, esi
cdq
push edx
push eax
call fcn.1000a4ec
inc edi
cmp edi, 0x5a2b
jl 0x10036903
inc esi
cmp esi, 0x2612
jl 0x10036901
mov edi, dword [ebp - 0x10]
push 2
pop esi
push esi
lea ecx, [ebp - 0x68]
call fcn.1000a704
push 1
push 0x4f3a
push 0x627f
lea eax, [ebp - 0x40]
mov dword [ebp - 4], esi
push eax
push ebx
push 0x1b6a
push 0x4eb4
push 0x2f12
lea eax, [ebp - 0x68]
mov dword [ebp - 0x44], 0xdf1febae
push eax
push 0x6cb4
push 0x4e5e
push ebx
mov edx, 0x2edb
mov ecx, 0x33e9
call fcn.10036d70
add esp, 0x2c
lea eax, [ebp - 0x68]
mov edx, 0x42d0
push 0x3bf6
push ecx
push ebx
push eax
push 0x111
push 0x6527
push ecx
lea eax, [ebp - 0x44]
mov ecx, 0x3f7f
push 0x1d54
push eax
call fcn.10035c13
add esp, 0x28
lea ecx, [ebp - 0x68]
call fcn.1000a787
xor eax, eax
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], ebx
mov word [ebp - 0x5c], ax
push ebx
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 3
push eax
push ecx
lea eax, [ebp + 0xc]
mov edx, 0x437c
push eax
push ecx
push ecx
push 0x5058
push 0x4cda
push 0x45b5
push 0x4c
pop ecx
call fcn.10035f4e
add esp, 0x10
mov dword [ebp - 0x18], 0xbca6
lea eax, [ebp - 0x11]
mov byte [ebp - 0x11], bl
push eax
push ecx
call fcn.10035c8a
add esp, 0x18
mov byte [ebp - 0x12], bl
xor dl, dl
lea ecx, [ebp - 0x12]
push 0x2b51
call fcn.10035963
mov eax, dword [0x1007d5e4]
test al, 1
pop ecx
pop ecx
jne 0x10036a55
or eax, 1
mov dword [0x1007d5e4], eax
push 0x3a77
mov byte [ebp - 4], 4
call fcn.1001ae3b
mov word [0x1007d5e8], ax
mov byte [ebp - 4], 3
mov eax, dword [0x1007d5e4]
pop ecx
test al, 2
jne 0x10036a79
or eax, esi
mov dword [0x1007d5e4], eax
push 0x1d44
mov byte [ebp - 4], 5
call fcn.1001ae3b
pop ecx
mov word [0x1007e97c], ax
mov byte [ebp - 4], 3
push dword [ebp - 0x40]
lea eax, [ebp - 0x68]
mov dword [ebp - 0x38], ebx
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x34], ebx
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x30], ebx
push ebx
lea ecx, [ebp - 0x38]
movdqu xmmword [ebp - 0x78], xmm0
call fcn.1000d2d6
mov byte [ebp - 4], 6
mov dword [ebp - 0x2c], 0x4a276ac1
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], ebx
jmp 0x10036abf
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x28], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10036ab1
cmp dword [ebp - 0x20], ebx
jne 0x10036b27
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
imul eax, edx
mov edx, dword [ebp - 0x20]
imul edx, eax
mov eax, dword [ebp - 0x38]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x28]
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, esi
setne al
xor edx, edx
cmp eax, esi
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp dword [ebp - 0x20], ecx
jl 0x10036b16
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
cmp dword [eax], ebx
jne 0x10036b27
mov ecx, ebx
jmp 0x10036b2a
xor ecx, ecx
inc ecx
xor eax, eax
mov edx, 0x489f
cmp ecx, 0x800f4d4e
push ebx
setne al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
push 0x111a
push 0x733a
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xfffffffd
push eax
push 0x7c95
push ecx
call fcn.10035adf
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x38]
call fcn.1000a787
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x10036bd9
push 0x4d9c
push 0x441c
push 0x3797
push ecx
push ecx
push ebx
push 0x1b54
push 0x5499
mov edx, 0x71ff
mov ecx, 0x37e3
call fcn.100361d0
call fcn.100358d6
push 0x34
pop ecx
xor edx, edx
div ecx
lea eax, [ebp - 0x3c]
xor cl, cl
push eax
push 0x1007d5e8
push 0x72f7
push 0x1007e97c
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x3c], edx
push eax
push 1
xor dl, dl
call fcn.100365b0
add esp, 0x38
dec esi
jne 0x10036b77
lea eax, [ebp - 0x5c]
cmp edi, eax
je 0x10036beb
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.1000ac65
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.1000ae2f
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret