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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x230
mov rax, qword [0x100085100]
xor rax, rsp
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x290]
xor edi, edi
mov r13, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x298]
lea rcx, [r11 - 0x138]
mov qword [rsp + 0x58], rax
lea rax, [0x1000019d8]
mov rsi, r9
mov qword [r11 - 0x1c0], rax
mov rax, qword [0x1000882d8]
mov dword [rsp + 0x60], r8d
mov qword [r11 - 0x1b8], rax
mov dword [rsp + 0xb8], edi
mov qword [r11 - 0x1a8], rdi
mov qword [r11 - 0x1a0], rdi
mov qword [rsp + 0x70], rdx
call fcn.1000459a4
mov rcx, qword [0x1000882a8]
lea rdx, [0x1000017d8]
lea rax, [0x10000c558]
mov qword [rsp + 0x80], rax
mov rax, qword [0x100088598]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0xd8], rcx
lea rcx, [rsp + 0x1d0]
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x118], edi
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x120], rdi
mov dword [rsp + 0x128], edi
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xe0], rdi
mov dword [rsp + 0xe8], edi
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xf0], rdi
mov dword [rsp + 0xf8], edi
call fcn.1000429d8
mov r9, qword [r13]
mov rcx, r13
call qword [r9 + 0x90]
mov ebx, eax
mov ecx, eax
mov dword [rsp + 0x64], ebx
call fcn.100018e68
mov r12, rax
cmp rax, rdi
jne 0x100051c46
lea rcx, [0x10000c698]
call fcn.100015f80
mov dword [rsp + 0x30], 0x107f
lea r9d, [rdi + 3]
lea r8d, [rdi + 1]
mov qword [rsp + 0x28], rax
lea rax, [0x100001698]
mov edx, 0x43c
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.100015894
lea rcx, [rsp + 0x1d0]
call fcn.100042b04
lea rcx, [rsp + 0xd0]
call fcn.1000131dc
lea rcx, [rsp + 0x100]
call fcn.1000131dc
lea rcx, [rsp + 0x130]
call fcn.100045a60
lea rcx, [rsp + 0xa8]
call fcn.1000166d4
xor al, al
jmp 0x1000521b2
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.ntdll.dll_memset
lea rcx, [rsp + 0x1d0]
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
call fcn.100042a6c
cmp al, dil
jne 0x100051c98
mov rcx, r12
call fcn.100018fa4
lea rcx, [0x10000c698]
call fcn.100015f80
mov r9d, 3
mov dword [rsp + 0x30], 0x1087
lea r8d, [r9 - 2]
jmp 0x10005276e
mov rax, qword [r13]
mov rbx, qword [r13 + 0x30]
mov rcx, r13
call qword [rax + 0x68]
mov rcx, rbx
movzx ebp, ax
mov rax, qword [rbx]
call qword [rax + 0x10]
mov ebx, 6
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x48], edi
lea r15d, [rbx - 4]
lea r14d, [rbx - 3]
imul ebp, eax
mov dword [rsp + 0x4c], ebp
lea ebp, [rbx - 5]
mov dword [rsp + 0x54], ebx
cmp ebx, 6
jb 0x10005200f
mov r9, qword [r13 + 0x48]
cmp r15d, dword [r9 + 0x38]
jae 0x10005200f
mov al, byte [r9 + 0x50]
cmp al, 0xc
jne 0x100051d22
mov rcx, qword [r9 + 0x30]
mov eax, ebx
shr eax, 1
add eax, ebp
movzx edx, byte [rax + rcx]
mov eax, ebx
shr rax, 1
movzx ecx, byte [rax + rcx]
test bpl, bl
je 0x100051d18
shl edx, 4
shr ecx, 4
jmp 0x100051d1e
and edx, 0xf
shl edx, 8
or edx, ecx
jmp 0x100051d3c
cmp al, 0x10
mov rax, qword [r9 + 0x30]
mov ecx, r15d
jne 0x100051d33
movzx edx, word [rax + rcx*2]
jmp 0x100051d3c
mov edx, dword [rax + rcx*4]
and edx, 0xfffffff
cmp edx, edi
je 0x100052004
mov r11, qword [rsp + 0x70]
mov edx, r15d
mov r10d, r15d
mov eax, dword [r11 + 0x18]
mov cl, byte [r11 + 0x14]
and eax, r15d
shr rdx, cl
movzx r8d, al
mov rax, qword [r11 + 0x20]
mov ecx, dword [rax + rdx*4]
bt ecx, r8d
jb 0x100052004
mov al, byte [r9 + 0x50]
cmp al, 0xc
jne 0x100051da8
mov rcx, qword [r9 + 0x30]
mov eax, ebx
shr eax, 1
add eax, ebp
movzx edx, byte [rax + rcx]
mov eax, ebx
shr rax, 1
movzx ecx, byte [rax + rcx]
test bpl, bl
je 0x100051d9e
shl edx, 4
shr ecx, 4
jmp 0x100051da4
and edx, 0xf
shl edx, 8
or edx, ecx
jmp 0x100051dc1
cmp al, 0x10
mov rax, qword [r9 + 0x30]
jne 0x100051db7
movzx edx, word [rax + r10*2]
jmp 0x100051dc1
mov edx, dword [rax + r10*4]
and edx, 0xfffffff
cmp edx, dword [r9 + 0x44]
je 0x100052004
mov edx, r15d
mov rcx, r9
call fcn.1000458d8
cmp al, dil
jne 0x100052004
mov r8d, dword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1f0]
add dword [rsp + 0x44], ebp
shl r8, 2
xor edx, edx
call sub.ntdll.dll_memset
mov rcx, qword [r13 + 0x48]
lea r11, [rsp + 0x68]
lea rax, [rsp + 0x42]
mov qword [rsp + 0x28], r11
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x1d0]
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.100045040
cmp byte [rsp + 0x40], dil
je 0x100051e66
mov rdx, qword [rsp + 0x78]
mov rcx, rsi
call fcn.10004a32c
mov r11, qword [rsi]
mov r9d, r14d
xor r8d, r8d
mov edx, 0x13ab
mov rcx, rsi
call qword [r11 + 0x18]
lea rdx, [0x100001664]
mov r8d, r15d
mov rcx, rsi
call fcn.1000157e0
add dword [rsp + 0x48], ebp
mov ebx, r15d
mov rdx, qword [r13 + 0x48]
mov al, byte [rdx + 0x50]
cmp al, 0xc
jne 0x100051eaf
mov r9, qword [rdx + 0x30]
lea ecx, [rbx + rbx*2]
mov eax, ecx
shr eax, 1
add eax, ebp
movzx r8d, byte [rax + r9]
mov eax, ecx
shr rax, 1
test bpl, cl
movzx ecx, byte [rax + r9]
je 0x100051ea2
shl r8d, 4
shr ecx, 4
jmp 0x100051eaa
and r8d, 0xf
shl r8d, 8
or r8d, ecx
jmp 0x100051ecb
cmp al, 0x10
mov rax, qword [rdx + 0x30]
mov ecx, ebx
jne 0x100051ec0
movzx r8d, word [rax + rcx*2]
jmp 0x100051ecb
mov r8d, dword [rax + rcx*4]
and r8d, 0xfffffff
cmp r8d, dword [rdx + 0x3c]
jae 0x100051fd7
mov al, byte [rdx + 0x50]
cmp al, 0xc
jne 0x100051f13
mov r9, qword [rdx + 0x30]
lea ecx, [rbx + rbx*2]
mov eax, ecx
shr eax, 1
add eax, ebp
movzx r8d, byte [rax + r9]
mov eax, ecx
shr rax, 1
test bpl, cl
movzx ecx, byte [rax + r9]
je 0x100051f06
shl r8d, 4
shr ecx, 4
jmp 0x100051f0e
and r8d, 0xf
shl r8d, 8
or r8d, ecx
jmp 0x100051f2f
cmp al, 0x10
mov rax, qword [rdx + 0x30]
mov ecx, ebx
jne 0x100051f24
movzx r8d, word [rax + rcx*2]
jmp 0x100051f2f
mov r8d, dword [rax + rcx*4]
and r8d, 0xfffffff
lea r10, [r8 + r12]
mov r9d, r8d
cmp byte [r10], bpl
je 0x100051fce
mov rdx, qword [rsp + 0x70]
mov ecx, r8d
mov r11d, ebp
and ecx, dword [rdx + 0x18]
mov rax, rdx
mov rax, qword [rax + 0x20]
shl r11d, cl
mov cl, byte [rdx + 0x14]
mov rdx, r9
shr rdx, cl
test dword [rax + rdx*4], r11d
jne 0x100051f89
mov rax, qword [rsp + 0x70]
add dword [rsp + 0x48], ebp
mov ebx, r8d
mov cl, byte [rax + 0x14]
mov rax, qword [rax + 0x20]
shr r9, cl
or dword [rax + r9*4], r11d
mov byte [r10], 2
jmp 0x100051e6d
mov rdx, qword [rsp + 0x78]
mov rcx, rsi
call fcn.10004a32c
mov r11, qword [rsi]
mov r9d, r14d
xor r8d, r8d
mov edx, 0x13ac
mov rcx, rsi
call qword [r11 + 0x18]
lea rdx, [0x100001664]
mov r8d, ebx
mov rcx, rsi
call fcn.1000157e0
mov rcx, qword [r13 + 0x48]
mov edx, ebx
mov r8d, dword [rcx + 0x40]
call fcn.10001e4a4
jmp 0x100051fd7
dec dword [rsp + 0x44]
mov byte [r8 + r12], 2
mov rax, qword [rsp + 0x70]
mov ebx, dword [rsp + 0x54]
mov r9d, r15d
mov cl, byte [rax + 0x14]
mov r8, qword [rax + 0x20]
mov eax, dword [rax + 0x18]
and eax, r15d
shr r9, cl
mov edx, ebp
mov cl, al
mov r10d, r15d
shl edx, cl
or dword [r8 + r9*4], edx
mov byte [r10 + r12], bpl
add r15d, ebp
add ebx, r14d
jmp 0x100051cd1
mov byte [rsp + 0x40], dil
mov ecx, 2
cmp ecx, 2
jb 0x100052163
mov rax, qword [r13 + 0x48]
cmp ecx, dword [rax + 0x38]
jae 0x100052163
mov eax, ecx
cmp byte [rax + r12], dil
jne 0x10005203b
add ecx, ebp
jmp 0x100052019
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x4c]
mov byte [rsp + 0x40], bpl
add eax, 0xfffffffe
cdqe
imul rax, rcx
mov rcx, rax
shr rcx, 0x20
cmp ecx, edi
jne 0x10005206d
cmp eax, 0xfff00000
ja 0x10005206d
mov r15b, dil
mov byte [rsp + 0x41], dil
jmp 0x100052075
mov r15b, bpl
mov byte [rsp + 0x41], bpl
mov rdx, qword [rsp + 0x78]
mov rcx, rsi
call fcn.10004a32c
mov r11, qword [rsi]
mov r9d, ebp
xor r8d, r8d
mov edx, 0x3e8
mov rcx, rsi
call qword [r11 + 0x18]
lea rdx, [0x1000013b4]
mov rcx, rsi
call fcn.1000157e0
mov r11, qword [rsi]
mov dl, bpl
mov rcx, rsi
call qword [r11 + 0x28]
cmp al, dil
jne 0x1000521dd
cmp dword [rsp + 0x60], edi
je 0x1000520fa
mov ebx, 2
cmp ebx, 2
jb 0x1000520e8
mov rcx, qword [r13 + 0x48]
cmp ebx, dword [rcx + 0x38]
jae 0x1000520e8
mov eax, ebx
cmp byte [rax + r12], bpl
jne 0x1000520e4
mov edx, ebx
call fcn.1000457ec
add ebx, ebp
jmp 0x1000520c7
mov al, r15b
neg al
sbb ecx, ecx
and ecx, 0x4e
add ecx, 0x40f
jmp 0x10005210a
mov al, r15b
neg al
sbb ecx, ecx
and ecx, 0x4e
add ecx, 0x410
movsxd rax, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x4c]
imul rax, r8
cmp r15b, dil
je 0x100052130
cqo
mov ebx, 0x3ff
and rbx, rdx
add rbx, rax
sar rbx, 0xa
jmp 0x100052132
mov ebx, eax
mov rax, qword [rsi]
mov edx, ecx
mov r9d, r14d
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x18]
lea rdx, [0x100001664]
mov r8d, ebx
mov rcx, rsi
call fcn.1000157e0
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x18], r14d
je 0x100052163
mov dword [rax + 0x18], ebp
mov rcx, r12
call fcn.100018fa4
mov dil, bpl
lea rcx, [rsp + 0x1d0]
call fcn.100042b04
lea rcx, [rsp + 0xd0]
call fcn.1000131dc
lea rcx, [rsp + 0x100]
call fcn.1000131dc
lea rcx, [rsp + 0x130]
call fcn.100045a60
lea rcx, [rsp + 0xa8]
call fcn.1000166d4
mov al, dil
mov rcx, qword [rsp + 0x220]
xor rcx, rsp
call fcn.1000807a0
mov rbx, qword [rsp + 0x280]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebx, edi
lea r8, [0x10000c710]
lea rcx, [rsp + 0x200]
mov r9d, ebx
mov edx, 0xe
call fcn.100012a20
lea rdx, [rsp + 0x200]
lea rcx, [rsp + 0x100]
or r8d, 0xffffffff
call fcn.100012b64
cmp al, dil
je 0x100052b93
mov rcx, qword [r13 + 0x58]
cmp rcx, rdi
je 0x100052238
lea rdx, [rsp + 0x100]
call fcn.10004667c
cmp rax, rdi
je 0x10005225d
mov rcx, qword [r13 + 0x60]
cmp rcx, rdi
je 0x100052253
lea rdx, [rsp + 0x100]
call fcn.10004667c
cmp rax, rdi
je 0x10005225d
add ebx, ebp
cmp ebx, 0x3e8
jb 0x1000521df
cmp ebx, 0x3e8
jne 0x1000522ca
movsxd rax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4c]
imul rax, rcx
cmp r15b, dil
je 0x10005228f
mov ebx, 0x3ff
cqo
and rbx, rdx
mov edx, 0x458
add rbx, rax
sar rbx, 0xa
jmp 0x100052296
mov ebx, eax
mov edx, 0x3f1
mov rax, qword [rsi]
mov r9d, r14d
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x18]
mov r8d, ebx
mov r9d, dword [rsp + 0x44]
lea rdx, [0x10000193c]
mov rcx, rsi
call fcn.1000157e0
mov r11, qword [rsp + 0x58]
mov dword [r11 + 0x18], r14d
jmp 0x100052163
mov ecx, dword [rsp + 0x44]
mov eax, 0x2710
cmp ecx, eax
cmovb eax, ecx
xor edx, edx
shl eax, 5
sub eax, ebp
div dword [rsp + 0x4c]
mov ebx, eax
add ebx, ebp
mov dword [rsp + 0x68], ebx
jne 0x1000522f1
mov eax, edi
jmp 0x1000522ff
mov rcx, qword [r13 + 0x48]
xor r8d, r8d
mov edx, ebx
call fcn.1000453ec
mov dword [rsp + 0x50], eax
cmp eax, edi
jne 0x100052366
mov rcx, qword [r13 + 0x48]
xor r8d, r8d
mov edx, ebp
mov dword [rsp + 0x68], ebp
call fcn.1000453ec
mov dword [rsp + 0x50], eax
cmp eax, edi
jne 0x100052366
mov rax, qword [rsi]
mov r9d, r14d
xor r8d, r8d
mov edx, 0x13ad
mov rcx, rsi
call qword [rax + 0x18]
lea rdx, [0x1000013b4]
mov rcx, rsi
call fcn.1000157e0
movsxd r11, dword [rsp + 0x48]
mov eax, dword [rsp + 0x4c]
imul r11, rax
cmp r15b, dil
je 0x10005235e
mov rax, r11
jmp 0x100052277
mov ebx, r11d
jmp 0x100052291
mov byte [rsp + 0x40], dil
cmp dword [rsp + 0x60], edi
je 0x1000523e3
mov rax, qword [r13]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
xor r9d, r9d
mov rcx, r13
mov qword [rsp + 0x28], rdi
mov byte [rsp + 0x20], bpl
call qword [rax + 0xa8]
cmp al, dil
jne 0x1000523e3
mov edx, 0x13ad
mov rax, qword [rsi]
xor r8d, r8d
mov r9d, r14d
mov rcx, rsi
call qword [rax + 0x18]
lea rdx, [0x1000013b4]
mov rcx, rsi
call fcn.1000157e0
mov r11, qword [rsi]
mov r9d, r14d
xor r8d, r8d
mov edx, 0x3f1
mov rcx, rsi
call qword [r11 + 0x18]
mov eax, dword [rsp + 0x48]
imul eax, dword [rsp + 0x4c]
mov r8d, eax
jmp 0x1000522a8
lea rcx, [rsp + 0xa8]
call fcn.10001671c
cmp al, dil
je 0x100052f57
mov eax, dword [rsp + 0x50]
mov r8, qword [r13 + 0x30]
lea rdx, [rsp + 0xa8]
mov dword [rsp + 0x28], eax
mov rax, qword [r13 + 0x48]
lea rcx, [rsp + 0x130]
mov r9, r13
mov qword [rsp + 0x20], rax
call fcn.100045a9c
cmp al, dil
je 0x100052f57
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0xc0]
cmp al, dil
je 0x100052488
mov edx, dword [rsp + 0x50]
mov rcx, r13
call fcn.100052f84
cmp al, dil
jne 0x100052488
mov edx, dword [rsp + 0x50]
mov rcx, qword [r13 + 0x48]
call fcn.1000457ec
mov r11, qword [rsi]
mov r9d, r14d
xor r8d, r8d
mov edx, 0x13ad
mov rcx, rsi
call qword [r11 + 0x18]
lea rdx, [0x1000013b4]
mov rcx, rsi
call fcn.1000157e0
jmp 0x1000522bc
mov r8d, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc8]
xor edx, edx
call sub.ntdll.dll_memset
mov r15, qword [r13 + 0x58]
cmp r15, rdi
je 0x1000524af
mov byte [rsp + 0x42], 0x10
jmp 0x1000524b8
mov r15, qword [r13 + 0x60]
mov byte [rsp + 0x42], 0x20
mov rcx, r15
call fcn.100046798
cmp rax, rdi
jne 0x1000525e3
cmp qword [r13 + 0x58], rdi
jne 0x1000525e3
mov rax, qword [r13 + 0x60]
mov rcx, qword [r13 + 0x48]
xor r8d, r8d
mov edx, dword [rax + 0x94]
mov dword [rsp + 0xa0], edx
call fcn.100044b48
mov rcx, qword [r13 + 0x60]
lea ebx, [rbp + rax]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edx, dword [rsp + 0xa0]
mov rcx, qword [r13 + 0x48]
xor r9d, r9d
mov r8d, ebx
mov dword [rsp + 0x54], eax
call fcn.100045568
cmp eax, ebx
jne 0x10005270f
cmp dword [rsp + 0x60], edi
je 0x100052569
mov rax, qword [r13]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0xa0]
xor r9d, r9d
mov rcx, r13
mov qword [rsp + 0x28], rdi
mov byte [rsp + 0x20], bpl
call qword [rax + 0xa8]
cmp al, dil
je 0x10005270f
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x20]
cmp al, dil
je 0x100052b93
mov rcx, qword [r13 + 0x68]
call fcn.10001671c
cmp al, dil
je 0x1000526d2
mov eax, dword [rsp + 0xa0]
mov r8, qword [r13 + 0x30]
mov rdx, qword [r13 + 0x68]
mov rcx, qword [r13 + 0x60]
mov dword [rsp + 0x28], eax
mov rax, qword [r13 + 0x48]
mov r9, r13
mov qword [rsp + 0x20], rax
call fcn.100045a9c
cmp al, dil
je 0x1000526d2
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp al, dil
je 0x1000526d2
mov ebx, dword [rsp + 0x54]
jmp 0x1000525ca
mov byte [rax], dil
add ebx, ebp
mov rcx, qword [r13 + 0x60]
mov edx, ebx
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp rax, rdi
jne 0x1000525c5
mov rcx, r15
call fcn.100046798
mov r15b, byte [rsp + 0x42]
mov qword [rsp + 0x90], rax
mov byte [rsp + 0x98], r15b
cmp rax, rdi
je 0x10005270f
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x20]
call sub.ntdll.dll_memset
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x80]
call fcn.100045f24
cmp al, dil
je 0x100052b93
mov rbx, qword [rsp + 0x90]
lea rcx, [rsp + 0x80]
or byte [rbx + 0xb], 0x16
call fcn.1000462bc
cmp al, dil
je 0x100052b93
lea rcx, [rsp + 0x80]
call fcn.100046418
cmp al, dil
je 0x100052b93
lea rcx, [rsp + 0x80]
call fcn.1000464ac
cmp al, dil
je 0x100052b93
cmp byte [rsp + 0x98], 0x20
mov ecx, dword [rsp + 0x50]
jne 0x100052692
mov eax, ecx
shr eax, 0x10
mov word [rbx + 0x14], ax
mov word [rbx + 0x1a], cx
cmp qword [r13 + 0x60], rdi
je 0x1000526b5
cmp dword [rsp + 0x60], edi
je 0x1000526b5
mov rcx, qword [r13 + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x20]
cmp al, dil
je 0x100052b93
cmp dword [rsp + 0x1c0], edi
jle 0x100052734
cmp byte [rsp + 0x160], dil
je 0x100052719
mov rcx, qword [rsp + 0x170]
jmp 0x100052737
lea rcx, [0x10000c698]
call fcn.100015f80
mov dword [rsp + 0x30], 0x119f
mov qword [rsp + 0x28], rax
lea rax, [0x100001698]
mov r9d, r14d
mov r8d, ebp
mov edx, 0x43c
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.100015894
jmp 0x1000523bd
mov edx, 0x41f
jmp 0x10005239f
mov rax, qword [rsp + 0x150]
cmp rax, rdi
je 0x100052734
cmp qword [rax], rdi
je 0x100052734
mov rax, qword [rax]
mov rcx, qword [rax + 0x10]
jmp 0x100052737
mov rcx, rdi
mov qword [rsp + 0x90], rcx
mov byte [rsp + 0x98], r15b
cmp rcx, rdi
jne 0x100052791
mov rcx, r12
call fcn.100018fa4
lea rcx, [0x10000c698]
call fcn.100015f80
mov dword [rsp + 0x30], 0x11d6
mov r9d, r14d
mov r8d, ebp
mov qword [rsp + 0x28], rax
lea rax, [0x100001698]
mov edx, 0x43c
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.100015894
jmp 0x10005216e
xor edx, edx
lea r8d, [rdx + 0x20]
call sub.ntdll.dll_memset
lea rdx, [0x10000c550]
lea rcx, [rsp + 0xd0]
or r8d, 0xffffffff
call fcn.100012b64
cmp al, dil
jne 0x1000527d7
mov rcx, r12
call fcn.100018fa4
lea rcx, [0x10000c698]
call fcn.100015f80
mov dword [rsp + 0x30], 0x11de
jmp 0x100052768
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x80]
call fcn.100045f24
cmp al, dil
je 0x100052b93
mov rbx, qword [rsp + 0x90]
lea rcx, [rsp + 0x80]
or byte [rbx + 0xb], 0x10
call fcn.1000462bc
cmp al, dil
je 0x100052b93
lea rcx, [rsp + 0x80]
call fcn.100046418
cmp al, dil
je 0x100052b93
lea rcx, [rsp + 0x80]
call fcn.1000464ac
cmp al, dil
je 0x100052b93
cmp byte [rsp + 0x98], 0x20
mov ecx, dword [rsp + 0x50]
jne 0x10005285a
mov eax, ecx
shr eax, 0x10
mov word [rbx + 0x14], ax
mov word [rbx + 0x1a], cx
cmp dword [rsp + 0x1c0], ebp
jle 0x10005289f
cmp byte [rsp + 0x160], dil
je 0x10005287b
mov rcx, qword [rsp + 0x170]
jmp 0x100052899
mov rax, qword [rsp + 0x150]
cmp rax, rdi
je 0x100052896
cmp qword [rax], rdi
je 0x100052896
mov rax, qword [rax]
mov rcx, qword [rax + 0x10]
jmp 0x100052899
mov rcx, rdi
add rcx, 0x20
jmp 0x1000528a2
mov rcx, rdi
mov qword [rsp + 0x90], rcx
mov byte [rsp + 0x98], r15b
cmp rcx, rdi
jne 0x1000528d8
mov rcx, r12
call fcn.100018fa4
lea rcx, [0x10000c698]
call fcn.100015f80
mov dword [rsp + 0x30], 0x11f3
jmp 0x100052768
xor edx, edx
lea r8d, [rdx + 0x20]
call sub.ntdll.dll_memset
lea rdx, [0x10000c71c]
lea rcx, [rsp + 0xd0]
or r8d, 0xffffffff
call fcn.100012b64
cmp al, dil
jne 0x100052921
mov rcx, r12
call fcn.100018fa4
lea rcx, [0x10000c698]
call fcn.100015f80
mov dword [rsp + 0x30], 0x11fb
jmp 0x100052768
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x80]
call fcn.100045f24
cmp al, dil
je 0x100052b93
mov rbx, qword [rsp + 0x90]
lea rcx, [rsp + 0x80]
or byte [rbx + 0xb], 0x10
call fcn.1000462bc
cmp al, dil
je 0x100052b93
lea rcx, [rsp + 0x80]
call fcn.100046418
cmp al, dil
je 0x100052b93
lea rcx, [rsp + 0x80]
call fcn.1000464ac
cmp al, dil
je 0x100052b93
cmp byte [rsp + 0x98], 0x20
jne 0x10005299b
mov word [rbx + 0x14], di
mov r15d, 2
mov word [rbx + 0x1a], di
mov dword [rsp + 0x78], edi
lea ecx, [r15 + 0x3e]
mov dword [rsp + 0x54], edi
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x64], r15d
mov ebx, 0x3ff
cmp r15d, 2
jb 0x100052de7
mov rax, qword [r13 + 0x48]
cmp r15d, dword [rax + 0x38]
jae 0x100052de7
mov eax, r15d
cmp byte [rax + r12], bpl
jne 0x100052ca9
cmp ecx, 0x4e240
je 0x100052dbb
lea rcx, [rsp + 0x130]
call fcn.100046798
mov r15, rax
mov qword [rsp + 0x90], rax
mov al, byte [rsp + 0x42]
mov byte [rsp + 0x98], al
cmp r15, rdi
jne 0x100052ba0
mov r15d, dword [rsp + 0x68]
mov edx, dword [rsp + 0x50]
mov rcx, qword [r13 + 0x48]
add r15d, ebp
xor r9d, r9d
mov r8d, r15d
mov dword [rsp + 0x68], r15d
call fcn.100045568
cmp eax, r15d
jne 0x100052d10
mov byte [rsp + 0x40], dil
cmp dword [rsp + 0x60], edi
je 0x100052a99
mov rax, qword [r13]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
xor r9d, r9d
mov rcx, r13
mov qword [rsp + 0x28], rdi
mov byte [rsp + 0x20], bpl
call qword [rax + 0xa8]
cmp al, dil
je 0x100052cb1
mov rax, qword [rsp + 0x140]
lea rcx, [rsp + 0x140]
call qword [rax + 0x18]
cmp al, dil
je 0x100052b93
lea rcx, [rsp + 0xa8]
call fcn.10001671c
cmp al, dil
je 0x100052cf7
mov eax, dword [rsp + 0x50]
mov r8, qword [r13 + 0x30]
lea rdx, [rsp + 0xa8]
mov dword [rsp + 0x28], eax
mov rax, qword [r13 + 0x48]
lea rcx, [rsp + 0x130]
mov r9, r13
mov qword [rsp + 0x20], rax
call fcn.100045a9c
cmp al, dil
je 0x100052cf7
mov rax, qword [rsp + 0x140]
lea rcx, [rsp + 0x140]
call qword [rax + 0x10]
cmp al, dil
je 0x100052cf7
mov ebx, dword [rsp + 0x78]
lea eax, [rbx + 2]
cmp eax, dword [rsp + 0x1c0]
jge 0x100052b4d
cmp byte [rsp + 0x160], dil
je 0x100052b25
mov rcx, qword [rsp + 0x170]
jmp 0x100052b43
mov rax, qword [rsp + 0x150]
cmp rax, rdi
je 0x100052b40
cmp qword [rax], rdi
je 0x100052b40
mov rax, qword [rax]
mov rcx, qword [rax + 0x10]
jmp 0x100052b43
mov rcx, rdi
movsxd rax, dword [rsp + 0x70]
add rax, rcx
jmp 0x100052b50
mov rax, rdi
mov cl, byte [rsp + 0x42]
mov qword [rsp + 0x90], rax
mov byte [rsp + 0x98], cl
cmp rax, rdi
je 0x100052b93
lea rcx, [rsp + 0x130]
mov byte [rax], dil
call fcn.100046798
mov r15, rax
mov qword [rsp + 0x90], rax
mov al, byte [rsp + 0x42]
mov byte [rsp + 0x98], al
cmp r15, rdi
jne 0x100052ba4
mov rcx, r12
call fcn.100018fa4
jmp 0x10005216e
mov ebx, dword [rsp + 0x78]
lea r8, [0x10000c720]
lea rcx, [rsp + 0x210]
mov r9d, ebx
mov edx, 0xe
call fcn.100012a20
lea rdx, [rsp + 0x210]
lea rcx, [rsp + 0xd0]
or r8d, 0xffffffff
call fcn.100012b64
cmp al, dil
je 0x100052d9a
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 0x20]
call sub.ntdll.dll_memset
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x80]
call fcn.100045f24
cmp al, dil
je 0x100052b93
lea rcx, [rsp + 0x80]
call fcn.1000462bc
cmp al, dil
je 0x100052b93
lea rcx, [rsp + 0x80]
call fcn.100046418
cmp al, dil
je 0x100052b93
lea rcx, [rsp + 0x80]
call fcn.1000464ac
cmp al, dil
je 0x100052b93
cmp byte [rsp + 0x98], 0x20
mov rbx, qword [rsp + 0x90]
mov r15d, dword [rsp + 0x64]
jne 0x100052c6d
mov eax, r15d
shr eax, 0x10
mov word [rbx + 0x14], ax
mov word [rbx + 0x1a], r15w
mov rcx, qword [r13 + 0x48]
xor r8d, r8d
mov edx, r15d
call fcn.100044b48
add dword [rsp + 0x78], ebp
add dword [rsp + 0x70], 0x20
imul eax, dword [rsp + 0x4c]
mov dword [rbx + 0x1c], eax
mov rcx, qword [r13 + 0x48]
xor r8d, r8d
mov edx, r15d
call fcn.100044b48
mov ecx, dword [rsp + 0x70]
add dword [rsp + 0x54], eax
add r15d, ebp
jmp 0x1000529b5
mov rax, qword [rsi]
mov r9d, r14d
xor r8d, r8d
mov edx, 0x13ad
mov rcx, rsi
call qword [rax + 0x18]
lea rdx, [0x1000013b4]
mov rcx, rsi
call fcn.1000157e0
movsxd r11, dword [rsp + 0x48]
mov eax, dword [rsp + 0x4c]
imul r11, rax
mov r15b, byte [rsp + 0x41]
cmp r15b, dil
je 0x10005235e
mov rax, r11
jmp 0x10005227c
lea rcx, [0x10000c698]
call fcn.100015f80
mov dword [rsp + 0x30], 0x1254
jmp 0x1000526e6
mov rax, qword [rsi]
mov r9d, r14d
xor r8d, r8d
mov edx, 0x13ad
mov rcx, rsi
call qword [rax + 0x18]
lea rdx, [0x1000013b4]
mov rcx, rsi
call fcn.1000157e0
movsxd r11, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4c]
imul r11, rcx
mov r15b, byte [rsp + 0x41]
cmp r15b, dil
je 0x100052d61
mov rax, r11
cqo
and rdx, rbx
lea r13, [rdx + rax]
mov edx, 0x458
sar r13, 0xa
jmp 0x100052d69
mov r13d, r11d
mov edx, 0x3f1
mov rax, qword [rsi]
mov r9d, r14d
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x18]
mov r9d, dword [rsp + 0x44]
lea rdx, [0x10000193c]
mov r8d, r13d
mov rcx, rsi
call fcn.1000157e0
mov r11, qword [rsp + 0x58]
mov dword [r11 + 0x18], r14d
jmp 0x100052dec
mov rcx, r12
call fcn.100018fa4
lea rcx, [0x10000c698]
call fcn.100015f80
mov dword [rsp + 0x30], 0x126e
jmp 0x100052768
mov rax, qword [rsi]
mov r9d, r14d
xor r8d, r8d
mov edx, 0x13ae
mov rcx, rsi
call qword [rax + 0x18]
lea rdx, [0x1000013b4]
mov rcx, rsi
call fcn.1000157e0
mov r11, qword [rsp + 0x58]
mov dword [r11 + 0x18], r14d
mov r15b, byte [rsp + 0x41]
mov r13d, dword [rsp + 0x78]
lea edx, [r13 + 2]
mov ecx, edx
shl ecx, 5
cmp edx, dword [rsp + 0x1c0]
jge 0x100052e3d
cmp byte [rsp + 0x160], dil
je 0x100052e17
mov r8, qword [rsp + 0x170]
jmp 0x100052e35
mov rax, qword [rsp + 0x150]
cmp rax, rdi
je 0x100052e32
cmp qword [rax], rdi
je 0x100052e32
mov rax, qword [rax]
mov r8, qword [rax + 0x10]
jmp 0x100052e35
mov r8, rdi
movsxd rax, ecx
add rax, r8
jmp 0x100052e40
mov rax, rdi
cmp rax, rdi
je 0x100052e4f
add edx, ebp
mov byte [rax], dil
add ecx, 0x20
jmp 0x100052dfa
cmp dword [rsp + 0x60], edi
je 0x100052e9d
mov rax, qword [rsp + 0x140]
lea rcx, [rsp + 0x140]
call qword [rax + 0x18]
cmp al, dil
je 0x100052b93
mov rdx, qword [rsp + 0x58]
mov al, r15b
neg al
mov eax, dword [rsp + 0x54]
sbb ecx, ecx
add dword [rdx + 0xc], eax
mov eax, dword [rsp + 0x68]
add dword [rdx + 8], r13d
add dword [rdx + 0x14], eax
and ecx, 0x69
add ecx, 0x3f0
add dword [rdx + 0x10], ebp
jmp 0x100052ead
mov al, r15b
neg al
sbb ecx, ecx
and ecx, 0x67
add ecx, 0x3f1
movsxd rax, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x4c]
imul rax, r8
cmp r15b, dil
je 0x100052ece
cqo
and rbx, rdx
add rbx, rax
sar rbx, 0xa
jmp 0x100052ed0
mov ebx, eax
mov rax, qword [rsi]
mov edx, ecx
mov r9d, r14d
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x18]
mov r9d, dword [rsp + 0x44]
lea rdx, [0x10000193c]
mov r8d, ebx
mov rcx, rsi
call fcn.1000157e0
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x18], r14d
je 0x100052f06
mov dword [rax + 0x18], ebp
mov rcx, r12
call fcn.100018fa4
lea rcx, [rsp + 0x1d0]
call fcn.100042b04
lea rcx, [rsp + 0xd0]
call fcn.1000131dc
lea rcx, [rsp + 0x100]
call fcn.1000131dc
lea rcx, [rsp + 0x130]
call fcn.100045a60
lea rcx, [rsp + 0xa8]
call fcn.1000166d4
mov al, bpl
jmp 0x1000521b2
mov rcx, r12
call fcn.100018fa4
lea rcx, [0x10000c698]
call fcn.100015f80
mov dword [rsp + 0x30], 0x1169
mov r9d, r14d
mov r8d, ebp
jmp 0x100051be0