Function at 0x140008040
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
sub rsp, 0x390
lea rbp, [rsp + 0x80]
call fcn.140007ea0
lea rax, [rbp - 0x5f]
lea rdx, [rbp - 0x52]
mov rcx, rax
call fcn.14000a190
lea rax, [rbp - 0x5f]
mov qword [rbp + 0x2f8], rax
mov rax, qword [rbp + 0x2f8]
mov qword [rbp + 0x2f0], rax
mov rax, qword [rbp + 0x2f0]
movzx eax, byte [rax + 0xc]
test al, al
setne al
test al, al
je 0x140008129
mov rax, qword [rbp + 0x2f8]
mov rdx, qword [rbp + 0x2f8]
mov qword [rbp + 0x2e8], rdx
mov qword [rbp + 0x2e0], rax
mov dword [rbp + 0x2dc], 0
jmp 0x14000811f
mov eax, dword [rbp + 0x2dc]
movsxd rdx, eax
mov rax, qword [rbp + 0x2e0]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x2dc]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x2e8]
mov eax, dword [rbp + 0x2dc]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x2dc], 1
cmp dword [rbp + 0x2dc], 0xc
jle 0x1400080be
nop
lea rax, [rbp - 0x5f]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp + 0x308], rax
lea rax, [rbp - 0x51]
lea rdx, [rbp - 0x46]
mov rcx, rax
call fcn.1400099f0
lea rax, [rbp - 0x51]
mov qword [rbp + 0x2d0], rax
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x2c8], rax
mov rax, qword [rbp + 0x2c8]
movzx eax, byte [rax + 0xa]
test al, al
setne al
test al, al
je 0x140008214
mov rax, qword [rbp + 0x2d0]
mov rdx, qword [rbp + 0x2d0]
mov qword [rbp + 0x2c0], rdx
mov qword [rbp + 0x2b8], rax
mov dword [rbp + 0x2b4], 0
jmp 0x14000820a
mov eax, dword [rbp + 0x2b4]
movsxd rdx, eax
mov rax, qword [rbp + 0x2b8]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x2b4]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x2c0]
mov eax, dword [rbp + 0x2b4]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x2b4], 1
cmp dword [rbp + 0x2b4], 0xa
jle 0x1400081a9
nop
lea rax, [rbp - 0x51]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x300], rax
lea rax, [rbp - 0x45]
lea rdx, [rbp - 0x36]
mov rcx, rax
call fcn.140009ce0
lea rax, [rbp - 0x45]
mov qword [rbp + 0x2a8], rax
mov rax, qword [rbp + 0x2a8]
mov qword [rbp + 0x2a0], rax
mov rax, qword [rbp + 0x2a0]
movzx eax, byte [rax + 0xe]
test al, al
setne al
test al, al
je 0x1400082ff
mov rax, qword [rbp + 0x2a8]
mov rdx, qword [rbp + 0x2a8]
mov qword [rbp + 0x298], rdx
mov qword [rbp + 0x290], rax
mov dword [rbp + 0x28c], 0
jmp 0x1400082f5
mov eax, dword [rbp + 0x28c]
movsxd rdx, eax
mov rax, qword [rbp + 0x290]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x28c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x298]
mov eax, dword [rbp + 0x28c]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x28c], 1
cmp dword [rbp + 0x28c], 0xe
jle 0x140008294
nop
lea rdx, [rbp - 0x45]
mov rax, qword [rbp + 0x308]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101a8], rax
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x29]
mov rcx, rax
call fcn.140009d70
lea rax, [rbp - 0x35]
mov qword [rbp + 0x280], rax
mov rax, qword [rbp + 0x280]
mov qword [rbp + 0x278], rax
mov rax, qword [rbp + 0x278]
movzx eax, byte [rax + 0xb]
test al, al
setne al
test al, al
je 0x1400083f1
mov rax, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x280]
mov qword [rbp + 0x270], rdx
mov qword [rbp + 0x268], rax
mov dword [rbp + 0x264], 0
jmp 0x1400083e7
mov eax, dword [rbp + 0x264]
movsxd rdx, eax
mov rax, qword [rbp + 0x268]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x264]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x270]
mov eax, dword [rbp + 0x264]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x264], 1
cmp dword [rbp + 0x264], 0xb
jle 0x140008386
nop
lea rdx, [rbp - 0x35]
mov rax, qword [rbp + 0x308]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101b0], rax
lea rax, [rbp - 0x28]
lea rdx, [rbp - 0x1e]
mov rcx, rax
call fcn.140009df0
lea rax, [rbp - 0x28]
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x250], rax
mov rax, qword [rbp + 0x250]
movzx eax, byte [rax + 9]
test al, al
setne al
test al, al
je 0x1400084e3
mov rax, qword [rbp + 0x258]
mov rdx, qword [rbp + 0x258]
mov qword [rbp + 0x248], rdx
mov qword [rbp + 0x240], rax
mov dword [rbp + 0x23c], 0
jmp 0x1400084d9
mov eax, dword [rbp + 0x23c]
movsxd rdx, eax
mov rax, qword [rbp + 0x240]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x23c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x248]
mov eax, dword [rbp + 0x23c]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x23c], 1
cmp dword [rbp + 0x23c], 9
jle 0x140008478
nop
lea rdx, [rbp - 0x28]
mov rax, qword [rbp + 0x308]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101b8], rax
lea rax, [rbp - 0x1d]
lea rdx, [rbp - 0x11]
mov rcx, rax
call fcn.140009e60
lea rax, [rbp - 0x1d]
mov qword [rbp + 0x230], rax
mov rax, qword [rbp + 0x230]
mov qword [rbp + 0x228], rax
mov rax, qword [rbp + 0x228]
movzx eax, byte [rax + 0xb]
test al, al
setne al
test al, al
je 0x1400085d5
mov rax, qword [rbp + 0x230]
mov rdx, qword [rbp + 0x230]
mov qword [rbp + 0x220], rdx
mov qword [rbp + 0x218], rax
mov dword [rbp + 0x214], 0
jmp 0x1400085cb
mov eax, dword [rbp + 0x214]
movsxd rdx, eax
mov rax, qword [rbp + 0x218]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x214]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x220]
mov eax, dword [rbp + 0x214]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x214], 1
cmp dword [rbp + 0x214], 0xb
jle 0x14000856a
nop
lea rdx, [rbp - 0x1d]
mov rax, qword [rbp + 0x308]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101c0], rax
lea rax, [rbp - 0x10]
lea rdx, [rbp + 0xf]
mov rcx, rax
call fcn.140009ee0
lea rax, [rbp - 0x10]
mov qword [rbp + 0x208], rax
mov rax, qword [rbp + 0x208]
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x200]
movzx eax, byte [rax + 0x13]
test al, al
setne al
test al, al
je 0x1400086c7
mov rax, qword [rbp + 0x208]
mov rdx, qword [rbp + 0x208]
mov qword [rbp + 0x1f8], rdx
mov qword [rbp + 0x1f0], rax
mov dword [rbp + 0x1ec], 0
jmp 0x1400086bd
mov eax, dword [rbp + 0x1ec]
movsxd rdx, eax
mov rax, qword [rbp + 0x1f0]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x1ec]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x1f8]
mov eax, dword [rbp + 0x1ec]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x1ec], 1
cmp dword [rbp + 0x1ec], 0x13
jle 0x14000865c
nop
lea rdx, [rbp - 0x10]
mov rax, qword [rbp + 0x308]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101c8], rax
lea rax, [rbp + 0x10]
lea rdx, [rbp + 0x27]
mov rcx, rax
call fcn.140009fa0
lea rax, [rbp + 0x10]
mov qword [rbp + 0x1e0], rax
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x1d8], rax
mov rax, qword [rbp + 0x1d8]
movzx eax, byte [rax + 0x12]
test al, al
setne al
test al, al
je 0x1400087b9
mov rax, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x1e0]
mov qword [rbp + 0x1d0], rdx
mov qword [rbp + 0x1c8], rax
mov dword [rbp + 0x1c4], 0
jmp 0x1400087af
mov eax, dword [rbp + 0x1c4]
movsxd rdx, eax
mov rax, qword [rbp + 0x1c8]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x1c4]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x1d0]
mov eax, dword [rbp + 0x1c4]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x1c4], 1
cmp dword [rbp + 0x1c4], 0x12
jle 0x14000874e
nop
lea rdx, [rbp + 0x10]
mov rax, qword [rbp + 0x308]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101d0], rax
lea rax, [rbp + 0x28]
lea rdx, [rbp + 0x2e]
mov rcx, rax
call fcn.14000a050
lea rax, [rbp + 0x28]
mov qword [rbp + 0x1b8], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x1b0], rax
mov rax, qword [rbp + 0x1b0]
movzx eax, byte [rax + 5]
test al, al
setne al
test al, al
je 0x1400088ab
mov rax, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x1b8]
mov qword [rbp + 0x1a8], rdx
mov qword [rbp + 0x1a0], rax
mov dword [rbp + 0x19c], 0
jmp 0x1400088a1
mov eax, dword [rbp + 0x19c]
movsxd rdx, eax
mov rax, qword [rbp + 0x1a0]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x19c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x1a8]
mov eax, dword [rbp + 0x19c]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x19c], 1
cmp dword [rbp + 0x19c], 5
jle 0x140008840
nop
lea rdx, [rbp + 0x28]
mov rax, qword [rbp + 0x308]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101d8], rax
lea rax, [rbp + 0x2f]
lea rdx, [rbp + 0x3a]
mov rcx, rax
call fcn.14000a0a0
lea rax, [rbp + 0x2f]
mov qword [rbp + 0x190], rax
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x188], rax
mov rax, qword [rbp + 0x188]
movzx eax, byte [rax + 0xa]
test al, al
setne al
test al, al
je 0x14000899d
mov rax, qword [rbp + 0x190]
mov rdx, qword [rbp + 0x190]
mov qword [rbp + 0x180], rdx
mov qword [rbp + 0x178], rax
mov dword [rbp + 0x174], 0
jmp 0x140008993
mov eax, dword [rbp + 0x174]
movsxd rdx, eax
mov rax, qword [rbp + 0x178]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x174]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x180]
mov eax, dword [rbp + 0x174]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x174], 1
cmp dword [rbp + 0x174], 0xa
jle 0x140008932
nop
lea rdx, [rbp + 0x2f]
mov rax, qword [rbp + 0x300]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101e0], rax
lea rax, [rbp + 0x3b]
lea rdx, [rbp + 0x47]
mov rcx, rax
call fcn.14000a110
lea rax, [rbp + 0x3b]
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x160], rax
mov rax, qword [rbp + 0x160]
movzx eax, byte [rax + 0xb]
test al, al
setne al
test al, al
je 0x140008a8f
mov rax, qword [rbp + 0x168]
mov rdx, qword [rbp + 0x168]
mov qword [rbp + 0x158], rdx
mov qword [rbp + 0x150], rax
mov dword [rbp + 0x14c], 0
jmp 0x140008a85
mov eax, dword [rbp + 0x14c]
movsxd rdx, eax
mov rax, qword [rbp + 0x150]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x14c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x158]
mov eax, dword [rbp + 0x14c]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x14c], 1
cmp dword [rbp + 0x14c], 0xb
jle 0x140008a24
nop
lea rdx, [rbp + 0x3b]
mov rax, qword [rbp + 0x300]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101e8], rax
lea rax, [rbp + 0x48]
lea rdx, [rbp + 0x53]
mov rcx, rax
call fcn.140009a60
lea rax, [rbp + 0x48]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x138], rax
mov rax, qword [rbp + 0x138]
movzx eax, byte [rax + 0xa]
test al, al
setne al
test al, al
je 0x140008b81
mov rax, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x140]
mov qword [rbp + 0x130], rdx
mov qword [rbp + 0x128], rax
mov dword [rbp + 0x124], 0
jmp 0x140008b77
mov eax, dword [rbp + 0x124]
movsxd rdx, eax
mov rax, qword [rbp + 0x128]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x124]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x130]
mov eax, dword [rbp + 0x124]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x124], 1
cmp dword [rbp + 0x124], 0xa
jle 0x140008b16
nop
lea rdx, [rbp + 0x48]
mov rax, qword [rbp + 0x300]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101f0], rax
lea rax, [rbp + 0x54]
lea rdx, [rbp + 0x61]
mov rcx, rax
call fcn.140009ad0
lea rax, [rbp + 0x54]
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
movzx eax, byte [rax + 0xc]
test al, al
setne al
test al, al
je 0x140008c73
mov rax, qword [rbp + 0x118]
mov rdx, qword [rbp + 0x118]
mov qword [rbp + 0x108], rdx
mov qword [rbp + 0x100], rax
mov dword [rbp + 0xfc], 0
jmp 0x140008c69
mov eax, dword [rbp + 0xfc]
movsxd rdx, eax
mov rax, qword [rbp + 0x100]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0xfc]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x108]
mov eax, dword [rbp + 0xfc]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0xfc], 1
cmp dword [rbp + 0xfc], 0xc
jle 0x140008c08
nop
lea rdx, [rbp + 0x54]
mov rax, qword [rbp + 0x300]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x1400101f8], rax
lea rax, [rbp + 0x62]
lea rdx, [rbp + 0x6e]
mov rcx, rax
call fcn.140009b50
lea rax, [rbp + 0x62]
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
movzx eax, byte [rax + 0xb]
test al, al
setne al
test al, al
je 0x140008d65
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xf0]
mov qword [rbp + 0xe0], rdx
mov qword [rbp + 0xd8], rax
mov dword [rbp + 0xd4], 0
jmp 0x140008d5b
mov eax, dword [rbp + 0xd4]
movsxd rdx, eax
mov rax, qword [rbp + 0xd8]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0xd4]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0xe0]
mov eax, dword [rbp + 0xd4]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0xd4], 1
cmp dword [rbp + 0xd4], 0xb
jle 0x140008cfa
nop
lea rdx, [rbp + 0x62]
mov rax, qword [rbp + 0x300]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140010200], rax
lea rax, [rbp + 0x6f]
lea rdx, [rbp + 0x7a]
mov rcx, rax
call fcn.140009bd0
lea rax, [rbp + 0x6f]
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0xc0]
movzx eax, byte [rax + 0xa]
test al, al
setne al
test al, al
je 0x140008e57
mov rax, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0xc8]
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0xb0], rax
mov dword [rbp + 0xac], 0
jmp 0x140008e4d
mov eax, dword [rbp + 0xac]
movsxd rdx, eax
mov rax, qword [rbp + 0xb0]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0xac]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0xb8]
mov eax, dword [rbp + 0xac]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0xac], 1
cmp dword [rbp + 0xac], 0xa
jle 0x140008dec
nop
lea rdx, [rbp + 0x6f]
mov rax, qword [rbp + 0x300]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140010208], rax
lea rax, [rbp + 0x83]
mov rcx, rax
call fcn.140009c40
mov qword [rbp + 0x7b], rax
lea rax, [rbp + 0x7b]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0x98]
movzx eax, byte [rax + 7]
test al, al
setne al
test al, al
je 0x140008f4c
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa0]
mov qword [rbp + 0x90], rdx
mov qword [rbp + 0x88], rax
mov dword [rbp + 0x84], 0
jmp 0x140008f42
mov eax, dword [rbp + 0x84]
movsxd rdx, eax
mov rax, qword [rbp + 0x88]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x84]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffa0a0a0a1
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x33
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x90]
mov eax, dword [rbp + 0x84]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x84], 1
cmp dword [rbp + 0x84], 7
jle 0x140008ee1
nop
lea rdx, [rbp + 0x7b]
mov rax, qword [rbp + 0x300]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140010210], rax
call fcn.140007ea0
nop
add rsp, 0x390
pop rbp
ret