Function at 0x1403d30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1444d40
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
push 0x457d778
push 0x50
call fcn.0142362e
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
je 0x140420f
lea ecx, [eax + 0x38]
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov dl, 0x57
mov dword [eax + 0x40], 0
add eax, 0x44
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x38], ecx
mov ecx, 0x44
mov dword [ebp - 0x28], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
push edi
mov edi, dword [ebp + 8]
cmp esi, ecx
jbe 0x1403dc1
nop dword [eax]
xor byte [ecx + edi], dl
lea eax, [ecx + edi]
mov al, byte [eax]
inc ecx
add al, 0x57
add dl, al
cmp ecx, esi
jb 0x1403db0
lea ecx, [edi + 0x44]
cmp ecx, edi
jb 0x14041f2
lea edx, [edi + esi]
lea eax, [ecx + 0x18]
cmp eax, edx
jae 0x14041f2
mov esi, dword [ebp - 0x14]
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esi + 0x10], xmm0
xor dword [esi + 8], 0x7a32bc85
xor dword [esi + 0xc], 0x49c042d1
add dword [esi + 0x10], 0xfffffff4
xor dword [esi + 0x14], 0x872c3d47
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
lea esi, [edi + 0x5c]
mov dword [ebp - 0x30], esi
cmp esi, edi
jb 0x14041f2
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
cmp eax, edx
jae 0x14041f2
xor eax, eax
mov dword [ebp - 0x1c], eax
nop dword [eax + eax]
movzx eax, ax
lea eax, [eax + eax*4]
mov edi, dword [esi + eax*4]
lea ecx, [esi + eax*4]
mov eax, dword [ebp + 0x10]
mov esi, dword [ecx + 4]
mov dword [ebp - 0x20], ecx
cmp edi, eax
jb 0x14041f2
add eax, dword [ebp + 0x14]
lea edx, [esi + edi]
mov dword [ebp - 0x34], edx
cmp edx, eax
jae 0x14041f2
mov edx, dword [ecx + 8]
cmp esi, edx
jbe 0x1403eae
mov eax, esi
sub eax, edx
push eax
lea eax, [edx + edi]
push 0
push eax
call fcn.01425cc0
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
add eax, dword [ebp + 8]
push edx
push eax
push edi
call fcn.01425740
add esp, 0xc
cmp word [ebp - 0x1c], 0
jne 0x1403ed1
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], esi
jmp 0x1403f46
cmp esi, 0x10000
jbe 0x1403f43
push 0xa
push 0x44467a8
push esi
push edi
call fcn.01404c30
add esp, 0x10
test eax, eax
je 0x1403f38
push 9
push 0x44467b4
push esi
push edi
call fcn.01404c30
add esp, 0x10
test eax, eax
je 0x1403f38
push 0x24
push str.Microsoft_Visual_C_Runtime_Library
push esi
push edi
call fcn.01404c30
add esp, 0x10
test eax, eax
je 0x1403f43
push 0x24
push str.JanFebMarAprMayJunJulAugSepOctNovDec
push esi
push edi
call fcn.01404c30
add esp, 0x10
test eax, eax
mov eax, dword [ebp - 0x14]
je 0x1403f46
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], esi
jmp 0x1403f46
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], esi
jmp 0x1403f46
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0xc]
lea eax, [ecx + edx]
cmp eax, dword [ebp - 0x34]
jae 0x1403f61
sub esi, edx
lea ecx, [esi + edi]
mov esi, dword [ebp - 0x14]
mov dword [esi + 0x1c], ecx
jmp 0x1403f64
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x10], 0
je 0x1403f73
mov eax, dword [eax + 0xc]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x1c]
inc eax
cmp ax, word [esi + 4]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jbe 0x1403e60
mov esi, dword [ebp + 0x10]
cmp edx, esi
jb 0x14041f2
mov edi, dword [ebp + 0x14]
lea eax, [edx + ecx]
add edi, esi
mov dword [ebp - 0x34], edi
cmp eax, edi
jae 0x14041f2
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x14]
cmp ecx, esi
jb 0x14041f2
lea eax, [ecx + 0x14]
mov dword [ebp - 0x24], eax
cmp eax, edi
jae 0x14041f2
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x14041e0
nop dword [eax]
mov eax, dword [edx + 0xc]
add eax, ecx
xor edx, edx
mov dword [ebp - 0x18], eax
lea ecx, [eax + 1]
nop dword [eax]
cmp eax, esi
jb 0x14041f2
cmp ecx, edi
jae 0x14041f2
cmp byte [eax], 0
je 0x1403ffd
inc edx
inc eax
inc ecx
cmp edx, 0x40
jb 0x1403fe0
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x14041f2
mov edx, dword [ebp - 0x38]
mov ecx, dword [edx + 4]
cmp ecx, dword [edx + 8]
je 0x1404024
mov dword [ecx], eax
add dword [edx + 4], 4
jmp 0x1404030
lea eax, [ebp - 0x1c]
push eax
push ecx
mov ecx, edx
call fcn.01401c80
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ecx - 4]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0x20], ecx
cmp ecx, esi
jb 0x14041f2
lea eax, [ecx + 4]
mov dword [ebp - 0x30], eax
cmp eax, edi
jae 0x14041f2
mov esi, dword [ecx]
test esi, esi
je 0x14041c1
mov eax, dword [ebp + 0x10]
mov byte [ebp - 0xd], 0
test esi, esi
jns 0x1404077
and esi, 0x7fffffff
mov al, 1
mov dword [ebp - 0x2c], esi
jmp 0x14040c9
mov ecx, dword [edx + 0xc]
add ecx, esi
cmp ecx, eax
jb 0x14041f2
lea eax, [ecx + 4]
cmp eax, edi
jae 0x14041f2
lea esi, [ecx + 2]
xor eax, eax
mov dword [ebp - 0x2c], esi
lea edi, [ecx + 3]
nop word [eax + eax]
lea edx, [esi + eax]
cmp edx, dword [ebp + 0x10]
jb 0x14041f2
lea ecx, [edi + eax]
cmp ecx, dword [ebp - 0x34]
jae 0x14041f2
cmp byte [edx], 0
je 0x14040c3
inc eax
cmp eax, 0x40
jb 0x14040a0
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0x20]
test esi, esi
je 0x14041f2
test al, al
jne 0x1404188
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
mov edi, dword [eax + 4]
cmp edi, dword [eax + 8]
je 0x1404170
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov dword [edi], ecx
lea ecx, [edi + 8]
mov dword [edi + 4], eax
lea eax, [edx + 1]
mov dword [ebp - 0x3c], edi
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 0x2c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x1404116
sub edx, dword [ebp - 0x2c]
push edx
push dword [ebp - 0x18]
call fcn.01404410
lea ecx, [edi + 0x20]
mov dword [ebp - 4], 0
mov edx, esi
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
lea edi, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x1404150
sub edx, edi
push edx
push esi
call fcn.01404410
mov eax, dword [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
add dword [eax + 4], 0x38
jmp 0x1404188
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x3c]
push ecx
push edi
mov ecx, eax
call fcn.01403380
push esi
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
add edx, 4
mov dword [ebp - 0x30], edx
mov dword [ecx], eax
add ecx, 4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jb 0x14041f2
mov edi, dword [ebp - 0x34]
cmp edx, edi
jae 0x14041f2
mov esi, dword [ecx]
mov edx, dword [ebp - 0x14]
test esi, esi
jne 0x1404062
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp + 0x10]
cmp eax, esi
jb 0x14041f2
lea ecx, [eax + 0x14]
mov dword [ebp - 0x24], ecx
cmp ecx, edi
jae 0x14041f2
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x1403fd0
pop edi
mov eax, edx
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x14]
call fcn.01403a80
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
xor eax, eax
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret