Function at 0x140125860
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rbp - 0x10], rcx
mov eax, dword [0x14018ed2c]
mov ecx, dword [0x14018ed30]
xor edx, edx
div ecx
mov edx, eax
add edx, 0x928ca355
mov eax, edx
and eax, 0x39f938f7
xor edx, 0xb9f938f7
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx*2]
xor eax, 0x37653d5b
mov dword [rbp - 0x1c], eax
mov eax, 0x10
call fcn.14014d730
sub rsp, rax
mov eax, dword [rbp - 0x1c]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
cmp eax, 0xd35ac688
je 0x140125e55
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
mov qword [rax], rcx
mov rax, qword [rax]
mov qword [rbp - 0x28], rax
mov rcx, qword [rbp - 0x28]
mov edx, dword [0x14018ed4c]
mov eax, dword [0x14018ed50]
xor edx, 0xffffffff
xor eax, 0xffffffff
or edx, eax
xor edx, 0xffffffff
mov eax, edx
xor eax, 0x162aebac
and eax, edx
sub eax, 0x71e76d81
add eax, 0xb5b2981
add eax, 0x71e76d81
mov edx, eax
and edx, 0x8afbf071
shl edx, 1
add eax, 0x8afbf071
sub eax, edx
mov dword [rbp - 0x30], eax
mov rax, qword [rcx]
movsxd rax, dword [rax + 4]
add rcx, rax
sub rsp, 0x20
call fcn.140114830
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x30]
mov byte [rbp - 0x29], cl
cmp eax, 0x566aec17
jbe 0x1401258de
mov al, byte [rbp - 0x29]
test al, 1
jne 0x14012595f
jmp 0x140125e1b
mov eax, dword [0x14018ed54]
sub eax, dword [0x14018ed58]
sub eax, 0x6d215782
xor eax, 0xffffffff
and eax, 0xc4171412
xor eax, 0xffffffff
sub eax, 0x6b63aaee
cmp eax, 0x1ae0fc6c
jae 0x140125e5a
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x14018ed5c]
or eax, dword [0x14018ed60]
or eax, 0xe5ec839e
imul eax, eax, 0xa8c72e56
and eax, 0x19117d4e
mov rcx, qword [rcx]
add rcx, 4
mov qword [rbp - 0x38], rcx
cmp eax, 0x17bc7295
jb 0x140125e5a
mov eax, dword [0x14018ed64]
mov ecx, dword [0x14018ed68]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
imul edx, eax, 0xd6e51003
mov eax, edx
xor eax, 0xffffffff
mov ecx, eax
and ecx, 0xf186d382
and edx, 0xe792c7d
or ecx, edx
xor ecx, 0x6da70079
or eax, 0x63de2c04
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
and eax, 0x91395523
or ecx, 0x91395523
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0xb48f32f0
jae 0x140125e5f
mov rcx, qword [rbp - 0x38]
mov edx, dword [str.xG_]
mov r8d, dword [0x14018ed70]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, r8d
add eax, edx
xor edx, edx
sub edx, eax
sub edx, 0xd1a31cde
mov eax, edx
and eax, 0x7568c9f7
xor edx, 0x7568c9f7
or eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xab132e0e
and eax, 0x54ecd1f1
sub eax, edx
movsxd rdx, dword [rcx]
xor rdx, 0xffffffffffffffff
sub rdx, 0xffffffffffffffff
xor ecx, ecx
sub rcx, rdx
mov qword [rbp - 0x40], rcx
cmp eax, 0x22c24829
je 0x140125a1d
mov eax, dword [0x14018ed74]
imul eax, dword [0x14018ed78]
mov edx, eax
and edx, 0x20a6d53a
mov ecx, eax
or ecx, 0x20a6d53a
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xdf592ac5
or eax, 0xdf592ac5
imul eax, edx
add eax, ecx
imul ecx, eax, 0x61cc800c
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or eax, 0x28b0db2d
xor ecx, 0xffffffff
or ecx, 0xd74f24d2
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x3add034f
jbe 0x140125e64
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x28]
add rcx, rax
sub rsp, 0x20
call fcn.140111460
add rsp, 0x20
and eax, 2
cmp eax, 0
je 0x140125e1b
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
movsxd rax, dword [rax + 4]
mov qword [rbp - 0x48], rax
mov eax, dword [0x14018ed94]
mov edx, dword [0x14018ed98]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
imul eax, eax, 0x92c8ee3d
sub eax, 0x2147e864
imul eax, eax, 0x65e012ca
cmp eax, 0xa49580e5
jb 0x140125e81
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x28]
add rax, rcx
mov qword [rbp - 0x50], rax
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x14018edac]
imul eax, dword [0x14018edb0]
xor eax, 0x1d8ada2d
mov r8d, 0x6ac5302c
xor edx, edx
div r8d
add eax, 0x89424940
mov dword [rbp - 0x5c], eax
sub rsp, 0x20
call fcn.140111b00
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x5c]
mov qword [rbp - 0x58], rcx
cmp eax, 0x7a65ef67
jbe 0x140125b5f
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14013fa20
add rsp, 0x20
mov dword [rbp - 0x60], eax
jmp 0x140125bc3
mov eax, dword [0x14018edb4]
xor eax, dword [0x14018edb8]
mov ecx, eax
xor ecx, 0x3c1c224e
xor ecx, 0xffffffff
and ecx, 0x3c1c224e
shl ecx, 1
sub ecx, 0x3c1c224e
sub eax, ecx
sub eax, 0x4ae6ed7a
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc5918361
mov ecx, eax
and ecx, 0x3a6e7c9e
imul ecx, edx
mov edx, eax
and edx, 0xc5918361
or eax, 0xc5918361
imul eax, edx
add eax, ecx
cmp eax, 0x108efbba
ja 0x140125e86
mov eax, dword [rbp - 0x60]
cmp eax, 0xffffffff
sete al
mov byte [rbp - 0x61], al
mov ecx, dword [0x14018edc4]
xor ecx, dword [0x14018edc8]
mov eax, ecx
xor eax, 0x85d85463
and ecx, 0x7a27ab9c
shl ecx, 1
sub ecx, eax
mov eax, ecx
xor eax, 0x61e48878
and eax, ecx
add eax, 0x53ee8c61
cmp eax, 0x461eac82
jbe 0x140125e8b
mov eax, dword [0x14018edcc]
xor edx, edx
div dword [0x14018edd0]
imul ecx, eax, 0x50f21de7
mov eax, ecx
and eax, 0x5dc3842e
or ecx, 0x5dc3842e
add eax, ecx
mov edx, eax
and edx, 0x19534220
mov ecx, eax
or ecx, 0x19534220
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xe6acbddf
or eax, 0xe6acbddf
imul eax, edx
add eax, ecx
cmp eax, 0xaca93164
je 0x140125e8b
mov al, byte [rbp - 0x61]
test al, 1
jne 0x140125cca
jmp 0x140125e16
mov eax, dword [0x14018edd4]
and eax, dword [0x14018edd8]
mov ecx, 0xecf2ad5d
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xfc52647a
and eax, 0x3ad9b85
shl eax, 1
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x6082e11b
mov ecx, eax
and ecx, 0x9f7d1ee4
imul ecx, edx
mov edx, eax
and edx, 0x6082e11b
or eax, 0x6082e11b
imul eax, edx
add eax, ecx
cmp eax, 0x4e96bd72
je 0x140125e90
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
mov eax, dword [0x14018ede4]
and eax, dword [0x14018ede8]
mov ecx, 0x9e00c880
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xfd8b7afa
xor ecx, 0xffffffff
and ecx, 0xfd8b7afa
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
add ecx, 1
or eax, 0x38f367de
add eax, ecx
cmp eax, 0x13b8f8a4
jae 0x140125e95
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x70]
movsxd rax, dword [rax + 4]
add rcx, rax
sub rsp, 0x20
xor eax, eax
mov r8b, al
mov edx, 4
call fcn.14013fa50
add rsp, 0x20
jmp 0x140125da4
mov rsp, rbp
pop rbp
ret
mov eax, dword [0x14018ee14]
sub eax, dword [0x14018ee18]
imul ecx, eax, 0xe2a86317
add ecx, 0xdfb9fb03
mov eax, ecx
and eax, 0xdabdb1ef
xor ecx, 0xdabdb1ef
or eax, ecx
cmp eax, 0x478470bd
jbe 0x140125e9a
mov eax, dword [0x14018ee1c]
imul eax, dword [0x14018ee20]
xor eax, 0xffffffff
and eax, 0xfe29461e
xor eax, 0xffffffff
mov ecx, 0x18a5ed90
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xc80a5cff
add eax, ecx
cmp eax, 0xa15a7be9
je 0x140125e9a
jmp 0x140125e16
jmp 0x140125e1b
mov eax, dword [0x14018ee3c]
xor edx, edx
div dword [0x14018ee40]
sub eax, 0xf196c8c6
imul eax, eax, 0x3f017a88
mov ecx, eax
xor ecx, 0xb43ec39b
and eax, 0x4bc13c64
shl eax, 1
sub eax, ecx
cmp eax, 0x14e5d934
jbe 0x140125e1b
jmp 0x140125d9f
jmp 0x140125876
jmp 0x14012598b
jmp 0x140125a1d
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x28]
add rcx, rax
sub rsp, 0x20
call fcn.140111460
add rsp, 0x20
jmp 0x140125aeb
jmp 0x140125b50
jmp 0x140125c22
jmp 0x140125c64
jmp 0x140125d23
jmp 0x140125d74
jmp 0x140125dd6