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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov rax, qword [rbp + 0x10]
add rax, 0x3c
mov ecx, dword [rax]
mov dword [rbp - 0x10], ecx
mov eax, 1
mov dword [rbp - 0x14], eax
mov eax, 0
mov dword [rbp - 0x18], eax
mov rax, qword [rbp + 0x10]
add rax, 0x40
mov ecx, dword [rax]
cmp ecx, 0
jne 0x4234e5
mov eax, dword [rbp + 0x20]
movsxd rax, eax
movabs rcx, 0x38
imul rax, rcx
add rax, 0x40
mov dword [rbp - 0x18], eax
mov eax, 0x200000
mov dword [rbp - 0x1c], eax
mov rax, qword [rbp + 0x10]
add rax, 0x8c
mov ecx, dword [rax]
cmp ecx, 0
je 0x423513
mov rax, qword [rbp + 0x10]
add rax, 0x8c
mov ecx, dword [rax]
mov dword [rbp - 0x1c], ecx
mov eax, dword [rbp + 0x20]
cmp eax, 0
jle 0x423ae9
mov rax, qword [rbp + 0x10]
add rax, 0x88
mov ecx, dword [rax]
cmp ecx, 0
je 0x423593
mov rax, qword [rbp + 0x10]
add rax, 0x80
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
mov eax, dword [rbp - 0x1c]
sub eax, 1
mov rcx, qword [rbp - 0x30]
and rcx, rax
mov dword [rbp - 0x44], ecx
mov eax, dword [rbp - 0x1c]
sub eax, 1
mov ecx, dword [rbp - 0x18]
and ecx, eax
mov dword [rbp - 0x48], ecx
mov eax, dword [rbp - 0x44]
mov ecx, dword [rbp - 0x48]
cmp eax, ecx
jge 0x42357e
mov eax, dword [rbp - 0x44]
mov ecx, dword [rbp - 0x1c]
add eax, ecx
mov dword [rbp - 0x44], eax
mov eax, dword [rbp - 0x44]
mov ecx, dword [rbp - 0x48]
sub eax, ecx
mov ecx, dword [rbp - 0x18]
add ecx, eax
mov dword [rbp - 0x18], ecx
jmp 0x4235d6
mov eax, dword [rbp - 0x10]
cmp eax, 3
jne 0x4235b2
movabs rax, 0
mov qword [rbp - 0x30], rax
jmp 0x4235c0
movabs rax, 0x400000
mov qword [rbp - 0x30], rax
mov eax, dword [rbp - 0x1c]
sub eax, 1
mov ecx, dword [rbp - 0x18]
and ecx, eax
mov rax, qword [rbp - 0x30]
add rax, rcx
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp + 0x28]
cmp rax, 0
je 0x4235f8
mov rax, qword [rbp - 0x38]
add rax, 0x70
mov qword [rbp - 0x38], rax
mov rax, qword [rbp + 0x38]
add rax, 0x18
mov rcx, qword [rbp + 0x38]
add rcx, 0x20
movabs rdx, 0
mov qword [rcx], rdx
mov qword [rax], rdx
mov eax, 0
mov dword [rbp - 8], eax
mov eax, dword [rbp - 8]
cmp eax, 2
jge 0x423ae9
jmp 0x42363f
mov eax, dword [rbp - 8]
mov rcx, rax
add eax, 1
mov dword [rbp - 8], eax
jmp 0x423620
mov rax, qword [rbp - 0x38]
mov ecx, 1
mov dword [rax], ecx
mov eax, dword [rbp - 8]
cmp eax, 0
jne 0x42366a
mov rax, qword [rbp - 0x38]
add rax, 4
mov ecx, 5
mov dword [rax], ecx
jmp 0x423679
mov rax, qword [rbp - 0x38]
add rax, 4
mov ecx, 6
mov dword [rax], ecx
mov rax, qword [rbp - 0x38]
add rax, 0x30
mov ecx, dword [rbp - 0x1c]
mov qword [rax], rcx
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
cmp eax, 5
jge 0x423991
jmp 0x4236ae
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x42368f
mov eax, 1
mov dword [rbp - 4], eax
mov rax, qword [rbp + 0x10]
add rax, 0x538
mov ecx, dword [rbp - 4]
mov edx, dword [rax]
cmp ecx, edx
jge 0x42398c
jmp 0x4236e1
mov eax, dword [rbp - 4]
mov rcx, rax
add eax, 1
mov dword [rbp - 4], eax
jmp 0x4236b6
mov rax, qword [rbp + 0x10]
add rax, 0x530
mov ecx, dword [rbp - 4]
movsxd rcx, ecx
shl rcx, 3
mov rdx, qword [rax]
add rdx, rcx
mov rax, qword [rdx]
mov qword [rbp - 0x40], rax
mov eax, dword [rbp - 8]
cmp eax, 0
jne 0x42372f
mov rax, qword [rbp - 0x40]
add rax, 0x20
mov ecx, dword [rax]
and ecx, 3
cmp ecx, 2
je 0x42372a
jmp 0x4236d3
jmp 0x42374a
mov rax, qword [rbp - 0x40]
add rax, 0x20
mov ecx, dword [rax]
and ecx, 3
cmp ecx, 3
je 0x42374a
jmp 0x4236d3
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x28]
cmp rax, rcx
jne 0x423771
mov eax, dword [rbp - 0xc]
cmp eax, 0
je 0x42376c
jmp 0x4236d3
jmp 0x423828
mov rax, qword [rbp - 0x40]
add rax, 0x1c
mov ecx, dword [rax]
cmp ecx, 0xb
je 0x4237af
mov rax, qword [rbp - 0x40]
add rax, 0x1c
mov ecx, dword [rax]
cmp ecx, 3
je 0x4237af
mov rax, qword [rbp - 0x40]
add rax, 0x1c
mov ecx, dword [rax]
cmp ecx, 5
je 0x4237af
jmp 0x4237c5
mov eax, dword [rbp - 0xc]
cmp eax, 1
je 0x4237c0
jmp 0x4236d3
jmp 0x423828
mov rax, qword [rbp - 0x40]
add rax, 0x1c
mov ecx, dword [rax]
cmp ecx, 4
jne 0x4237ee
mov eax, dword [rbp - 0xc]
cmp eax, 2
je 0x4237e9
jmp 0x4236d3
jmp 0x423828
mov rax, qword [rbp - 0x40]
add rax, 0x1c
mov ecx, dword [rax]
cmp ecx, 8
jne 0x423817
mov eax, dword [rbp - 0xc]
cmp eax, 4
je 0x423812
jmp 0x4236d3
jmp 0x423828
mov eax, dword [rbp - 0xc]
cmp eax, 3
je 0x423828
jmp 0x4236d3
mov eax, dword [rbp - 0x14]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x14], eax
movsxd rcx, ecx
shl rcx, 2
mov rax, qword [rbp + 0x40]
add rax, rcx
mov ecx, dword [rbp - 4]
mov dword [rax], ecx
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x40]
add rax, 0x28
mov ecx, dword [rax]
movsxd rcx, ecx
mov rax, qword [rbp - 0x30]
add rax, rcx
sub rax, 1
mov rcx, qword [rbp - 0x40]
add rcx, 0x28
mov edx, dword [rcx]
sub edx, 1
xor edx, 0xffffffff
movsxd rdx, edx
and rax, rdx
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
sub rax, rcx
mov ecx, dword [rbp - 0x18]
add ecx, eax
mov dword [rbp - 0x18], ecx
mov rax, qword [rbp - 0x40]
add rax, 0x40
mov ecx, dword [rbp - 0x18]
mov dword [rax], ecx
mov rax, qword [rbp - 0x40]
add rax, 0x38
mov rcx, qword [rbp - 0x30]
mov qword [rax], rcx
mov rax, qword [rbp - 0x38]
add rax, 8
mov rcx, qword [rax]
cmp rcx, 0
jne 0x4238fb
mov rax, qword [rbp - 0x38]
add rax, 8
mov ecx, dword [rbp - 0x18]
movsxd rcx, ecx
mov qword [rax], rcx
mov rax, qword [rbp - 0x38]
add rax, 0x10
mov rcx, qword [rbp - 0x30]
mov qword [rax], rcx
mov rax, qword [rbp - 0x38]
add rax, 0x18
mov rcx, qword [rbp - 0x38]
add rcx, 0x10
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rax, qword [rbp - 0x40]
add rax, 0x1c
mov ecx, dword [rax]
cmp ecx, 4
jne 0x42394d
mov rax, qword [rbp + 0x38]
add rax, 0x20
mov rcx, qword [rax]
cmp rcx, 0
jne 0x423932
mov rax, qword [rbp + 0x38]
add rax, 0x18
mov rcx, qword [rbp - 0x30]
mov qword [rax], rcx
mov rax, qword [rbp + 0x38]
add rax, 0x20
mov rcx, qword [rbp - 0x40]
add rcx, 0x30
mov edx, dword [rcx]
mov rcx, qword [rax]
add rcx, rdx
mov qword [rax], rcx
mov rax, qword [rbp - 0x40]
add rax, 0x30
mov ecx, dword [rax]
mov rax, qword [rbp - 0x30]
add rax, rcx
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x40]
add rax, 0x1c
mov ecx, dword [rax]
cmp ecx, 8
je 0x423987
mov rax, qword [rbp - 0x40]
add rax, 0x30
mov ecx, dword [rbp - 0x18]
mov edx, dword [rax]
add ecx, edx
mov dword [rbp - 0x18], ecx
jmp 0x4236d3
jmp 0x4236a0
mov eax, dword [rbp - 8]
cmp eax, 0
jne 0x423a09
mov rax, qword [rbp - 0x38]
add rax, 8
mov rcx, qword [rbp - 0x38]
add rcx, 0x30
mov rdx, qword [rcx]
sub rdx, 1
xor rdx, 0xffffffffffffffff
mov rcx, qword [rax]
and rcx, rdx
mov qword [rax], rcx
mov rax, qword [rbp - 0x38]
add rax, 0x10
mov rcx, qword [rbp - 0x38]
add rcx, 0x30
mov rdx, qword [rcx]
sub rdx, 1
xor rdx, 0xffffffffffffffff
mov rcx, qword [rax]
and rcx, rdx
mov qword [rax], rcx
mov rax, qword [rbp - 0x38]
add rax, 0x18
mov rcx, qword [rbp - 0x38]
add rcx, 0x30
mov rdx, qword [rcx]
sub rdx, 1
xor rdx, 0xffffffffffffffff
mov rcx, qword [rax]
and rcx, rdx
mov qword [rax], rcx
mov rax, qword [rbp - 0x38]
add rax, 0x20
mov rcx, qword [rbp - 0x38]
add rcx, 8
mov edx, dword [rbp - 0x18]
movsxd rdx, edx
mov qword [rbp - 0x50], rax
mov rax, qword [rcx]
sub rdx, rax
mov rax, qword [rbp - 0x50]
mov qword [rax], rdx
mov rax, qword [rbp - 0x38]
add rax, 0x28
mov rcx, qword [rbp - 0x38]
add rcx, 0x10
mov rdx, qword [rbp - 0x30]
mov qword [rbp - 0x58], rax
mov rax, qword [rcx]
sub rdx, rax
mov rax, qword [rbp - 0x58]
mov qword [rax], rdx
mov rax, qword [rbp - 0x38]
mov rcx, rax
add rax, 0x38
mov qword [rbp - 0x38], rax
mov eax, dword [rbp - 8]
cmp eax, 0
jne 0x423ae4
mov rax, qword [rbp + 0x10]
add rax, 0x40
mov ecx, dword [rax]
cmp ecx, 0
jne 0x423aad
mov eax, dword [rbp - 0x1c]
sub eax, 1
mov rcx, qword [rbp - 0x30]
and rcx, rax
cmp rcx, 0
je 0x423aa8
mov eax, dword [rbp - 0x1c]
mov rcx, qword [rbp - 0x30]
add rcx, rax
mov qword [rbp - 0x30], rcx
jmp 0x423ae4
mov eax, dword [rbp - 0x1c]
mov rcx, qword [rbp - 0x30]
add rcx, rax
sub rcx, 1
mov eax, dword [rbp - 0x1c]
sub eax, 1
xor eax, 0xffffffff
and rcx, rax
mov qword [rbp - 0x30], rcx
mov eax, dword [rbp - 0x18]
mov ecx, dword [rbp - 0x1c]
add eax, ecx
sub eax, 1
mov ecx, dword [rbp - 0x1c]
sub ecx, 1
xor ecx, 0xffffffff
and eax, ecx
mov dword [rbp - 0x18], eax
jmp 0x423631
mov eax, 1
mov dword [rbp - 4], eax
mov rax, qword [rbp + 0x10]
add rax, 0x538
mov ecx, dword [rbp - 4]
mov edx, dword [rax]
cmp ecx, edx
jge 0x423be2
jmp 0x423b1c
mov eax, dword [rbp - 4]
mov rcx, rax
add eax, 1
mov dword [rbp - 4], eax
jmp 0x423af1
mov rax, qword [rbp + 0x10]
add rax, 0x530
mov ecx, dword [rbp - 4]
movsxd rcx, ecx
shl rcx, 3
mov rdx, qword [rax]
add rdx, rcx
mov rax, qword [rdx]
mov qword [rbp - 0x40], rax
mov eax, dword [rbp + 0x20]
cmp eax, 0
jle 0x423b65
mov rax, qword [rbp - 0x40]
add rax, 0x20
mov ecx, dword [rax]
and ecx, 2
cmp ecx, 0
je 0x423b65
jmp 0x423b0e
mov eax, dword [rbp - 0x14]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x14], eax
movsxd rcx, ecx
shl rcx, 2
mov rax, qword [rbp + 0x40]
add rax, rcx
mov ecx, dword [rbp - 4]
mov dword [rax], ecx
mov rax, qword [rbp - 0x40]
add rax, 0x28
mov ecx, dword [rbp - 0x18]
mov edx, dword [rax]
add ecx, edx
sub ecx, 1
mov rax, qword [rbp - 0x40]
add rax, 0x28
mov edx, dword [rax]
sub edx, 1
xor edx, 0xffffffff
and ecx, edx
mov dword [rbp - 0x18], ecx
mov rax, qword [rbp - 0x40]
add rax, 0x40
mov ecx, dword [rbp - 0x18]
mov dword [rax], ecx
mov rax, qword [rbp - 0x40]
add rax, 0x1c
mov ecx, dword [rax]
cmp ecx, 8
je 0x423bdd
mov rax, qword [rbp - 0x40]
add rax, 0x30
mov ecx, dword [rbp - 0x18]
mov edx, dword [rax]
add ecx, edx
mov dword [rbp - 0x18], ecx
jmp 0x423b0e
mov eax, dword [rbp - 0x18]
leave
ret