Function at 0x18011fc50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x98
lea rdi, [rsp + 0x34]
xor eax, eax
mov ecx, 3
rep stosb byte [rdi], al
lea rdi, [rsp + 0x30]
xor eax, eax
mov ecx, 3
rep stosb byte [rdi], al
lea rdi, [rsp + 0x20]
xor eax, eax
mov ecx, 3
rep stosb byte [rdi], al
mov byte [rsp + 0x34], 1
mov byte [rsp + 0x30], 1
cmp dword [rsp + 0xd0], 0
jbe 0x18011ff25
mov rax, qword [rsp + 0xd8]
movzx ecx, byte [rax]
add ecx, 1
mov eax, 0xff
sub eax, ecx
movsxd rcx, eax
lea rax, [0x180050240]
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x35], al
mov dword [rsp + 0x24], 1
jmp 0x18011fcea
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0xd0], 2
jae 0x18011fd04
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x80], eax
jmp 0x18011fd0f
mov dword [rsp + 0x80], 2
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x24], eax
jae 0x18011fdaf
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x44], eax
jmp 0x18011fd38
mov eax, dword [rsp + 0x44]
sub eax, 1
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
jbe 0x18011fdaa
mov eax, dword [rsp + 0x44]
sub eax, 1
mov eax, eax
movzx eax, byte [rsp + rax + 0x34]
test eax, eax
je 0x18011fda8
mov edi, dword [rsp + 0x44]
mov eax, dword [rsp + 0x44]
sub eax, 1
mov eax, eax
movzx ecx, byte [rsp + rax + 0x34]
lea rax, [0x180050440]
movzx edx, byte [rax + rcx]
add edx, 0xff
mov ecx, dword [rsp + 0x24]
mov rax, qword [rsp + 0xd8]
movzx ecx, byte [rax + rcx]
add ecx, 1
mov eax, edx
sub eax, ecx
movsxd rcx, eax
lea rax, [0x180050240]
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + rdi + 0x34]
xor ecx, eax
mov eax, dword [rsp + 0x44]
mov byte [rsp + rax + 0x34], cl
jmp 0x18011fd2d
jmp 0x18011fcdf
xor eax, eax
test eax, eax
je 0x18011ff25
xor eax, eax
test eax, eax
je 0x18011fe08
mov dword [rsp + 0x24], 0
jmp 0x18011fdd4
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0xd0], 1
jae 0x18011fdee
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x84], eax
jmp 0x18011fdf9
mov dword [rsp + 0x84], 1
mov eax, dword [rsp + 0x84]
cmp dword [rsp + 0x24], eax
ja 0x18011fe08
jmp 0x18011fdc9
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x24], 0xe5
jmp 0x18011fe25
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0xff
jae 0x18011fefc
mov dword [rsp + 0x48], 0
xor eax, eax
test eax, eax
je 0x18011fe43
jmp 0x18011fe1a
cmp dword [rsp + 0xd0], 2
jae 0x18011fe5d
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x88], eax
jmp 0x18011fe68
mov dword [rsp + 0x88], 2
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x44], eax
jmp 0x18011fe80
mov eax, dword [rsp + 0x44]
sub eax, 1
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
movzx eax, byte [rsp + rax + 0x34]
test eax, eax
je 0x18011fed3
mov eax, dword [rsp + 0x44]
movzx ecx, byte [rsp + rax + 0x34]
lea rax, [0x180050440]
movzx edi, byte [rax + rcx]
mov ecx, dword [rsp + 0x24]
add ecx, 1
mov eax, dword [rsp + 0x44]
imul eax, ecx
xor edx, edx
mov ecx, 0xff
div ecx
mov eax, edi
add eax, edx
mov ecx, eax
lea rax, [0x180050240]
movzx ecx, byte [rax + rcx]
mov eax, dword [rsp + 0x48]
xor eax, ecx
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x44], 0
jne 0x18011fedc
jmp 0x18011fede
jmp 0x18011fe75
cmp dword [rsp + 0x48], 0
je 0x18011feea
jmp 0x18011fe1a
mov eax, dword [rsp + 0x38]
add eax, 1
mov dword [rsp + 0x38], eax
xor eax, eax
jmp 0x18011fe1a
cmp dword [rsp + 0xd0], 2
jae 0x18011ff16
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x8c], eax
jmp 0x18011ff21
mov dword [rsp + 0x8c], 2
mov eax, dword [rsp + 0x38]
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x3c], 1
jmp 0x18011ff58
mov eax, dword [rsp + 0x44]
add eax, 1
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x44], 2
jae 0x180120213
mov eax, dword [rsp + 0x44]
imul eax, eax, 0x2b
shl eax, 1
mov ecx, eax
mov rax, qword [rsp + 0xc8]
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x24], 1
jmp 0x18011ff93
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x24], eax
ja 0x18012002f
mov eax, dword [rsp + 0x24]
movzx eax, byte [rsp + rax + 0x34]
test eax, eax
je 0x18011ffcf
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x44]
sub eax, ecx
imul eax, eax, 0x2b
shl eax, 1
mov ecx, eax
mov rax, qword [rsp + 0xc8]
movzx eax, byte [rax + rcx]
test eax, eax
jne 0x18011ffd1
jmp 0x18011ff88
mov eax, dword [rsp + 0x24]
movzx ecx, byte [rsp + rax + 0x34]
lea rax, [0x180050440]
movzx edx, byte [rax + rcx]
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x44]
sub eax, ecx
imul eax, eax, 0x2b
shl eax, 1
mov ecx, eax
mov rax, qword [rsp + 0xc8]
movzx ecx, byte [rax + rcx]
lea rax, [0x180050440]
movzx ecx, byte [rax + rcx]
mov eax, edx
add eax, ecx
movsxd rcx, eax
lea rax, [0x180050240]
movzx ecx, byte [rax + rcx]
movzx eax, byte [rsp + 0x28]
xor eax, ecx
mov byte [rsp + 0x28], al
jmp 0x18011ff88
movzx eax, byte [rsp + 0x28]
test eax, eax
je 0x18012020e
movzx ecx, byte [rsp + 0x28]
lea rax, [0x180050440]
movzx eax, byte [rax + rcx]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x40]
mov edx, dword [rsp + 0x40]
add edx, eax
mov ecx, dword [rsp + 0xd0]
mov eax, dword [rsp + 0x44]
add eax, ecx
cmp edx, eax
ja 0x180120191
mov eax, 0xff
sub eax, dword [rsp + 0x4c]
mov dword [rsp + 0x54], eax
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
lea rsi, [rsp + rax + 0x34]
lea rdi, [rsp + 0x50]
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x24], 0
jmp 0x1801200a5
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
add eax, ecx
cmp dword [rsp + 0x24], eax
jae 0x18012015a
mov eax, dword [rsp + 0x24]
movzx eax, byte [rsp + rax + 0x34]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x24], eax
jae 0x180120119
mov eax, dword [rsp + 0x24]
movzx eax, byte [rsp + rax + 0x20]
mov dword [rsp + 0x5c], eax
cmp dword [rsp + 0x5c], 0
je 0x180120119
mov edx, dword [rsp + 0x24]
movsxd rcx, dword [rsp + 0x5c]
lea rax, [0x180050440]
movzx eax, byte [rax + rcx]
add eax, dword [rsp + 0x4c]
movsxd rcx, eax
lea rax, [0x180050240]
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + rdx + 0x50]
xor ecx, eax
mov eax, dword [rsp + 0x24]
mov byte [rsp + rax + 0x50], cl
cmp dword [rsp + 0x58], 0
je 0x18012014c
movsxd rcx, dword [rsp + 0x58]
lea rax, [0x180050440]
movzx eax, byte [rax + rcx]
add eax, dword [rsp + 0x54]
movsxd rdx, eax
lea rax, [0x180050240]
mov ecx, dword [rsp + 0x24]
movzx eax, byte [rax + rdx]
mov byte [rsp + rcx + 0x20], al
jmp 0x180120155
mov eax, dword [rsp + 0x24]
mov byte [rsp + rax + 0x20], 0
jmp 0x18012009a
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
lea rdi, [rsp + rax + 0x34]
lea rsi, [rsp + 0x50]
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, dword [rsp + 0xd0]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x3c], 0
jmp 0x18012020e
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x24], eax
jmp 0x1801201a6
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
add eax, ecx
cmp dword [rsp + 0x24], eax
jae 0x18012020e
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x24]
sub eax, ecx
mov eax, eax
movzx eax, byte [rsp + rax + 0x20]
test eax, eax
je 0x18012020c
mov edx, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x24]
sub eax, ecx
mov eax, eax
movzx ecx, byte [rsp + rax + 0x20]
lea rax, [0x180050440]
movzx eax, byte [rax + rcx]
add eax, dword [rsp + 0x4c]
movsxd rcx, eax
lea rax, [0x180050240]
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + rdx + 0x34]
xor ecx, eax
mov eax, dword [rsp + 0x24]
mov byte [rsp + rax + 0x34], cl
jmp 0x18012019b
jmp 0x18011ff42
xor edx, edx
mov eax, dword [rsp + 0xd0]
mov ecx, 2
div ecx
add eax, 1
cmp dword [rsp + 0x40], eax
jbe 0x180120236
mov eax, 1
jmp 0x180120bf2
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x24], 0xe5
jmp 0x180120253
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0xff
jae 0x180120343
mov eax, dword [rsp + 0x24]
sub eax, 0xe5
imul eax, eax, 0x2b
add eax, dword [rsp + 0xc0]
cmp eax, dword [rsp + 0xe0]
jb 0x18012029b
mov eax, dword [rsp + 0x24]
sub eax, 0xe5
imul eax, eax, 0x2b
add eax, dword [rsp + 0xc0]
cmp eax, dword [rsp + 0xe8]
ja 0x18012029b
jmp 0x180120248
mov dword [rsp + 0x60], 0
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x44], eax
jmp 0x1801202b8
mov eax, dword [rsp + 0x44]
sub eax, 1
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
movzx eax, byte [rsp + rax + 0x34]
test eax, eax
je 0x18012030b
mov eax, dword [rsp + 0x44]
movzx ecx, byte [rsp + rax + 0x34]
lea rax, [0x180050440]
movzx edi, byte [rax + rcx]
mov ecx, dword [rsp + 0x24]
add ecx, 1
mov eax, dword [rsp + 0x44]
imul eax, ecx
xor edx, edx
mov ecx, 0xff
div ecx
mov eax, edi
add eax, edx
mov ecx, eax
lea rax, [0x180050240]
movzx ecx, byte [rax + rcx]
mov eax, dword [rsp + 0x60]
xor eax, ecx
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x44], 0
jne 0x180120314
jmp 0x180120316
jmp 0x1801202ad
cmp dword [rsp + 0x60], 0
jne 0x18012033e
cmp dword [rsp + 0x38], 2
jae 0x180120331
mov ecx, dword [rsp + 0x38]
movzx eax, byte [rsp + 0x24]
mov byte [rsp + rcx + 0x2c], al
mov eax, dword [rsp + 0x38]
add eax, 1
mov dword [rsp + 0x38], eax
xor eax, eax
jmp 0x180120248
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x38], eax
je 0x180120357
mov eax, 1
jmp 0x180120bf2
mov dword [rsp + 0x44], 0
jmp 0x18012036c
mov eax, dword [rsp + 0x44]
add eax, 1
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x44], eax
jae 0x180120443
mov eax, dword [rsp + 0x44]
mov byte [rsp + rax + 0x30], 0
mov dword [rsp + 0x24], 0
jmp 0x180120398
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x24], eax
ja 0x18012043e
mov eax, dword [rsp + 0x24]
movzx eax, byte [rsp + rax + 0x34]
test eax, eax
je 0x180120439
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x44]
sub eax, ecx
imul eax, eax, 0x2b
shl eax, 1
mov ecx, eax
mov rax, qword [rsp + 0xc8]
movzx eax, byte [rax + rcx]
test eax, eax
je 0x180120439
mov edi, dword [rsp + 0x44]
mov eax, dword [rsp + 0x24]
movzx ecx, byte [rsp + rax + 0x34]
lea rax, [0x180050440]
movzx edx, byte [rax + rcx]
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x44]
sub eax, ecx
imul eax, eax, 0x2b
shl eax, 1
mov ecx, eax
mov rax, qword [rsp + 0xc8]
movzx ecx, byte [rax + rcx]
lea rax, [0x180050440]
movzx ecx, byte [rax + rcx]
mov eax, edx
add eax, ecx
movsxd rcx, eax
lea rax, [0x180050240]
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + rdi + 0x30]
xor ecx, eax
mov eax, dword [rsp + 0x44]
mov byte [rsp + rax + 0x30], cl
jmp 0x18012038d
jmp 0x180120361
mov dword [rsp + 0x44], 0
jmp 0x180120458
mov eax, dword [rsp + 0x44]
add eax, 1
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x44], eax
jae 0x180120bf0
mov eax, dword [rsp + 0x44]
movzx eax, byte [rsp + rax + 0x2c]
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x64], 0
mov eax, dword [rsp + 0x40]
sub eax, 1
mov dword [rsp + 0x3c], eax
jmp 0x180120493
mov eax, dword [rsp + 0x3c]
sub eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x3c]
movzx eax, byte [rsp + rax + 0x30]
test eax, eax
je 0x1801204d9
mov eax, dword [rsp + 0x3c]
movzx ecx, byte [rsp + rax + 0x30]
lea rax, [0x180050440]
movzx eax, byte [rax + rcx]
mov ecx, dword [rsp + 0x24]
add ecx, 1
imul ecx, dword [rsp + 0x3c]
add eax, ecx
mov ecx, eax
lea rax, [0x180050240]
movzx ecx, byte [rax + rcx]
mov eax, dword [rsp + 0x64]
xor eax, ecx
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x3c], 0
jne 0x1801204e2
jmp 0x1801204e4
jmp 0x180120488
cmp dword [rsp + 0x40], 1
jbe 0x1801208e7
mov dword [rsp + 0x68], 0
mov eax, dword [rsp + 0x40]
sub eax, 1
and eax, 0xfffffffe
mov dword [rsp + 0x3c], eax
jmp 0x180120512
mov eax, dword [rsp + 0x3c]
sub eax, 2
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x3c]
add eax, 1
mov eax, eax
movzx eax, byte [rsp + rax + 0x34]
test eax, eax
je 0x180120569
mov eax, dword [rsp + 0x3c]
add eax, 1
mov eax, eax
movzx ecx, byte [rsp + rax + 0x34]
lea rax, [0x180050440]
movzx edx, byte [rax + rcx]
mov ecx, dword [rsp + 0x3c]
add ecx, 1
mov eax, dword [rsp + 0x24]
add eax, 1
imul ecx, eax
mov eax, edx
add eax, ecx
mov ecx, eax
lea rax, [0x180050240]
movzx ecx, byte [rax + rcx]
mov eax, dword [rsp + 0x68]
xor eax, ecx
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x3c], 0
jne 0x180120572
jmp 0x180120574
jmp 0x180120507
cmp dword [rsp + 0x68], 0
jne 0x180120596
mov r8d, 0x51e
lea rdx, [0x18005ed48]
lea rcx, [0x18005ed30]
call fcn.180132028
xor edx, edx
movsxd rcx, dword [rsp + 0x68]
lea rax, [0x180050440]
movzx eax, byte [rax + rcx]
mov edx, 0xff
sub edx, eax
movsxd rcx, dword [rsp + 0x64]
lea rax, [0x180050440]
movzx ecx, byte [rax + rcx]
mov eax, edx
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
movsxd rcx, edx
lea rax, [0x180050240]
movzx eax, byte [rax + rcx]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x24]
sub eax, 0xe5
imul eax, eax, 0x2b
add eax, dword [rsp + 0xc0]
shl eax, 1
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0x924
jb 0x180120619
mov r8d, 0x51e
lea rdx, [0x18005ed48]
lea rcx, [0x18005ed18]
call fcn.180132028
xor edx, edx
xor eax, eax
test eax, eax
je 0x180120661
mov rax, qword [rsp + 0xf8]
cmp qword [rax + 0x118], 0
je 0x180120661
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x70]
add eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax + 0x118]
movzx eax, byte [rax + rcx]
test eax, eax
jne 0x180120661
mov eax, 1
jmp 0x180120bf2
xor edx, edx
mov eax, dword [rsp + 0x70]
mov ecx, 2
div ecx
movzx eax, ax
cdq
mov ecx, 0x2b
idiv ecx
mov edi, eax
xor edx, edx
mov eax, dword [rsp + 0x70]
mov ecx, 2
div ecx
movzx eax, ax
cdq
mov ecx, 0x2b
idiv ecx
mov eax, edi
sub eax, edx
add eax, 0x34
movzx eax, ax
cdq
mov ecx, 0x1a
idiv ecx
mov dword [rsp + 0x74], edx
xor eax, eax
cmp eax, 1
je 0x1801207a8
mov ecx, dword [rsp + 0xb8]
imul rcx, rcx, 0x1a
mov rax, qword [rsp + 0xf8]
lea rcx, [rax + rcx + 0x1d9a]
mov eax, dword [rsp + 0x74]
movzx eax, byte [rcx + rax]
test eax, eax
jne 0x1801207a8
mov ecx, dword [rsp + 0xb8]
imul rcx, rcx, 0x2b
mov rax, qword [rsp + 0xf8]
lea rcx, [rax + rcx + 0x1d44]
mov eax, dword [rsp + 0x74]
movzx eax, byte [rcx + rax]
test eax, eax
jne 0x1801207a8
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x70]
add eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + rcx + 0x1414]
test eax, eax
jne 0x1801207a8
mov eax, dword [rsp + 0x74]
add eax, eax
mov eax, eax
mov r8, qword [rsp + 0xf8]
add r8, rax
mov eax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
sub rcx, rax
mov edx, dword [rsp + 0x74]
call fcn.18011ad80
mov edx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x74]
lea eax, [rdx + rax*2]
mov ecx, eax
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + rcx]
test eax, eax
jne 0x1801207a8
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x74]
lea eax, [rcx + rax*2 + 0x34]
mov ecx, eax
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + rcx]
test eax, eax
jne 0x1801207a8
xor eax, eax
mov eax, 1
jmp 0x180120bf2
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x70]
add eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + rcx + 0x1414]
cmp eax, 0x10
jge 0x1801208d8
mov edx, dword [rsp + 0x70]
movzx ecx, byte [rsp + 0x6c]
mov rax, qword [rsp + 0xb0]
movzx edx, byte [rax + rdx]
xor edx, ecx
mov ecx, dword [rsp + 0x70]
mov rax, qword [rsp + 0xb0]
mov byte [rax + rcx], dl
xor eax, eax
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x70]
add eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
movzx edx, byte [rax + rcx + 0x1414]
add dl, 1
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x70]
add eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
mov byte [rax + rcx + 0x1414], dl
mov edx, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xb8]
imul rcx, rcx, 0x2b
mov rax, qword [rsp + 0xf8]
lea rax, [rax + rcx + 0x1d44]
movzx edi, byte [rax + rdx]
add dil, 1
mov edx, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xb8]
imul rcx, rcx, 0x2b
mov rax, qword [rsp + 0xf8]
lea rax, [rax + rcx + 0x1d44]
mov byte [rax + rdx], dil
mov r8, qword [rsp + 0xf8]
mov edx, dword [rsp + 0xb8]
mov ecx, dword [rsp + 0x70]
call fcn.18011a070
cmp dword [rsp + 0xf0], 0
je 0x1801208d6
xor edx, edx
mov eax, dword [rsp + 0x70]
mov ecx, 2
div ecx
mov r9, qword [rsp + 0xf8]
mov r8d, eax
mov edx, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0xf8]
call fcn.180120c10
jmp 0x1801208e2
mov eax, 1
jmp 0x180120bf2
jmp 0x180120beb
mov eax, dword [rsp + 0x24]
sub eax, 0xe5
imul eax, eax, 0x2b
add eax, dword [rsp + 0xc0]
shl eax, 1
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x78], 0x924
jb 0x180120925
mov r8d, 0x51e
lea rdx, [0x18005ed48]
lea rcx, [0x18005ed18]
call fcn.180132028
xor edx, edx
xor eax, eax
test eax, eax
je 0x18012096d
mov rax, qword [rsp + 0xf8]
cmp qword [rax + 0x118], 0
je 0x18012096d
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x78]
add eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax + 0x118]
movzx eax, byte [rax + rcx]
test eax, eax
jne 0x18012096d
mov eax, 1
jmp 0x180120bf2
xor edx, edx
mov eax, dword [rsp + 0x78]
mov ecx, 2
div ecx
movzx eax, ax
cdq
mov ecx, 0x2b
idiv ecx
mov edi, eax
xor edx, edx
mov eax, dword [rsp + 0x78]
mov ecx, 2
div ecx
movzx eax, ax
cdq
mov ecx, 0x2b
idiv ecx
mov eax, edi
sub eax, edx
add eax, 0x34
movzx eax, ax
cdq
mov ecx, 0x1a
idiv ecx
mov dword [rsp + 0x7c], edx
xor eax, eax
cmp eax, 1
je 0x180120ab4
mov ecx, dword [rsp + 0xb8]
imul rcx, rcx, 0x1a
mov rax, qword [rsp + 0xf8]
lea rcx, [rax + rcx + 0x1d9a]
mov eax, dword [rsp + 0x7c]
movzx eax, byte [rcx + rax]
test eax, eax
jne 0x180120ab4
mov ecx, dword [rsp + 0xb8]
imul rcx, rcx, 0x2b
mov rax, qword [rsp + 0xf8]
lea rcx, [rax + rcx + 0x1d44]
mov eax, dword [rsp + 0x7c]
movzx eax, byte [rcx + rax]
test eax, eax
jne 0x180120ab4
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x78]
add eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + rcx + 0x1414]
test eax, eax
jne 0x180120ab4
mov eax, dword [rsp + 0x7c]
add eax, eax
mov eax, eax
mov r8, qword [rsp + 0xf8]
add r8, rax
mov eax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
sub rcx, rax
mov edx, dword [rsp + 0x7c]
call fcn.18011ad80
mov edx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x7c]
lea eax, [rdx + rax*2]
mov ecx, eax
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + rcx]
test eax, eax
jne 0x180120ab4
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x7c]
lea eax, [rcx + rax*2 + 0x34]
mov ecx, eax
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + rcx]
test eax, eax
jne 0x180120ab4
xor eax, eax
mov eax, 1
jmp 0x180120bf2
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x78]
add eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + rcx + 0x1414]
cmp eax, 0x10
jge 0x180120be4
mov edx, dword [rsp + 0x78]
movzx ecx, byte [rsp + 0x64]
mov rax, qword [rsp + 0xb0]
movzx edx, byte [rax + rdx]
xor edx, ecx
mov ecx, dword [rsp + 0x78]
mov rax, qword [rsp + 0xb0]
mov byte [rax + rcx], dl
xor eax, eax
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x78]
add eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
movzx edx, byte [rax + rcx + 0x1414]
add dl, 1
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x78]
add eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
mov byte [rax + rcx + 0x1414], dl
mov edx, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xb8]
imul rcx, rcx, 0x2b
mov rax, qword [rsp + 0xf8]
lea rax, [rax + rcx + 0x1d44]
movzx edi, byte [rax + rdx]
add dil, 1
mov edx, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xb8]
imul rcx, rcx, 0x2b
mov rax, qword [rsp + 0xf8]
lea rax, [rax + rcx + 0x1d44]
mov byte [rax + rdx], dil
mov r8, qword [rsp + 0xf8]
mov edx, dword [rsp + 0xb8]
mov ecx, dword [rsp + 0x78]
call fcn.18011a070
cmp dword [rsp + 0xf0], 0
je 0x180120be2
xor edx, edx
mov eax, dword [rsp + 0x78]
mov ecx, 2
div ecx
mov r9, qword [rsp + 0xf8]
mov r8d, eax
mov edx, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0xf8]
call fcn.180120c10
jmp 0x180120beb
mov eax, 1
jmp 0x180120bf2
jmp 0x18012044d
xor eax, eax
add rsp, 0x98
pop rdi
pop rsi
ret