Function at 0x180003d40
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x128
mov dword [rsp + 0x38], 0
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x34], 0xffffffff
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x54], 0
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x138]
movsx eax, byte [rax]
test eax, eax
je 0x1800060cc
mov rax, qword [rsp + 0x138]
movsx eax, byte [rax]
mov ecx, eax
call qword [sym.imp.MSVCR100.dll_isspace]
test eax, eax
je 0x180003e1f
mov rax, qword [rsp + 0x130]
movsx eax, byte [rax]
mov ecx, eax
call qword [sym.imp.MSVCR100.dll_isspace]
test eax, eax
je 0x180003e0a
mov rax, qword [rsp + 0x130]
inc rax
mov qword [rsp + 0x130], rax
jmp 0x180003dde
mov rax, qword [rsp + 0x138]
inc rax
mov qword [rsp + 0x138], rax
jmp 0x180003db4
mov rax, qword [rsp + 0x138]
movsx eax, byte [rax]
cmp eax, 0x25
je 0x180003e7b
mov rax, qword [rsp + 0x130]
movsx eax, byte [rax]
mov rcx, qword [rsp + 0x138]
movsx ecx, byte [rcx]
mov rdx, qword [rsp + 0x130]
inc rdx
mov qword [rsp + 0x130], rdx
mov rdx, qword [rsp + 0x138]
inc rdx
mov qword [rsp + 0x138], rdx
cmp ecx, eax
je 0x180003e76
xor eax, eax
jmp 0x18000635c
jmp 0x180003db4
mov rax, qword [rsp + 0x138]
inc rax
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x138]
movsx eax, byte [rax]
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0x138]
inc rax
mov qword [rsp + 0x138], rax
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0xe0]
sub eax, 0x25
mov dword [rsp + 0xe0], eax
cmp dword [rsp + 0xe0], 0x54
ja 0x1800060c0
movsxd rax, dword [rsp + 0xe0]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x63e0]
mov eax, dword [rcx + rax*4 + 0x6364]
add rax, rcx
jmp rax
inc rsi
mov edx, 0x208
lea rcx, [rsp + 0x870]
mov r15d, dword [rbp + rsi*4]
add r15, r14
call fcn.18000534b
mov rcx, r15
call fcn.1800050ab
mov r9d, eax
test eax, eax
je 0x180006075
cmp eax, 6
jbe 0x180006004
mov ecx, eax
lea rdx, [rsp + rcx*2 + 0x870]
lea r10, [r15 + rcx]
sub rdx, r10
lea r11, [rcx + rcx]
cmp rdx, r11
jg 0x180005f8f
neg rdx
cmp rdx, rcx
jle 0x180006004
xor edx, edx
mov r9d, eax
mov r11d, 1
xor r10d, r10d
shr r9d, 1
je 0x180005fd7
inc edx
lea r11d, [rax + r10]
movsx ecx, byte [r11 + r15]
mov word [rsp + r11*2 + 0x870], cx
lea r11d, [rax + r10 - 1]
movsx r8d, byte [r11 + r15]
add r10d, 0xfffffffe
mov word [rsp + r11*2 + 0x870], r8w
cmp edx, r9d
jb 0x180005fa2
lea r11d, [rdx + rdx + 1]
lea r9d, [r11 - 1]
cmp r9d, eax
jae 0x180005ff7
neg r11d
add r11d, eax
inc r11d
movsx r9d, byte [r11 + r15]
mov word [rsp + r11*2 + 0x870], r9w
lea r9d, [rax + 1]
sub eax, r9d
lea r9d, [rax + 1]
jmp 0x180006075
xor r10d, r10d
mov r11d, eax
mov edx, 1
xor ecx, ecx
shr r11d, 1
je 0x180006055
inc r10d
lea r9d, [rax + rcx]
movsx edx, byte [r9 + r15]
mov word [rsp + r9*2 + 0x870], dx
lea r9d, [rax + rcx - 1]
movsx r8d, byte [r9 + r15]
add ecx, 0xfffffffe
mov word [rsp + r9*2 + 0x870], r8w
cmp r10d, r11d
jb 0x180006016
lea r9d, [r10 + r10]
neg r9d
lea edx, [r10 + r10 + 1]
add r9d, eax
lea r10d, [rdx - 1]
cmp r10d, eax
jae 0x180006075
sub eax, edx
lea r9d, [rax + 1]
movsx r10d, byte [r9 + r15]
mov word [rsp + r9*2 + 0x870], r10w
mov r9d, eax
lea rcx, [rsp + 0x870]
movsx r15d, byte [r9 + r15]
mov word [rsp + r9*2 + 0x870], r15w
call fcn.1800050eb
mov r9d, eax
xor r10d, r10d
test r9d, r9d
jbe 0x1800060fe
mov eax, r9d
xor ecx, ecx
mov edx, dword [rdi + 0x88]
mov r15d, 1
shr eax, 1
je 0x1800060e2
imul r10d, edx
lea r11d, [rcx + rcx]
movsxd r11, r11d
inc ecx
movzx r15d, word [rsp + r11*2 + 0x870]
add r10d, r15d
mov esp, 0x8705c
add byte [rbp + 3], al
xlatb
imul r10d, edx
movzx r11d, word [rsp + r11*2 + 0x872]
rol byte [rsi + 0xf], cl
mov bh, 0x9c
pop rsp
jb 0x1800060dc
add byte [rax], al
add r10d, r11d
cmp ecx, eax
jb 0x1800060b0
rol dword [rbp + rcx*4 + 0x7c], cl
or dword [rcx], eax
lea r15d, [rcx + rcx + 1]
lea r11d, [r15 - 1]
cmp r11d, r9d
jae 0x1800060fe
imul edx, r10d
movsxd r15, r15d
movzx r10d, word [rsp + r15*2 + 0x86e]
add r10d, edx
movzx r9d, word [r13 + rsi*2]
mov r9d, dword [r12 + r9*4]
add r9, r14
cmp ebx, r10d
jne 0x180005f34
mov rbx, qword [rsp + 0xc80]
xor r13d, r13d
mov r15, qword [rsp + 0x48]
mov qword [rbx + 0xb8], r9
movsxd rax, dword [r15 + 0x3c]
mov rbp, qword [rsp + 0x40]
mov r9, qword [rbp + 0x50]
mov esi, dword [rax + r15 + 0x88]
mov edx, dword [rdi + 0x78]
mov ebx, edx
mov eax, dword [rsi + r15 + 0x20]
add rax, r15
mov ebp, dword [rsi + r15 + 0x1c]
mov r12, rax
mov esi, dword [rsi + r15 + 0x24]
add rbp, r15
mov qword [rsp + 0xc88], r9
add rsi, r15
jmp 0x18000616d
inc r13
mov edx, 0x208
lea rcx, [rsp + 0xa78]
mov r14d, dword [r12 + r13*4]
add r14, r15
call fcn.18000534b
mov rcx, r14
call fcn.1800050ab
mov r9d, eax
test eax, eax
je 0x1800062aa
cmp eax, 6
jbe 0x180006239
mov ecx, eax
lea rdx, [rsp + rcx*2 + 0xa78]
lea r10, [r14 + rcx]
sub rdx, r10
lea r11, [rcx + rcx]
cmp rdx, r11
jg 0x1800061c4
neg rdx
cmp rdx, rcx
jle 0x180006239
xor edx, edx
mov r9d, eax
mov r11d, 1
xor r10d, r10d
shr r9d, 1
je 0x18000620c
inc edx
lea r11d, [rax + r10]
movsx ecx, byte [r11 + r14]
mov word [rsp + r11*2 + 0xa78], cx
lea r11d, [rax + r10 - 1]
movsx r8d, byte [r11 + r14]
add r10d, 0xfffffffe
mov word [rsp + r11*2 + 0xa78], r8w
cmp edx, r9d
jb 0x1800061d7
lea r11d, [rdx + rdx + 1]
lea r9d, [r11 - 1]
cmp r9d, eax
jae 0x18000622c
neg r11d
add r11d, eax
inc r11d
movsx r9d, byte [r11 + r14]
mov word [rsp + r11*2 + 0xa78], r9w
lea r9d, [rax + 1]
sub eax, r9d
lea r9d, [rax + 1]
jmp 0x1800062aa
xor r10d, r10d
mov r11d, eax
mov edx, 1
xor ecx, ecx
shr r11d, 1
je 0x18000628a
inc r10d
lea r9d, [rax + rcx]
movsx edx, byte [r9 + r14]
mov word [rsp + r9*2 + 0xa78], dx
lea r9d, [rax + rcx - 1]
movsx r8d, byte [r9 + r14]
add ecx, 0xfffffffe
mov word [rsp + r9*2 + 0xa78], r8w
cmp r10d, r11d
jb 0x18000624b
lea r9d, [r10 + r10]
neg r9d
lea edx, [r10 + r10 + 1]
add r9d, eax
lea r10d, [rdx - 1]
cmp r10d, eax
jae 0x1800062aa
sub eax, edx
lea r9d, [rax + 1]
movsx r10d, byte [r9 + r14]
mov word [rsp + r9*2 + 0xa78], r10w
mov r9d, eax
lea rcx, [rsp + 0xa78]
movsx r14d, byte [r9 + r14]
mov word [rsp + r9*2 + 0xa78], r14w
call fcn.1800050eb
mov r9d, eax
xor r10d, r10d
test r9d, r9d
jbe 0x180006333
mov eax, r9d
xor ecx, ecx
mov edx, dword [rdi + 0x88]
mov r11d, 1
shr eax, 1
je 0x180006317
imul r10d, edx
lea r11d, [rcx + rcx]
movsxd r11, r11d
inc ecx
movzx r14d, word [rsp + r11*2 + 0xa78]
add r10d, r14d
imul r10d, edx
movzx r11d, word [rsp + r11*2 + 0xa7a]
add r10d, r11d
cmp ecx, eax
jb 0x1800062e5
lea r11d, [rcx + rcx + 1]
lea ecx, [r11 - 1]
cmp ecx, r9d
jae 0x180006333
imul edx, r10d
movsxd r11, r11d
movzx r10d, word [rsp + r11*2 + 0xa76]
add r10d, edx
movzx ecx, word [rsi + r13*2]
mov r14d, dword [rbp + rcx*4]
add r14, r15
cmp ebx, r10d
jne 0x18000616a
movsxd rbp, dword [rdi + 0x38]
xor r15d, r15d
mov eax, dword [rdi + 0x68]
mov r9, qword [rsp + 0xc88]
xor eax, dword [rdi + 4]
lea rsi, [r9 + rbp]
add al, 0x49
lea esi, [rcx + rbp]
mov r13d, dword [rsi]
mov esi, dword [rsi + 4]
mov rbx, qword [rsp + 0xc80]
mov r12, qword [rsp + 0xca0]
cmp r13d, eax
je 0x180006831
mov ecx, 0x40
mov rdx, r13
mov qword [rsp + 0xc88], r9
call r12
mov r9, qword [rsp + 0xc88]
mov r15, rax
mov rcx, r15
lea rdx, [r9 + rbp + 8]
mov r8d, r13d
call fcn.18000502b
test r13d, r13d
jbe 0x18000646b
lea eax, [r13 + 3]
sar eax, 1
shr eax, 0x1e
lea edx, [rax + r13 + 3]
sar edx, 2
movsxd rax, edx
cmp rax, 4
jl 0x180006ef9
mov r11, r15
and r11, 0xf
test r11d, r11d
je 0x1800063fa
test r11d, 3
jne 0x180006ef9
neg r11d
add r11d, 0x10
shr r11d, 2
mov r10d, r11d
lea rbp, [r10 + 4]
cmp rax, rbp
jl 0x180006ef9
mov ebp, edx
xor r9d, r9d
sub ebp, r11d
and ebp, 3
sub edx, ebp
mov rbp, r15
movsxd rdx, edx
test r11d, r11d
jbe 0x180006431
inc r9
xor dword [rbp], esi
add rbp, 4
cmp r9, r10
jb 0x180006422
movd xmm0, esi
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [r15 + r10*4]
pxor xmm1, xmm0
movdqu xmmword [r15 + r10*4], xmm1
add r10, 4
cmp r10, rdx
jb 0x18000643a
lea rbp, [r15 + rdx*4]
cmp rdx, rax
jae 0x18000646b
inc rdx
xor dword [rbp], esi
add rbp, 4
cmp rdx, rax
jb 0x18000645c
mov ecx, 0x40
mov edx, 0x20a
call r12
mov rsi, rax
xor eax, eax
cmp byte [r15], 0
je 0x180006496
movsx edx, byte [rax + r15]
mov word [rsi + rax*2], dx
inc rax
cmp byte [rax + r15], 0
jne 0x180006483
mov ecx, 0x40
mov edx, 0x20a
xor edx, edx
jmp 0x180006453