Function at 0x180007f19
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov edi, dword [0x1800ac71b]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x18]
lea rsi, [rax + 0x10]
mov rbx, qword [rax + 0x10]
cmp rsi, rbx
je 0x180007fc0
mov rcx, qword [rbx + 0x60]
call fcn.180007ebb
cmp edi, eax
je 0x180007f6d
mov rbx, qword [rbx]
cmp rsi, rbx
jne 0x180007f50
mov r13d, 0
jmp 0x180007f71
mov r13, qword [rbx + 0x30]
mov ebx, dword [0x1800ac6f7]
mov r12d, dword [0x1800ac713]
mov eax, dword [0x1800ac6f3]
movsxd rdx, dword [r13 + 0x3c]
mov eax, eax
lea rax, [r13 + rax*8 + 0x80]
mov r15d, dword [rdx + rax + 8]
lea rax, [r13 + r15]
mov qword [rsp + 0x40], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x1800080bb
lea r14d, [rax - 1]
mov edi, 0
add rbp, r13
mov r15d, ebx
jmp 0x18000800d
mov r13d, 0
jmp 0x180007f71
mov edx, r15d
movzx eax, r8b
add edx, eax
add rcx, 1
cmp rcx, r9
je 0x180007ff8
movzx r8d, byte [rcx]
test ebx, ebx
je 0x180007fc8
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x180007fe7
imul edx, ebx
jmp 0x180007fcb
mov edx, 0
cmp r12d, edx
je 0x180008032
lea rax, [rdi + 1]
cmp rdi, r14
je 0x1800080b4
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r13
mov rcx, rsi
call fcn.180007efc
test eax, eax
je 0x180007ff3
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
jmp 0x180007fda
mov rsi, qword [rsp + 0x40]
mov eax, dword [rsi + 0x24]
lea rdx, [r13 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r13 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r13
mov edx, dword [0x1800ac72f]
mov edx, edx
mov ecx, 0
call rax
mov r15, rax
mov ebx, dword [0x1800ac6f7]
mov r12d, dword [0x1800ac6eb]
mov eax, dword [0x1800ac6f3]
movsxd rdx, dword [r13 + 0x3c]
mov eax, eax
lea rax, [r13 + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, r13
mov qword [rsp + 0x48], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180008186
lea r14d, [rax - 1]
mov edi, 0
add rbp, r13
mov qword [rsp + 0x40], r15
mov r15d, ebx
jmp 0x180008103
mov eax, 0
jmp 0x180008051
mov eax, 0
jmp 0x180008051
mov edx, r15d
movzx eax, r8b
add edx, eax
add rcx, 1
cmp rcx, r9
je 0x1800080f2
movzx r8d, byte [rcx]
test ebx, ebx
je 0x1800080c2
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x1800080e1
imul edx, ebx
jmp 0x1800080c5
mov edx, 0
cmp r12d, edx
je 0x180008128
lea rax, [rdi + 1]
cmp rdi, r14
je 0x18000817a
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r13
mov rcx, rsi
call fcn.180007efc
test eax, eax
je 0x1800080ed
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
jmp 0x1800080d4
mov r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x24]
lea rdx, [r13 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r13 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r13
mov r8d, 0x104
mov rdx, r15
mov ecx, 0
call rax
mov r9, qword [str.ogyui]
lea edx, [rax - 1]
mov ecx, dword [0x1800ac733]
mov r8d, edx
cmp word [r15 + r8*2], cx
jne 0x18000818f
mov edx, eax
jmp 0x1800081ac
mov r15, qword [rsp + 0x40]
mov eax, 0
jmp 0x18000814c
mov eax, 0
jmp 0x18000814c
mov edx, eax
lea eax, [rdx + 1]
mov word [r15 + rax*2], 0
lea eax, [rdx - 1]
mov r8d, eax
mov ecx, dword [0x1800ac733]
cmp word [r15 + r8*2], cx
jne 0x18000818d
movzx eax, byte [r9]
test al, al
je 0x1800081d2
mov ecx, 0
lea r8d, [rdx + rcx]
cbw
mov word [r15 + r8*2], ax
add ecx, 1
mov eax, ecx
movzx eax, byte [r9 + rax]
test al, al
jne 0x1800081b9
mov ebx, dword [0x1800ac6f7]
mov r12d, dword [0x1800ac6df]
mov eax, dword [0x1800ac6f3]
movsxd rdx, dword [r13 + 0x3c]
mov eax, eax
lea rax, [r13 + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, r13
mov qword [rsp + 0x48], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x18000834d
lea r14d, [rax - 1]
mov edi, 0
add rbp, r13
mov qword [rsp + 0x40], r15
mov r15d, ebx
jmp 0x180008268
mov edx, r15d
movzx eax, r8b
add edx, eax
add rcx, 1
cmp rcx, r9
je 0x180008253
movzx r8d, byte [rcx]
test ebx, ebx
je 0x180008223
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x180008242
imul edx, ebx
jmp 0x180008226
mov edx, 0
cmp r12d, edx
je 0x18000828d
lea rax, [rdi + 1]
cmp rdi, r14
je 0x18000833e
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r13
mov rcx, rsi
call fcn.180007efc
test eax, eax
je 0x18000824e
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
jmp 0x180008235
mov r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x24]
lea rdx, [r13 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r13 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r13
mov r9d, dword [0x1800ac6fb]
mov ecx, dword [0x1800ac73f]
mov r8d, dword [0x1800ac6ef]
mov edx, dword [0x1800ac6ff]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x20], ecx
mov r9d, 0
mov rcx, r15
call rax
mov qword [rsp + 0x40], rax
mov ebx, dword [0x1800ac6f7]
mov r12d, dword [0x1800ac737]
mov eax, dword [0x1800ac6f3]
movsxd rdx, dword [r13 + 0x3c]
mov eax, eax
lea rax, [r13 + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, r13
mov qword [rsp + 0x50], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180008461
lea r14d, [rax - 1]
mov edi, 0
add rbp, r13
mov qword [rsp + 0x48], r15
mov r15d, ebx
jmp 0x180008376
mov r15, qword [rsp + 0x40]
mov eax, 0
jmp 0x1800082b1
mov eax, 0
jmp 0x1800082b1
mov edx, r15d
jmp 0x1800083b0
mov edx, 0
cmp r12d, edx
je 0x1800083c1
lea rax, [rdi + 1]
cmp rdi, r14
je 0x180008455
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r13
mov rcx, rsi
call fcn.180007efc
test eax, eax
je 0x18000835c
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
movzx r8d, byte [rcx]
test ebx, ebx
je 0x180008357
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x1800083a6
imul edx, ebx
movzx eax, r8b
add edx, eax
add rcx, 1
cmp rcx, r9
jne 0x180008399
jmp 0x180008361
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov eax, dword [rsi + 0x24]
lea rdx, [r13 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r13 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r13
mov edx, 0
mov rcx, qword [rsp + 0x40]
call rax
mov esi, eax
mov dword [rsp + 0x50], eax
mov eax, 0
test esi, esi
je 0x18000882a
mov ebx, dword [0x1800ac6f7]
mov r12d, dword [0x1800ac6db]
mov eax, dword [0x1800ac6f3]
movsxd rdx, dword [r13 + 0x3c]
mov eax, eax
lea rax, [r13 + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, r13
mov qword [rsp + 0x58], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x1800085ca
lea r14d, [rax - 1]
mov edi, 0
add rbp, r13
mov qword [rsp + 0x48], r15
mov r15d, ebx
jmp 0x1800084b0
mov r15, qword [rsp + 0x48]
mov eax, 0
jmp 0x1800083e5
mov eax, 0
jmp 0x1800083e5
mov edx, r15d
movzx eax, r8b
add edx, eax
add rcx, 1
cmp r9, rcx
je 0x18000849b
movzx r8d, byte [rcx]
test ebx, ebx
je 0x18000846b
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x18000848a
imul edx, ebx
jmp 0x18000846e
mov edx, 0
cmp r12d, edx
je 0x1800084d5
lea rax, [rdi + 1]
cmp r14, rdi
je 0x1800085bb
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r13
mov rcx, rsi
call fcn.180007efc
test eax, eax
je 0x180008496
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
jmp 0x18000847d
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsi + 0x24]
lea rdx, [r13 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r13 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r13
mov dword [rsp + 0x7c], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x7c]
mov r8d, dword [rsp + 0x50]
mov rdx, r15
mov rcx, qword [rsp + 0x40]
call rax
mov eax, dword [rsp + 0x7c]
add rax, r15
mov qword [rsp + 0x40], rax
mov eax, dword [0x1800ac70f]
mov eax, eax
add rax, r15
mov ecx, dword [rax]
mov r8d, dword [rax + 4]
lea rdx, [rax + 8]
test ecx, ecx
je 0x180008557
lea ecx, [rcx - 1]
lea rcx, [rax + rcx*4 + 0xc]
add dword [rdx], r8d
add rdx, 4
cmp rdx, rcx
jne 0x18000854b
mov edx, dword [0x1800ac747]
mov edx, edx
add rax, rdx
mov qword [rsp + 0x48], rax
mov ebx, dword [0x1800ac6f7]
mov r12d, dword [0x1800ac70b]
mov eax, dword [0x1800ac6f3]
movsxd rdx, dword [r13 + 0x3c]
lea rsi, [r13 + rdx]
mov qword [rsp + 0x58], rsi
mov eax, eax
mov r15d, dword [rsi + rax*8 + 0x88]
lea rax, [r13 + r15]
mov qword [rsp + 0x50], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x1800086b4
lea r15d, [rax - 1]
mov edi, 0
add rbp, r13
mov r14d, ebx
jmp 0x180008619
mov r15, qword [rsp + 0x48]
mov eax, 0
jmp 0x1800084f9
mov eax, 0
jmp 0x1800084f9
mov edx, r14d
movzx eax, r8b
add edx, eax
add rcx, 1
cmp rcx, r9
je 0x180008604
movzx r8d, byte [rcx]
test ebx, ebx
je 0x1800085d4
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x1800085f3
imul edx, ebx
jmp 0x1800085d7
mov edx, 0
cmp r12d, edx
je 0x18000863e
lea rax, [rdi + 1]
cmp rdi, r15
je 0x1800086ad
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r13
mov rcx, rsi
call fcn.180007efc
test eax, eax
je 0x1800085ff
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
jmp 0x1800085e6
mov rsi, qword [rsp + 0x50]
mov eax, dword [rsi + 0x24]
lea rdx, [r13 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r13 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r13
mov qword [rsp + 0x50], rax
mov ebx, dword [0x1800ac6f7]
mov r12d, dword [0x1800ac723]
mov eax, dword [0x1800ac6f3]
mov eax, eax
mov rsi, qword [rsp + 0x58]
mov r15d, dword [rsi + rax*8 + 0x88]
lea rax, [r13 + r15]
mov qword [rsp + 0x58], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180008848
lea r15d, [rax - 1]
mov edi, 0
add rbp, r13
mov r14d, ebx
jmp 0x1800086da
mov eax, 0
jmp 0x18000865d
mov eax, 0
jmp 0x18000865d
mov edx, r14d
jmp 0x180008714
mov edx, 0
cmp r12d, edx
je 0x180008725
lea rax, [rdi + 1]
cmp rdi, r15
je 0x18000883e
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r13
mov rcx, rsi
call fcn.180007efc
test eax, eax
je 0x1800086c0
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
movzx r8d, byte [rcx]
test ebx, ebx
je 0x1800086bb
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x18000870a
imul edx, ebx
movzx eax, r8b
add edx, eax
add rcx, 1
cmp r9, rcx
jne 0x1800086fd
jmp 0x1800086c5
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsi + 0x24]
lea rdx, [r13 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r13 + rdx*4]
mov esi, dword [rdx + rax]
add rsi, r13
mov rbx, qword [rsp + 0x48]
lea rdi, [rbx + 0x1e]
mov ecx, dword [0x1800ac6ef]
mov ecx, ecx
add rcx, rdi
mov rax, qword [rsp + 0x50]
call rax
movsx rdx, byte [rbx + 0x1e]
add rdx, rdi
mov edi, dword [0x1800ac717]
mov edi, edi
add rdi, rdx
mov ebp, dword [rdx + 4]
mov r14d, dword [rdx + 8]
mov r12d, r14d
lea r15, [rdi + r12]
movsxd rdx, dword [rax + 0x3c]
mov ebx, dword [rax + rdx + 0x2c]
add rbx, rax
mov dword [rsp + 0x78], 0
mov r8d, dword [0x1800ac73b]
lea r13, [rsp + 0x78]
mov r9, r13
mov rdx, r12
mov rcx, rbx
call rsi
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.180007e80
mov r9, r13
mov r8d, dword [rsp + 0x78]
mov rdx, r12
mov rcx, rbx
call rsi
mov ebp, ebp
add rbx, rbp
mov rax, qword [0x1800ac6e3]
cmp byte [rax], 0
je 0x180008852
mov eax, 0
mov rcx, qword [rsp + 0x40]
mov rdx, qword [0x1800ac6e3]
movsx dx, byte [rdx + rax]
mov word [rcx + rax*2], dx
mov rdx, qword [0x1800ac6e3]
add rax, 1
cmp byte [rdx + rax], 0
jne 0x1800087e3
mov rsi, qword [rsp + 0x40]
mov word [rsi + rax*2], 0
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], r15
mov byte [rsp + 0x70], 1
lea rcx, [rsp + 0x60]
call rbx
mov eax, 1
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov esi, 0
jmp 0x180008744
mov esi, 0
jmp 0x180008744
mov eax, 0
jmp 0x180008804