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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x58], rdx
mov qword [rbp - 0x48], rcx
mov eax, dword [0x180018af0]
mov ecx, dword [0x180018aec]
lea edx, [rax - 1]
imul edx, eax
mov eax, 0xffffffff
xor edx, eax
or edx, 0xfffffffe
cmp edx, eax
sete dl
setne al
cmp ecx, 0xa
setl bl
cmp ecx, 9
setg cl
cmp bl, dl
jne 0x180010e89
or cl, al
xor cl, 1
je 0x180010fdf
mov eax, 0x10
call fcn.1800151d0
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1800151d0
sub rsp, rax
mov qword [rbp - 0x18], rsp
mov eax, 0x20
call fcn.1800151d0
sub rsp, rax
mov qword [rbp - 0x20], rsp
mov eax, 0x20
call fcn.1800151d0
sub rsp, rax
mov r13, rsp
mov eax, 0x110
call fcn.1800151d0
sub rsp, rax
mov qword [rbp - 0x70], rsp
mov eax, 0x10
call fcn.1800151d0
sub rsp, rax
mov qword [rbp - 0x78], rsp
mov eax, 0x10
call fcn.1800151d0
sub rsp, rax
mov rsi, rsp
sub rsp, 0x20
mov ecx, 0x830
call fcn.18000d227
add rsp, 0x20
mov rdi, rax
sub rsp, 0x20
mov ecx, 0x130
call fcn.18000d227
add rsp, 0x20
mov r12, rax
sub rsp, 0x20
mov ecx, 0x105
call fcn.18000d227
add rsp, 0x20
mov qword [rbp], rax
mov dword [r12], 0x130
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0x29f7579a
mov r9d, 0x61
call fcn.18000e5ac
mov ecx, 2
xor edx, edx
call rax
add rsp, 0x20
mov r14, rax
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0xfd3d1fba
mov r9d, 0x5f
call fcn.18000e5ac
mov rcx, r14
mov rdx, r12
call rax
add rsp, 0x20
mov r10d, dword [0x180018af0]
mov r8d, dword [0x180018aec]
lea ecx, [r10 - 1]
imul ecx, r10d
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete cl
setne r9b
cmp r8d, 0xa
setl dl
cmp r8d, 9
setg bl
cmp dl, cl
jne 0x18001106f
or bl, r9b
xor bl, 1
jne 0x18001106f
sub rsp, 0x20
mov ecx, 0x830
call fcn.18000d227
mov ecx, 0x130
call fcn.18000d227
add rsp, 0x20
mov rsi, rax
sub rsp, 0x20
mov ecx, 0x105
call fcn.18000d227
add rsp, 0x20
mov dword [rsi], 0x130
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0x29f7579a
mov r9d, 0x61
call fcn.18000e5ac
mov ecx, 2
xor edx, edx
call rax
add rsp, 0x20
mov rdi, rax
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0xfd3d1fba
mov r9d, 0x5f
call fcn.18000e5ac
mov rcx, rdi
mov rdx, rsi
call rax
add rsp, 0x20
jmp 0x180010e89
test rax, rax
mov qword [rbp + 0x10], rdi
mov qword [rbp - 0x50], rsi
je 0x180011941
mov eax, 4
mov rcx, r15
add rcx, rax
mov qword [rbp - 0x68], rcx
mov rcx, r12
add rcx, 0x2c
mov qword [rbp + 8], rcx
mov rcx, qword [rbp - 0x18]
add rcx, rax
mov qword [rbp - 0x40], rcx
lea rcx, [rdi + 0x20c]
mov qword [rbp - 8], rcx
lea rcx, [rdi + 2]
mov qword [rbp - 0x30], rcx
mov rcx, qword [rbp - 0x20]
add rcx, rax
mov qword [rbp - 0x60], rcx
lea rcx, [rdi + 0x311]
mov qword [rbp - 0x10], rcx
lea rcx, [rdi + 0x107]
mov qword [rbp - 0x38], rcx
mov rcx, r13
add rcx, rax
mov qword [rbp - 0x28], rcx
cmp byte [rdi], 0
je 0x180011128
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, 0xffffffff
xor eax, ecx
or eax, 0xfffffffe
cmp eax, ecx
setne al
sete cl
cmp r8d, 9
setg dl
cmp r8d, 0xa
setl bl
xor bl, cl
jne 0x1800111cb
or dl, al
xor dl, 1
jne 0x1800111cb
jmp 0x18001194f
mov eax, dword [0x1800189d8]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
sete al
cmp dword [0x1800189d4], 0xa
setl cl
test cl, al
jne 0x180011159
xor cl, al
je 0x180011982
xor eax, eax
mov byte [r15], al
mov dword [r15 + 4], 0x27062d98
mov dword [r15 + 8], 0x2d5a2096
mov dword [r15 + 0xc], 0x48742083
cmp byte [r15], al
jne 0x1800111a8
mov eax, 1
xor ecx, ecx
mov edx, dword [r15 + rax*4]
mov ebx, edx
not ebx
and ebx, 0x487445fb
and edx, 0xb78bba04
or edx, ebx
mov dword [r15 + rax*4], edx
inc rcx
inc rax
cmp rax, 4
jne 0x180011182
sub rsp, 0x20
mov r8d, 0xa
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x68]
call fcn.18000cf6f
add rsp, 0x20
test eax, eax
je 0x180011308
cmp byte [rdi + 1], 0
jne 0x18001127c
mov rbx, qword [rbp - 0x20]
mov byte [rbx], 0
mov eax, dword [0x180018948]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
sete al
cmp dword [0x180018944], 0xa
setl cl
test cl, al
jne 0x18001120d
xor cl, al
je 0x180011955
mov dword [rbx + 4], 0x4d5b659b
mov dword [rbx + 8], 0x58516f9e
mov dword [rbx + 0xc], 0x585b65dc
mov dword [rbx + 0x10], 0x3d2300f2
cmp byte [rbx], 0
jne 0x180011259
xor eax, eax
mov ecx, dword [rbx + rax*4 + 4]
mov edx, ecx
not edx
and edx, 0x90dc3fec
and ecx, 0x6f23c013
or ecx, edx
xor ecx, 0xadff3f1e
mov dword [rbx + rax*4 + 4], ecx
inc rax
cmp rax, 4
jne 0x180011230
sub rsp, 0x20
mov r8d, 0xc
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x60]
call fcn.18000cf6f
add rsp, 0x20
test eax, eax
je 0x180011408
cmp dword [rdi + 0x41c], 0
je 0x1800112d3
mov eax, dword [0x180018af0]
mov ecx, dword [0x180018aec]
lea edx, [rax - 1]
imul edx, eax
mov eax, 0xffffffff
xor edx, eax
or edx, 0xfffffffe
mov edi, edx
xor edi, eax
cmp edx, eax
sete dl
setne r8b
cmp ecx, 0xa
setl al
cmp ecx, 9
setg bl
cmp al, dl
jne 0x180011754
or bl, r8b
xor bl, 1
jne 0x180011754
jmp 0x180011951
mov eax, dword [0x180018af0]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x180018aec], 0xa
setl cl
test cl, al
jne 0x180011626
xor cl, al
je 0x1800116ce
jmp 0x180011626
mov ecx, dword [r12 + 0x20]
sub rsp, 0x20
mov rdx, qword [rbp]
call fcn.180010a66
add rsp, 0x20
test eax, eax
je 0x1800111cb
mov rsi, qword [rbp - 0x18]
xor ecx, ecx
mov byte [rsi], cl
mov dword [rsi + 4], 0x25ee19db
mov dword [rsi + 8], 0x3bfb13d1
mov dword [rsi + 0xc], 0x2ce60490
mov dword [rsi + 0x10], 0x499e61be
cmp byte [rsi], cl
jne 0x1800113a8
mov ecx, dword [0x1800188f0]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, 0xffffffff
xor edx, ecx
or edx, 0xfffffffe
cmp edx, ecx
sete dl
cmp dword [0x1800188ec], 0xa
setl cl
mov ebx, ecx
and bl, dl
xor cl, dl
or cl, bl
xor edx, edx
mov edi, dword [rsi + rdx*4 + 4]
test cl, cl
je 0x180011953
mov ebx, edi
not ebx
and ebx, 0x499e61be
and edi, 0xb6619e41
or edi, ebx
mov dword [rsi + rdx*4 + 4], edi
inc rdx
cmp rdx, 4
jne 0x18001137d
add eax, 0xfffffff4
add rax, qword [rbp]
sub rsp, 0x20
mov r8d, 0xc
mov rcx, rax
mov rdx, qword [rbp - 0x40]
call fcn.18000cf6f
add rsp, 0x20
test eax, eax
mov rdi, qword [rbp + 0x10]
jne 0x1800111cb
mov eax, dword [0x180018af0]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
sete al
cmp dword [0x180018aec], 0xa
setl cl
test cl, al
jne 0x18001145b
xor cl, al
je 0x1800114b4
jmp 0x18001145b
mov ecx, dword [r12 + 8]
sub rsp, 0x20
mov rdx, qword [rbp - 0x10]
call fcn.180010a66
add rsp, 0x20
test eax, eax
je 0x18001127c
mov eax, dword [0x180018af0]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x180018aec], 0xa
setl cl
test cl, al
jne 0x1800115a4
xor cl, al
je 0x1800115ed
jmp 0x1800115a4
mov eax, dword [r12 + 0x20]
mov dword [rdi + 0x41c], eax
mov eax, dword [r12 + 8]
mov dword [rdi + 0x418], eax
mov ecx, dword [r12 + 8]
sub rsp, 0x20
mov rdx, qword [rbp - 8]
call fcn.180010a66
add rsp, 0x20
mov ecx, dword [0x180018af0]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, 0xffffffff
xor edx, ecx
or edx, 0xfffffffe
cmp edx, ecx
sete cl
cmp dword [0x180018aec], 0xa
setl dl
test dl, cl
jne 0x1800114e5
xor dl, cl
jne 0x1800114e5
mov eax, dword [r12 + 0x20]
mov dword [rdi + 0x41c], eax
mov eax, dword [r12 + 8]
mov dword [rdi + 0x418], eax
mov ecx, dword [r12 + 8]
sub rsp, 0x20
mov rdx, qword [rbp - 8]
call fcn.180010a66
add rsp, 0x20
jmp 0x18001145b
test eax, eax
je 0x1800111cb
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.18000f8d6
add rsp, 0x20
mov ecx, dword [0x180018af0]
mov edx, dword [0x180018aec]
lea ebx, [rcx - 1]
imul ebx, ecx
mov ecx, ebx
xor ecx, 0xfffffffe
test ecx, ebx
sete bl
setne r8b
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
cmp cl, bl
jne 0x18001157f
or dl, r8b
xor dl, 1
jne 0x18001157f
sub rsp, 0x20
mov rsi, qword [rbp - 8]
mov rcx, rsi
call fcn.18000f8d6
mov rcx, rsi
call fcn.18000f8d6
add rsp, 0x20
mov ecx, dword [0x180018af0]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, 0xffffffff
xor edx, ecx
or edx, 0xfffffffe
cmp edx, ecx
sete cl
cmp dword [0x180018aec], 0xa
setl dl
test dl, cl
jne 0x18001157f
xor dl, cl
je 0x180011536
test al, al
je 0x1800111cb
mov byte [rdi], 1
sub rsp, 0x20
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x30]
call fcn.18000fa33
add rsp, 0x20
jmp 0x1800111cb
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.18000f8d6
add rsp, 0x20
mov ecx, dword [0x180018af0]
mov edx, dword [0x180018aec]
lea ebx, [rcx - 1]
imul ebx, ecx
mov ecx, ebx
xor ecx, 0xfffffffe
test ecx, ebx
sete bl
setne r8b
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
cmp cl, bl
jne 0x180011600
or dl, r8b
xor dl, 1
jne 0x180011600
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.18000f8d6
add rsp, 0x20
jmp 0x1800115a4
test al, al
je 0x18001127c
mov byte [rdi + 1], 1
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x38]
call fcn.18000fa33
add rsp, 0x20
jmp 0x18001127c
xor eax, eax
mov byte [r13], al
mov dword [r13 + 4], 0x296377ba
mov dword [r13 + 8], 0x37767db0
mov dword [r13 + 0xc], 0x206b6af1
mov dword [r13 + 0x10], 0x45130fdf
cmp byte [r13], al
jne 0x180011679
xor eax, eax
mov ecx, dword [r13 + rax*4 + 4]
mov edx, ecx
not edx
and edx, 0x45130fdf
and ecx, 0xbaecf020
or ecx, edx
mov dword [r13 + rax*4 + 4], ecx
inc rax
cmp rax, 4
jne 0x180011654
sub rsp, 0x20
mov r8d, 0xc
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x28]
call fcn.18000cf6f
add rsp, 0x20
mov ebx, dword [0x180018af0]
mov ecx, dword [0x180018aec]
lea edx, [rbx - 1]
imul edx, ebx
mov edi, edx
xor edi, 0xfffffffe
and edi, edx
sete r9b
setne r8b
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg bl
cmp dl, r9b
jne 0x180011741
or bl, r8b
xor bl, 1
jne 0x180011741
xor eax, eax
mov byte [r13], al
mov dword [r13 + 4], 0x296377ba
mov dword [r13 + 8], 0x37767db0
mov dword [r13 + 0xc], 0x206b6af1
mov dword [r13 + 0x10], 0x45130fdf
cmp byte [r13], al
jne 0x180011721
xor eax, eax
mov ecx, dword [r13 + rax*4 + 4]
mov edx, ecx
not edx
and edx, 0x45130fdf
and ecx, 0xbaecf020
or ecx, edx
mov dword [r13 + rax*4 + 4], ecx
inc rax
cmp rax, 4
jne 0x1800116fc
sub rsp, 0x20
mov r8d, 0xc
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x28]
call fcn.18000cf6f
add rsp, 0x20
jmp 0x180011626
test eax, eax
jne 0x180011754
mov eax, dword [r12 + 8]
mov rdx, qword [rbp + 0x10]
mov dword [rdx + 0x41c], eax
test edi, edi
sete r9b
setne r8b
cmp ecx, 0xa
setl bl
cmp ecx, 9
setg cl
mov eax, dword [0x1800189c0]
mov edi, dword [0x1800189bc]
cmp bl, r9b
jne 0x180011833
or cl, r8b
xor cl, 1
jne 0x180011833
lea ecx, [rax - 1]
imul ecx, eax
mov esi, ecx
xor esi, 0xfffffffe
and esi, ecx
test esi, esi
sete dl
setne al
cmp edi, 0xa
setl bl
cmp edi, 9
setg cl
cmp bl, dl
jne 0x1800117b7
or cl, al
xor cl, 1
je 0x180011809
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0x86fb7f30
mov r9d, 0x60
call fcn.18000e5ac
mov rcx, r14
mov rdx, r12
call rax
add rsp, 0x20
mov eax, dword [0x1800189c0]
mov edi, dword [0x1800189bc]
lea ecx, [rax - 1]
imul ecx, eax
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete cl
cmp edi, 0xa
setl bl
test bl, cl
jne 0x180011833
xor bl, cl
jne 0x180011833
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0x86fb7f30
mov r9d, 0x60
call fcn.18000e5ac
mov rcx, r14
mov rdx, r12
call rax
add rsp, 0x20
jmp 0x1800117b7
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
setne al
sete bl
cmp edi, 9
setg cl
cmp edi, 0xa
setl dl
xor dl, bl
jne 0x180011862
or cl, al
xor cl, 1
je 0x1800118c7
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0x86fb7f30
mov r9d, 0x60
call fcn.18000e5ac
mov rcx, r14
mov rdx, r12
call rax
add rsp, 0x20
mov ecx, dword [0x1800189c0]
mov edi, dword [0x1800189bc]
lea esi, [rcx - 1]
imul esi, ecx
mov ecx, 0xffffffff
xor esi, ecx
or esi, 0xfffffffe
cmp esi, ecx
setne r8b
sete dl
cmp edi, 9
setg bl
cmp edi, 0xa
setl cl
xor cl, dl
jne 0x1800118f4
or bl, r8b
xor bl, 1
jne 0x1800118f4
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0x86fb7f30
mov r9d, 0x60
call fcn.18000e5ac
mov rcx, r14
mov rdx, r12
call rax
add rsp, 0x20
jmp 0x180011862
mov r10d, dword [0x180018af0]
mov r8d, dword [0x180018aec]
lea ecx, [r10 - 1]
imul ecx, r10d
mov ebx, 0xffffffff
xor ecx, ebx
or ecx, 0xfffffffe
mov edx, 0xffffffff
cmp ecx, ebx
sete bl
cmp r8d, 0xa
setl cl
test cl, bl
jne 0x180011934
xor cl, bl
jne 0x180011934
xor esi, edx
jmp 0x180011798
test rax, rax
mov rdi, qword [rbp + 0x10]
jne 0x1800110e3
cmp byte [rdi], 0
je 0x180011957
mov r13, qword [rbp]
jmp 0x180011bfe
jmp 0x18001194f
jmp 0x180011951
jmp 0x180011953
jmp 0x180011955
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp r8d, 0xa
setl cl
test cl, al
mov r13, qword [rbp]
jne 0x1800119b3
xor cl, al
je 0x180011a0d
jmp 0x1800119b3
xor eax, eax
mov ecx, 0x27062d98
mov edx, 0x2d5a2096
mov ebx, 0x48742083
mov byte [r15], al
mov dword [r15 + 4], ecx
mov dword [r15 + 8], edx
mov dword [r15 + 0xc], ebx
mov byte [r15], al
mov dword [r15 + 4], ecx
mov dword [r15 + 8], edx
mov dword [r15 + 0xc], ebx
jmp 0x180011993
sub rsp, 0x20
xor ecx, ecx
mov edx, 0xe
mov r8d, 0xacc860e1
mov r9d, 0x21e
call fcn.18000e5ac
xor ecx, ecx
call rax
add rsp, 0x20
mov eax, dword [0x180018af0]
mov edx, dword [0x180018aec]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete bl
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
xor dl, bl
jne 0x180011a33
or cl, al
xor cl, 1
jne 0x180011a33
sub rsp, 0x20
xor ecx, ecx
mov edx, 0xe
mov r8d, 0xacc860e1
mov r9d, 0x21e
call fcn.18000e5ac
xor ecx, ecx
call rax
add rsp, 0x20
jmp 0x1800119b3
xor edi, edi
lea r14, [0x180016620]
mov r15d, 0xffffffff
xor r12d, r12d
mov esi, dword [rdi + r14]
mov eax, dword [0x1800189b8]
mov edx, dword [0x1800189b4]
lea ecx, [rax - 1]
imul ecx, eax
xor ecx, r15d
or ecx, 0xfffffffe
cmp ecx, r15d
setne al
sete bl
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
xor dl, bl
jne 0x180011a81
or cl, al
xor cl, 1
je 0x180011ad6
sub rsp, 0x20
xor ecx, ecx
mov edx, 6
mov r8d, 0xa7a1ede9
mov r9d, 0x1d8
call fcn.18000e5ac
xor ecx, ecx
mov rdx, r13
mov r8d, esi
xor r9d, r9d
call rax
add rsp, 0x20
mov ecx, dword [0x1800189b8]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x1800189b4], 0xa
setl dl
test dl, cl
jne 0x180011b08
xor dl, cl
jne 0x180011b08
sub rsp, 0x20
xor ecx, ecx
mov edx, 6
mov r8d, 0xa7a1ede9
mov r9d, 0x1d8
call fcn.18000e5ac
xor ecx, ecx
mov rdx, r13
mov r8d, esi
xor r9d, r9d
call rax
add rsp, 0x20
jmp 0x180011a81
test rax, rax
je 0x180011b29
sub rsp, 0x20
mov rsi, qword [rbp + 0x10]
mov rcx, rsi
mov rdx, r13
call fcn.18000fb7b
add rsp, 0x20
cmp byte [rsi], 0
jne 0x180011b3a
inc r12
add rdi, 4
cmp rdi, 0x10
jne 0x180011a45
mov eax, dword [0x1800189b0]
mov edx, dword [0x1800189ac]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete bl
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
xor dl, bl
jne 0x180011b70
or cl, al
xor cl, 1
je 0x180011bbf
sub rsp, 0x20
xor ecx, ecx
mov edx, 0xe
mov r8d, 0x93fba0b3
mov r9d, 0x220
call fcn.18000e5ac
call rax
add rsp, 0x20
mov eax, dword [0x1800189b0]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
sete al
cmp dword [0x1800189ac], 0xa
setl cl
test cl, al
jne 0x180011be3
xor cl, al
jne 0x180011be3
sub rsp, 0x20
xor ecx, ecx
mov edx, 0xe
mov r8d, 0x93fba0b3
mov r9d, 0x220
call fcn.18000e5ac
call rax
add rsp, 0x20
jmp 0x180011b70
mov rdi, qword [rbp + 0x10]
cmp byte [rdi], 0
mov rsi, qword [rbp - 0x48]
je 0x180011c2f
mov r10d, dword [0x180018af0]
mov r8d, dword [0x180018aec]
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne cl
cmp r8d, 9
setg al
mov edx, eax
xor dl, cl
or al, cl
mov bl, 1
xor al, bl
or al, dl
mov ecx, dword [rdi + 0x418]
cmp al, bl
je 0x180011c77
jmp 0x180011c8c
mov eax, dword [0x180018af0]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x180018aec], 0xa
setl al
mov edx, eax
and dl, cl
xor al, cl
or al, dl
cmp byte [rdi + 1], 0
je 0x180011c6a
test al, al
jne 0x180012360
jmp 0x1800123da
test al, al
jne 0x18001241b
jmp 0x180012465
lea rdx, [rdi + 2]
mov qword [rdi + 0x428], rdx
mov dword [rdi + 0x420], ecx
test al, al
jne 0x180011c9f
lea rdx, [rdi + 2]
mov qword [rdi + 0x428], rdx
mov dword [rdi + 0x420], ecx
jmp 0x180011c77
test ecx, ecx
je 0x18001226b
sub rsp, 0x20
call fcn.18000c34a
add rsp, 0x20
mov r12d, eax
mov eax, eax
mov rsi, rdi
mov edi, 0xd1b71759
imul rax, rdi
shr rax, 0x2d
imul eax, eax, 0x2710
sub r12d, eax
sub rsp, 0x20
call fcn.18000c34a
add rsp, 0x20
mov r14d, eax
mov eax, eax
imul rax, rax, 0x10624dd3
shr rax, 0x26
imul eax, eax, 0x3e8
sub r14d, eax
sub rsp, 0x20
call fcn.18000c34a
add rsp, 0x20
mov r15d, eax
mov eax, eax
imul rax, rax, 0x45e7b273
shr rax, 0x2d
imul eax, eax, 0x7530
sub r15d, eax
sub rsp, 0x20
call fcn.18000c34a
add rsp, 0x20
mov dword [rbp - 0x20], eax
sub rsp, 0x20
call fcn.18000c34a
add rsp, 0x20
mov dword [rbp], eax
sub rsp, 0x20
call fcn.18000c34a
add rsp, 0x20
mov dword [rbp - 0x18], eax
sub rsp, 0x20
call fcn.18000c34a
add rsp, 0x20
mov dword [rbp + 8], eax
sub rsp, 0x20
call fcn.18000c34a
add rsp, 0x20
mov ecx, eax
imul rcx, rdi
shr rcx, 0x2d
imul ecx, ecx, 0x2710
sub eax, ecx
lea r8, [rsi + 0x20c]
xor ecx, ecx
mov r9, qword [rbp - 0x70]
mov byte [r9], cl
mov rdx, r9
add rdx, 4
mov dword [r9 + 4], 0x4405dc58
mov dword [r9 + 8], 0x125bd45a
mov dword [r9 + 0xc], 0x5b138903
mov dword [r9 + 0x10], 0x2189c08
mov dword [r9 + 0x14], 0x14138b1f
mov dword [r9 + 0x18], 0x5bd45a
mov dword [r9 + 0x1c], 0x21a9c13
mov dword [r9 + 0x20], 0xf048d57
mov dword [r9 + 0x24], 0xe5b951b
mov ebx, 0xa12971b
mov dword [r9 + 0x28], ebx
mov edi, 0x253c41f
mov dword [r9 + 0x2c], edi
mov dword [r9 + 0x30], 0x4312dc56
mov dword [r9 + 0x34], 0x253d51e
mov dword [r9 + 0x38], 0x435a9d5f
mov dword [r9 + 0x3c], 0x4b5bd91e
mov dword [r9 + 0x40], 0x11f8b15
mov dword [r9 + 0x44], 0x125b9713
mov dword [r9 + 0x48], 0xa179008
mov dword [r9 + 0x4c], 0x151f9d57
mov dword [r9 + 0x50], 0x31a9b1b
mov dword [r9 + 0x54], 0x310d41e
mov dword [r9 + 0x58], 0x14038d1b
mov dword [r9 + 0x5c], 0x2b4b8a1f
mov dword [r9 + 0x60], 0x1305981f
mov dword [r9 + 0x64], 0x33b9c08
mov dword [r9 + 0x68], 0x1f049617
mov dword [r9 + 0x6c], 0x25bd45a
mov dword [r9 + 0x70], 0x51f8f1f
mov dword [r9 + 0x74], 0x505d41f
mov dword [r9 + 0x78], 0x4b13951b
mov dword [r9 + 0x7c], 0x1215981c
mov dword [r9 + 0x80], 0x574b8b15
mov dword [r9 + 0x84], 0x85bd45a
mov dword [r9 + 0x88], 0x145b940f
mov dword [r9 + 0x8c], 0x3028a1b
mov dword [r9 + 0x90], 0xe02d408
mov dword [r9 + 0x94], 0x2179c08
mov dword [r9 + 0x98], 0x4647c409
mov dword [r9 + 0x9c], 0x304d457
mov dword [r9 + 0xa0], 0x14139d14
mov dword [r9 + 0xa4], 0x55b8b1f
mov dword [r9 + 0xa8], 0x8139016
mov dword [r9 + 0xac], 0x21fd40e
mov dword [r9 + 0xb0], 0x4612dc47
mov dword [r9 + 0xb4], 0x918d457
mov dword [r9 + 0xb8], 0x4b4e8f57
mov dword [r9 + 0xbc], 0x1402970f
mov dword [r9 + 0xc0], 0x3028a0f
mov dword [r9 + 0xc4], 0x915d41e
mov dword [r9 + 0xc8], 0xb5b9c1e
mov dword [r9 + 0xcc], 0x11f8d13
mov dword [r9 + 0xd0], 0x91f8d1b
mov dword [r9 + 0xd4], 0x4b568a14
mov dword [r9 + 0xd8], 0xc199457
mov dword [r9 + 0xdc], 0xa06d415
mov dword [r9 + 0xe0], 0x9108d1b
mov dword [r9 + 0xe4], 0x55b9408
mov dword [r9 + 0xe8], 0x8189812
mov dword [r9 + 0xec], 0xe5b951f
mov dword [r9 + 0xf0], ebx
mov dword [r9 + 0xf4], edi
mov dword [r9 + 0xf8], 0x1406d65a
mov dword [r9 + 0xfc], 0x12139f1f
mov dword [r9 + 0x100], 0x574c9119
mov dword [r9 + 0x104], 0x6676f97a
cmp byte [r9], cl
jne 0x18001202e
mov ecx, 1
xor ebx, ebx
mov edi, dword [r9 + rcx*4]
mov esi, edi
not esi
and esi, 0x6676f97a
and edi, 0x99890685
or edi, esi
mov dword [r9 + rcx*4], edi
inc rbx
inc rcx
cmp rcx, 0x42
jne 0x180012008
mov rdi, qword [rbp + 0x10]
lea rcx, [rdi + 0x430]
sub rsp, 0x60
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x40], r15d
mov ebx, dword [rbp - 0x20]
mov dword [rsp + 0x38], ebx
mov ebx, dword [rbp]
mov dword [rsp + 0x30], ebx
mov ebx, dword [rbp - 0x18]
mov dword [rsp + 0x28], ebx
mov ebx, dword [rbp + 8]
mov dword [rsp + 0x20], ebx
mov r9d, eax
call fcn.1800086a6
add rsp, 0x60
cmp qword [rdi + 0x428], 0
jne 0x1800120af
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0xa8e58a7b
mov r9d, 0x34
call fcn.18000e5ac
mov rcx, r13
mov edx, 0x104
call rax
add rsp, 0x20
mov qword [rdi + 0x428], r13
sub rsp, 0x20
mov ecx, 0x18
call fcn.18000d227
add rsp, 0x20
mov r14, rax
sub rsp, 0x20
mov ecx, 0x70
call fcn.18000d227
add rsp, 0x20
mov rbx, rax
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov rsi, qword [rbp - 0x78]
mov r9, rsi
call fcn.18000f306
add rsp, 0x20
mov ecx, dword [rsi]
sub rsp, 0x20
call fcn.18000d227
add rsp, 0x20
mov qword [rbx + 0x68], rax
sub rsp, 0x20
mov rcx, rax
mov edx, 1
xor r8d, r8d
mov r9, rsi
call fcn.18000f306
add rsp, 0x20
mov esi, dword [rdi + 0x420]
test esi, esi
je 0x1800121d4
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0x551f3cba
mov r9d, 0x5d
call fcn.18000e5ac
mov ecx, 0x1fffff
xor edx, edx
mov r8d, esi
call rax
add rsp, 0x20
mov r9, qword [rbp - 0x50]
mov qword [r9], rax
test rax, rax
je 0x180012195
mov rcx, qword [rbx + 0x68]
sub rsp, 0x40
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], 8
mov r8d, 0x20000
xor edx, edx
call fcn.18000f4d9
add rsp, 0x40
mov eax, dword [0x180018af0]
mov ecx, dword [0x180018aec]
lea edx, [rax - 1]
imul edx, eax
mov eax, 0xffffffff
xor edx, eax
or edx, 0xfffffffe
cmp edx, eax
sete dl
setne r8b
cmp ecx, 0xa
setl al
cmp ecx, 9
setg cl
cmp al, dl
jne 0x1800121d4
or cl, r8b
xor cl, 1
jne 0x1800121d4
jmp 0x1800121d2
mov dword [rbx], 0x70
mov dword [rbx + 0x3c], 1
mov word [rbx + 0x40], 0
mov rsi, qword [rdi + 0x428]
add rdi, 0x430
sub rsp, 0x20
xor ecx, ecx
mov edx, 1
mov r8d, 0x2bf91925
mov r9d, 0x3c
call fcn.18000e5ac
sub rsp, 0x30
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80014
mov dword [rsp + 0x20], 0
xor ecx, ecx
mov rdx, rdi
xor r8d, r8d
xor r9d, r9d
call rax
add rsp, 0x50
test eax, eax
setne al
mov rcx, qword [rbp - 0x58]
mov qword [rcx], r14
lea rsp, [rbp + 0x18]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [rdi + 0x41c]
mov dword [rdi + 0x420], eax
lea rsi, [rdi + 0x20c]
lea rbx, [rdi + 0x430]
sub rsp, 0x20
lea rdx, str.__s_
mov rcx, rbx
mov r8, rsi
call fcn.1800086a6
add rsp, 0x20
mov eax, dword [0x180018af0]
mov edx, dword [0x180018aec]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
setne r8b
sete al
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
xor dl, al
jne 0x180012074
or cl, r8b
xor cl, 1
jne 0x180012074
lea r14, str.__s_
mov eax, dword [rdi + 0x41c]
mov dword [rdi + 0x420], eax
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8, rsi
call fcn.1800086a6
add rsp, 0x20
mov eax, dword [rdi + 0x41c]
mov dword [rdi + 0x420], eax
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8, rsi
call fcn.1800086a6
add rsp, 0x20
mov eax, dword [0x180018af0]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x180018aec], 0xa
setl cl
test cl, al
jne 0x180012074
xor cl, al
je 0x1800122eb
jmp 0x180012074
lea r8, [rdi + 0x311]
lea rcx, [rdi + 0x430]
sub rsp, 0x20
lea rdx, str.__s_
call fcn.1800086a6
add rsp, 0x20
lea rax, [rdi + 0x107]
mov qword [rdi + 0x428], rax
mov eax, dword [rdi + 0x41c]
mov dword [rdi + 0x420], eax
mov eax, dword [0x180018af0]
mov ecx, dword [0x180018aec]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete dl
setne al
cmp ecx, 0xa
setl bl
cmp ecx, 9
setg cl
cmp bl, dl
jne 0x180012074
or cl, al
xor cl, 1
jne 0x180012074
lea r8, [rdi + 0x311]
lea rcx, [rdi + 0x430]
sub rsp, 0x20
lea rdx, str.__s_
call fcn.1800086a6
add rsp, 0x20
lea rax, [rdi + 0x107]
mov qword [rdi + 0x428], rax
mov eax, dword [rdi + 0x41c]
mov dword [rdi + 0x420], eax
jmp 0x180012360
lea rdx, [rdi + 0x430]
mov ecx, dword [rsi + 0x89c]
sub rsp, 0x20
call fcn.180010b81
add rsp, 0x20
mov eax, dword [0x180018af0]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x180018aec], 0xa
setl cl
test cl, al
jne 0x180012074
xor cl, al
jne 0x180012074
lea rdx, [rdi + 0x430]
mov ecx, dword [rsi + 0x89c]
sub rsp, 0x20
call fcn.180010b81
add rsp, 0x20
jmp 0x18001241b