Function at 0x10001840
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x574
mov eax, dword [0x101151b0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov ebx, edx
push 0
mov edi, ecx
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x49c], ebx
mov dword [ebp - 0x4a0], esi
call fcn.100bc6c1
add esp, 4
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4a4], edx
test ebx, ebx
je 0x10001c8f
test esi, esi
je 0x10001c8f
mov dl, byte [0x1010f2c4]
mov ecx, dword [0x1010f2c0]
mov eax, 0x20202020
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov word [ebp - 0x1c], ax
mov eax, edi
mov byte [ebp - 0x14], dl
mov dword [ebp - 0x18], ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100018e2
sub eax, edx
cmp eax, 0xf
jae 0x1000190e
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100018f5
sub eax, edx
push eax
lea eax, [ebp - 0x13]
push edi
push eax
call fcn.100be0a0
add esp, 0xc
jmp 0x1000192d
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
mov dword [ebp - 0x13], ecx
mov cx, word [edi + 0xc]
mov dword [ebp - 0xf], edx
mov dl, byte [edi + 0xe]
mov dword [ebp - 0xb], eax
mov word [ebp - 7], cx
mov byte [ebp - 5], dl
mov eax, dword [0x1010f2c8]
mov esi, dword [ebp - 0x47c]
mov cl, byte [0x1010f2cc]
mov dword [ebp - 0x40], eax
mov eax, esi
mov byte [ebp - 0x3c], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10001950
sub eax, edx
cmp eax, 0x21
jae 0x1000197c
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10001963
sub eax, edx
push eax
lea edx, [ebp - 0x3b]
push esi
push edx
call fcn.100be0a0
add esp, 0xc
jmp 0x10001987
mov ecx, 8
lea edi, [ebp - 0x3b]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0x400
lea eax, [ebp - 0x478]
push 0
push eax
call fcn.100be020
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x478], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x468], ecx
mov dword [ebp - 0x470], edx
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x474], ebx
mov ecx, 9
lea esi, [ebp - 0x40]
lea edi, [ebp - 0x464]
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x32
lea edx, [ebp - 0x74]
push 0
push edx
movsw word es:[edi], word [esi]
call fcn.100be020
lea eax, [ebp - 0x4a8]
add esp, 0xc
push eax
call fcn.100bd499
add esp, 4
push eax
push str._Y_m_d_H_M_S
lea ecx, [ebp - 0x74]
push 0x32
push ecx
call fcn.100bd1f2
lea eax, [ebp - 0x74]
add esp, 0x10
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10001a15
sub eax, esi
mov edx, 0x2020
mov word [ebp + eax - 0x74], dx
push 0x1010f2ac
lea edi, [ebp - 0x480]
lea esi, [ebp - 0x74]
mov dl, 1
call fcn.100010b0
add esp, 4
push 0x1010f2b4
lea edi, [ebp - 0x488]
lea esi, [ebp - 0x480]
mov dl, 2
call fcn.100010b0
add esp, 4
push 0x1010f2ac
lea edi, [ebp - 0x498]
lea esi, [ebp - 0x488]
mov dl, 1
call fcn.100010b0
add esp, 4
push 0x1010f2ac
lea edi, [ebp - 0x488]
lea esi, [ebp - 0x6c]
mov dl, 1
call fcn.100010b0
add esp, 4
push 0x1010f2b4
lea edi, [ebp - 0x480]
lea esi, [ebp - 0x488]
mov dl, 2
call fcn.100010b0
add esp, 4
push 0x1010f2ac
lea edi, [ebp - 0x490]
lea esi, [ebp - 0x480]
mov dl, 1
call fcn.100010b0
add esp, 4
push 0xc8
lea eax, [ebp - 0x570]
push 0x20
push eax
call fcn.100be020
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x568], edx
lea edx, [ebp - 0x498]
add esp, 0xc
mov dword [ebp - 0x570], ecx
mov ecx, dword [ebp - 8]
push edx
lea edi, [ebp - 0x488]
lea esi, [ebp - 0x570]
mov dl, 1
mov dword [ebp - 0x56c], ebx
mov dword [ebp - 0x564], eax
mov dword [ebp - 0x560], ecx
call fcn.100010b0
lea eax, [ebp - 0x490]
add esp, 4
push eax
lea edi, [ebp - 0x480]
lea esi, [ebp - 0x488]
mov dl, 2
call fcn.100010b0
lea ecx, [ebp - 0x498]
add esp, 4
push ecx
lea edi, [ebp - 0x43e]
lea esi, [ebp - 0x480]
mov dl, 1
call fcn.100010b0
lea edx, [ebp - 0x498]
add esp, 4
push edx
lea edi, [ebp - 0x488]
lea esi, [ebp - 0x568]
mov dl, 1
call fcn.100010b0
lea eax, [ebp - 0x490]
add esp, 4
push eax
lea edi, [ebp - 0x480]
lea esi, [ebp - 0x488]
mov dl, 2
call fcn.100010b0
lea ecx, [ebp - 0x498]
add esp, 4
push ecx
lea edi, [ebp - 0x436]
lea esi, [ebp - 0x480]
mov dl, 1
call fcn.100010b0
lea edx, [ebp - 0x498]
add esp, 4
push edx
lea edi, [ebp - 0x488]
lea esi, [ebp - 0x560]
mov dl, 1
call fcn.100010b0
lea eax, [ebp - 0x490]
add esp, 4
push eax
lea edi, [ebp - 0x480]
lea esi, [ebp - 0x488]
mov dl, 2
call fcn.100010b0
lea ecx, [ebp - 0x498]
add esp, 4
push ecx
lea edi, [ebp - 0x42e]
lea esi, [ebp - 0x480]
mov dl, 1
call fcn.100010b0
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x426], edx
mov dx, word [ebp - 0x68]
mov dword [ebp - 0x422], eax
add esp, 4
mov dword [ebp - 0x41e], ecx
xor al, al
mov word [ebp - 0x41a], dx
xor ecx, ecx
xor al, byte [ebp + ecx - 0x74]
add ecx, 2
xor al, byte [ebp + ecx - 0x75]
cmp ecx, 0xe
jl 0x10001c33
mov esi, dword [ebp - 0x4a0]
mov byte [ebp - 0x418], al
mov eax, dword [ebp - 0x49c]
mov dword [esi], 0
mov word [eax], 0x6100
add dword [esi], 2
mov ecx, dword [esi]
push 0x61
lea edx, [ebp - 0x478]
push edx
add ecx, eax
push ecx
call fcn.100be0a0
add dword [esi], 0x61
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100bc5e4
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 0xfffffc12
pop ebx
call fcn.100bc5e4
mov esp, ebp
pop ebp
ret