Function at 0x140057980
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov dword [rbp - 0xc], edx
mov qword [rbp - 8], rcx
mov eax, dword [0x140103fcc]
and eax, dword [0x140103fd0]
sub eax, 0xe09ec895
or eax, 0xa9633445
add eax, 0xa5041f8b
cmp eax, 0x7a76df67
je 0x140058436
mov r8d, dword [rbp - 0xc]
mov r9, qword [rbp - 8]
mov eax, dword [0x140103fd4]
mov ecx, dword [0x140103fd8]
add eax, ecx
xor eax, 0xf4605c33
add eax, 0xdbe1f71
xor eax, 0x149c910d
mov dword [rbp - 0x1c], eax
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x40], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov r10, rsp
mov qword [rbp - 0x28], r10
call fcn.1400ec140
sub rsp, rax
mov eax, dword [rbp - 0x1c]
mov r10, rsp
mov qword [rbp - 0x18], r10
mov qword [rcx], r9
mov dword [rdx], r8d
mov rcx, qword [rcx]
cmp qword [rcx + 0x140], 0
setne cl
mov byte [rbp - 0xd], cl
cmp eax, 0xe9653418
je 0x140058436
mov al, byte [rbp - 0xd]
test al, 1
jne 0x140057ce1
jmp 0x140057a7a
mov eax, dword [0x140103fdc]
xor eax, dword [0x140103fe0]
or eax, 0x215a986d
sub eax, 0x39a6705d
add eax, 0xd6dfdb6d
cmp eax, 0xfdd5a3d0
ja 0x140058476
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140103fe4]
add eax, dword [0x140103fe8]
mov r8d, 0xa5d71425
xor edx, edx
div r8d
or eax, 0x429ed7fd
and eax, 0x50f33674
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x18]
cmp dword [rcx + 0x150], 0
setne cl
mov byte [rbp - 0x41], cl
cmp eax, 0x388bdbff
jb 0x140057aa0
mov al, byte [rbp - 0x41]
test al, 1
jne 0x140057af4
jmp 0x140057b0d
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 0x150]
mov dword [rbp - 0x48], eax
jmp 0x140057b8a
mov eax, dword [0x140103fec]
or eax, dword [0x140103ff0]
mov ecx, 0xf6b40aca
xor edx, edx
div ecx
and eax, 0x7297ae52
and eax, 0x5c81587e
cmp eax, 0xb49df7a5
je 0x14005847b
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140103ff4]
xor edx, edx
div dword [0x140103ff8]
imul eax, eax, 0xaa04ec1e
sub eax, 0xd6976a80
xor eax, 0x43ac7eb9
mov rcx, qword [rcx]
mov r8d, dword [rcx + 0x70]
mov ecx, 0x10000
mov edx, 0x4000
cmp r8d, 6
cmove ecx, edx
mov dword [rbp - 0x4c], ecx
cmp eax, 0x3b8e5df3
jb 0x14005847b
mov eax, dword [rbp - 0x4c]
mov dword [rbp - 0x48], eax
jmp 0x140057b8a
mov eax, dword [rbp - 0x48]
mov eax, eax
mov ecx, eax
sub rsp, 0x20
call sub.msvcrt.dll_malloc
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rcx + 0x140], rax
cmp rax, 0
jne 0x140057c13
mov eax, dword [0x140103ffc]
xor edx, edx
div dword [0x140104000]
add eax, 0x128ccee1
sub eax, 0x89cab324
or eax, 0x61204aa0
cmp eax, 0x236c3506
jbe 0x140058480
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x140104004]
or eax, dword [0x140104008]
xor eax, 0x3c09c1d0
add eax, 0x6ee96b9c
and eax, 0x16790ef5
mov dword [rcx], 0xffffffff
cmp eax, 0x60241d22
jae 0x140057bde
jmp 0x1400583c9
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
cmp dword [rax + 0x150], 0
je 0x140057c9a
mov eax, dword [0x14010400c]
and eax, dword [0x140104010]
mov ecx, 0xfedc2f60
xor edx, edx
div ecx
add eax, 0x3294d391
add eax, 0xcf12aa76
cmp eax, 0x3a44afa1
ja 0x14005848f
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140104014]
or eax, dword [0x140104018]
add eax, 0xd2399407
sub eax, 0xf9105f5c
or eax, 0xbcc151ad
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x18]
mov ecx, dword [rcx + 0x150]
mov dword [rbp - 0x50], ecx
cmp eax, 0xc42be67c
je 0x140057c55
mov eax, dword [rbp - 0x50]
mov dword [rbp - 0x54], eax
jmp 0x140057cb7
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov edx, dword [rax + 0x70]
mov eax, 0x10000
mov ecx, 0x4000
cmp edx, 6
cmove eax, ecx
mov dword [rbp - 0x54], eax
mov rax, qword [rbp - 0x38]
mov edx, dword [rbp - 0x54]
mov rcx, qword [rax]
mov dword [rcx + 0x160], edx
mov rcx, qword [rax]
mov dword [rcx + 0x150], 0
mov rax, qword [rax]
mov dword [rax + 0x158], 0
mov eax, dword [0x14010401c]
add eax, dword [0x140104020]
mov ecx, 0xe3de4c4c
xor edx, edx
div ecx
xor eax, 0x80c0a20e
mov ecx, 0xe6c1f5d1
xor edx, edx
div ecx
cmp eax, 0x9b31cf19
ja 0x140058494
mov rdx, qword [rbp - 0x38]
mov eax, dword [0x140104024]
and eax, dword [0x140104028]
sub eax, 0xd037f9ff
or eax, 0x9da0aa8b
or eax, 0x1b7d1d37
mov rcx, qword [rdx]
mov ecx, dword [rcx + 0x154]
mov rdx, qword [rdx]
cmp ecx, dword [rdx + 0x15c]
setne cl
mov byte [rbp - 0x55], cl
cmp eax, 0x97f9755b
je 0x140057d0f
mov al, byte [rbp - 0x55]
test al, 1
jne 0x140057d61
jmp 0x140057f20
mov eax, dword [0x14010402c]
imul eax, dword [0x140104030]
and eax, 0x244ff2f2
and eax, 0xa62c34d5
or eax, 0xe81328b2
cmp eax, 0x1f42404e
jbe 0x140058499
mov rax, qword [rbp - 0x38]
mov ecx, dword [0x140104034]
sub ecx, dword [0x140104038]
and ecx, 0x754943e8
add ecx, 0xfd461813
xor ecx, 0xe8ff6ca0
mov dword [rbp - 0x5c], ecx
mov rcx, qword [rax]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x78]
mov r8, qword [rax]
mov r8, qword [r8 + 0x148]
mov r9, qword [rax]
mov r9d, dword [r9 + 0x15c]
add r8, r9
mov r9, qword [rax]
mov r9d, dword [r9 + 0x154]
mov rax, qword [rax]
sub r9d, dword [rax + 0x15c]
mov rax, qword [0x140117de0]
mov eax, dword [rax + 8]
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.140065d80
mov rcx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x38]
add rsp, 0x30
mov edx, eax
mov eax, dword [rbp - 0x5c]
mov dword [rcx], edx
mov ecx, dword [rcx]
mov rdx, qword [r8]
mov edx, dword [rdx + 0x154]
mov r8, qword [r8]
sub edx, dword [r8 + 0x15c]
cmp ecx, edx
setne cl
mov byte [rbp - 0x56], cl
cmp eax, 0xf2685cf6
jae 0x140058499
mov al, byte [rbp - 0x56]
test al, 1
jne 0x140057e44
jmp 0x140057eaf
mov eax, dword [0x14010403c]
or eax, dword [0x140104040]
sub eax, 0x2e0b889d
mov ecx, 0xc8304c31
xor edx, edx
div ecx
and eax, 0x13b0b888
cmp eax, 0x30768e58
ja 0x1400584fc
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x140104044]
and eax, dword [0x140104048]
mov r8d, 0x3b65b92a
xor edx, edx
div r8d
mov r8d, 0x3d96c920
xor edx, edx
div r8d
and eax, 0x3c4b6f81
mov dword [rcx], 0xfffffffe
cmp eax, 0x1741359e
je 0x140057e6e
jmp 0x1400583c9
mov eax, dword [0x14010404c]
sub eax, dword [0x140104050]
sub eax, 0xd80831e9
xor eax, 0xb27b301b
or eax, 0xd0bc9163
cmp eax, 0x61792ed7
je 0x14005850b
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140104054]
imul eax, dword [0x140104058]
sub eax, 0x9dddb22d
imul eax, eax, 0x8231d48c
add eax, 0xb6d48eb3
mov rdx, qword [rcx]
mov dword [rdx + 0x15c], 0
mov rcx, qword [rcx]
mov dword [rcx + 0x154], 0
cmp eax, 0x79148911
je 0x140057ed5
jmp 0x140057f20
mov eax, dword [0x14010405c]
and eax, dword [0x140104060]
or eax, 0xbeb685f6
xor eax, 0x6d1526bb
mov ecx, 0xe31a5a62
xor edx, edx
div ecx
cmp eax, 0x31a36ac
je 0x14005852e
mov rax, qword [rbp - 0x38]
mov ecx, dword [0x140104064]
or ecx, dword [0x140104068]
xor ecx, 0x14757911
add ecx, 0xac58a9fa
sub ecx, 0xd963e422
mov dword [rbp - 0x64], ecx
mov rcx, qword [rax]
mov rax, qword [0x140117de0]
mov r8d, dword [rax + 8]
mov edx, 5
sub rsp, 0x20
call fcn.140068a10
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp - 0x64]
mov dword [rcx], edx
cmp dword [rcx], 5
setl cl
mov byte [rbp - 0x5d], cl
cmp eax, 0xc0de0eec
je 0x14005852e
mov al, byte [rbp - 0x5d]
test al, 1
jne 0x140057fbe
jmp 0x140057fcd
mov rax, qword [rbp - 0x40]
mov dword [rax], 0xfffffffe
jmp 0x1400583c9
mov eax, dword [0x14010406c]
xor eax, dword [0x140104070]
add eax, 0x42f15a9c
or eax, 0x2a7cde73
sub eax, 0x4b3fa251
cmp eax, 0x55d32ae8
jae 0x14005855f
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140104074]
xor eax, dword [0x140104078]
add eax, 0x592c7619
add eax, 0x6d5c9dac
imul eax, eax, 0xb5602c68
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x140]
movzx ecx, byte [rcx + 1]
cmp ecx, 3
setne cl
mov byte [rbp - 0x65], cl
cmp eax, 0x68f460d5
ja 0x140057ff3
mov al, byte [rbp - 0x65]
test al, 1
jne 0x140058045
jmp 0x140058054
mov rax, qword [rbp - 0x40]
mov dword [rax], 0xfffffffd
jmp 0x1400583c9
mov eax, dword [0x14010407c]
add eax, dword [0x140104080]
sub eax, 0xec6b08be
mov ecx, 0x7c009fdd
xor edx, edx
div ecx
imul eax, eax, 0x74877a8d
cmp eax, 0xe01b430e
ja 0x140058564
mov eax, dword [0x140104084]
or eax, dword [0x140104088]
xor eax, 0x15229269
or eax, 0xaa8fd76d
mov ecx, 0x5b5a558a
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x38]
mov dword [rbp - 0x6c], ecx
mov rax, qword [rax]
mov rcx, qword [rax + 0x140]
add rcx, 3
sub rsp, 0x20
call fcn.140055340
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x38]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 0x6c]
add r8d, 5
mov dword [rcx], r8d
mov ecx, dword [rcx]
mov rdx, qword [rdx]
cmp ecx, dword [rdx + 0x160]
seta cl
mov byte [rbp - 0x66], cl
cmp eax, 0x81492218
ja 0x14005807f
mov al, byte [rbp - 0x66]
test al, 1
jne 0x140058103
jmp 0x140058166
mov eax, dword [0x14010408c]
xor eax, dword [0x140104090]
imul eax, eax, 0xbba8eecf
mov ecx, 0xa6aeccbc
xor edx, edx
div ecx
imul eax, eax, 0xe84cc5e8
cmp eax, 0x1e87bf98
je 0x140058593
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x140104094]
or eax, dword [0x140104098]
sub eax, 0x8c6674da
imul eax, eax, 0x5502b22e
imul eax, eax, 0xef5f4175
mov dword [rcx], 0xfffffffc
cmp eax, 0x78fc3434
je 0x140058593
jmp 0x1400583c9
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x38]
mov rcx, qword [rcx]
mov ecx, dword [rcx + 0x150]
mov dword [rax], ecx
mov eax, dword [0x14010409c]
xor edx, edx
div dword [0x1401040a0]
add eax, 0x4690f865
imul eax, eax, 0xb7197abd
and eax, 0x4771ec0
cmp eax, 0x65753874
ja 0x1400585a2
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1401040a4]
add eax, dword [0x1401040a8]
or eax, 0x4584e0c0
mov r8d, 0xd9db708a
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x28]
or eax, 0xc98ac3ee
mov ecx, dword [rcx]
cmp ecx, dword [rdx]
setl cl
mov byte [rbp - 0x6d], cl
cmp eax, 0xfd501de2
ja 0x1400585a2
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x1400581f0
jmp 0x140058368
mov eax, dword [0x1401040ac]
xor eax, dword [0x1401040b0]
imul eax, eax, 0x638b91bf
imul eax, eax, 0x98e85bc9
sub eax, 0x1a9a275d
cmp eax, 0x4df24713
je 0x1400585a7
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x28]
mov edx, dword [0x1401040b4]
or edx, dword [0x1401040b8]
add edx, 0x54911676
or edx, 0xa8abf8d8
and edx, 0x3455821
mov dword [rbp - 0x74], edx
mov rcx, qword [rcx]
mov edx, dword [rax]
mov rax, qword [0x140117de0]
mov r8d, dword [rax + 8]
sub rsp, 0x20
call fcn.140068a10
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x18]
add rsp, 0x20
mov eax, dword [rbp - 0x74]
mov rcx, qword [rcx]
mov ecx, dword [rcx + 0x150]
cmp ecx, dword [rdx]
setbe cl
mov byte [rbp - 0x6e], cl
cmp eax, 0xf1fbcc16
je 0x140058218
mov al, byte [rbp - 0x6e]
test al, 1
jne 0x140058295
jmp 0x1400582f8
mov eax, dword [0x1401040bc]
xor eax, dword [0x1401040c0]
sub eax, 0xf822f457
and eax, 0xdb87105e
and eax, 0xd525a573
cmp eax, 0xb84ebd11
ja 0x1400585d1
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1401040c4]
xor edx, edx
div dword [0x1401040c8]
and eax, 0xcf04e51a
add eax, 0xf3d6a7
mov r8d, 0xe4998d5d
xor edx, edx
div r8d
mov dword [rcx], 0xfffffffb
cmp eax, 0x7050f6e4
jae 0x1400585d1
jmp 0x1400583c9
mov eax, dword [0x1401040cc]
and eax, dword [0x1401040d0]
imul eax, eax, 0xf6876b6b
imul eax, eax, 0x1dc03d91
xor eax, 0xf83aa8fe
cmp eax, 0x33bfc945
jbe 0x1400585e0
mov eax, dword [0x1401040d4]
sub eax, dword [0x1401040d8]
imul eax, eax, 0xfa53c044
or eax, 0x71653fea
mov ecx, 0x75c60498
xor edx, edx
div ecx
cmp eax, 0x85b4ed83
ja 0x140058320
jmp 0x140058350
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x38]
mov rcx, qword [rcx]
mov ecx, dword [rcx + 0x150]
mov dword [rax], ecx
jmp 0x140058179
mov eax, dword [0x1401040dc]
imul eax, dword [0x1401040e0]
or eax, 0x72bb85fd
or eax, 0x1d5e739e
imul eax, eax, 0xa958a871
cmp eax, 0x65f81fb4
je 0x1400585e5
mov eax, dword [0x1401040e4]
xor edx, edx
div dword [0x1401040e8]
sub eax, 0xd050c3d4
add eax, 0x5431d622
xor eax, 0x414949c3
cmp eax, 0xbe3cff3c
jbe 0x140058390
jmp 0x1400583bd
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x28]
mov ecx, dword [rcx]
mov dword [rax], ecx
mov eax, dword [0x1401040ec]
or eax, dword [0x1401040f0]
mov ecx, 0x4485bb0f
xor edx, edx
div ecx
sub eax, 0xbc05ebc9
mov ecx, 0x4fa79df9
xor edx, edx
div ecx
cmp eax, 0x4e11f33f
jae 0x1400585ea
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1401040f4]
sub eax, dword [0x1401040f8]
mov r8d, 0x8e5da95a
xor edx, edx
div r8d
imul eax, eax, 0x3a9491ad
imul eax, eax, 0xa1c9129f
mov ecx, dword [rcx]
mov dword [rbp - 0x78], ecx
cmp eax, 0xc373d23b
ja 0x1400585ea
mov eax, dword [rbp - 0x78]
mov rsp, rbp
pop rbp
ret
mov ecx, dword [rbp - 0xc]
mov r8, qword [rbp - 8]
mov eax, 0x10
mov qword [rbp - 0x80], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov rdx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rdx], r8
mov dword [rax], ecx
jmp 0x1400579bd
jmp 0x140057aa0
jmp 0x140057b37
mov rax, qword [rbp - 0x40]
mov dword [rax], 0xffffffff
jmp 0x140057bde
jmp 0x140057c55
jmp 0x140057d0f
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x78]
mov r8, qword [rax]
mov r8, qword [r8 + 0x148]
mov r9, qword [rax]
mov r9d, dword [r9 + 0x15c]
add r8, r9
mov r9, qword [rax]
mov r9d, dword [r9 + 0x154]
mov rax, qword [rax]
mov eax, dword [rax + 0x15c]
sub r9d, eax
mov rax, qword [0x140117de0]
mov eax, dword [rax + 8]
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.140065d80
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp - 0x28]
mov dword [rax], ecx
jmp 0x140057d88
mov rax, qword [rbp - 0x40]
mov dword [rax], 0xfffffffe
jmp 0x140057e6e
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov dword [rcx + 0x15c], 0
mov rax, qword [rax]
mov dword [rax + 0x154], 0
jmp 0x140057ed5
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov rax, qword [0x140117de0]
mov r8d, dword [rax + 8]
mov edx, 5
sub rsp, 0x20
call fcn.140068a10
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x28]
mov dword [rax], ecx
jmp 0x140057f4a
jmp 0x140057ff3
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov rcx, qword [rax + 0x140]
add rcx, 3
sub rsp, 0x20
call fcn.140055340
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x28]
add ecx, 5
mov dword [rax], ecx
jmp 0x14005807f
mov rax, qword [rbp - 0x40]
mov dword [rax], 0xfffffffc
jmp 0x14005812f
jmp 0x1400581a2
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x38]
mov rcx, qword [rcx]
mov edx, dword [rax]
mov rax, qword [0x140117de0]
mov r8d, dword [rax + 8]
sub rsp, 0x20
call fcn.140068a10
add rsp, 0x20
jmp 0x140058218
mov rax, qword [rbp - 0x40]
mov dword [rax], 0xfffffffb
jmp 0x1400582bb
jmp 0x140058320
jmp 0x140058390
jmp 0x1400583f7