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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0xc8
mov rbp, qword [rcx + 0x10]
mov r13, qword [rcx]
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], r13
mov rsi, r9
mov rdi, r8
mov r12, rdx
mov r15, rcx
mov byte [rsp + 0x48], 0
mov qword [r11 - 0x80], rax
mov qword [r11 - 0x78], rax
test r9, r9
je 0x1400f7848
cmp dword [r9], 0x40
cmovge rsi, rax
mov qword [rsp + 0x68], rsi
test byte [r13 + 0x5c], 0x10
je 0x1400f786e
movzx ecx, word [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____]
mov eax, 0xfeff
and cx, ax
mov word [rsp + 0x118], cx
jmp 0x1400f787e
mov cx, word [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____]
mov word [rsp + 0x118], cx
mov eax, dword [rdx]
cmp eax, 0x40
jle 0x1400f78ad
lea rdx, str.at_most__d_tables_in_a_join
mov r8d, 0x40
mov rcx, r15
call fcn.1400668e0
xor eax, eax
add rsp, 0xc8
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
and cx, 0x20
mov qword [rsp + 0x110], rbx
mov qword [rsp + 0xc0], r14
mov word [rsp + 0x30], cx
mov ecx, 1
cmovne eax, ecx
mov rcx, r13
mov dword [rsp + 0x34], eax
imul eax, eax, 0x58
add eax, 0x39f
and eax, 0xfffffff8
movsxd rbx, eax
lea rdx, [rbx + 0x60]
call fcn.140063460
cmp byte [r13 + 0x61], 0
mov r14, rax
je 0x1400f7906
mov rdx, rax
mov rcx, r13
call fcn.140063110
jmp 0x1400f8479
mov r13, qword [rsp + 0x120]
mov qword [rax], r15
mov qword [rax + 8], r12
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 0x18], r13
or rax, 0xffffffffffffffff
mov rcx, rbp
mov qword [rsp + 0x50], rax
mov dword [r14 + 0x30], eax
mov dword [r14 + 0x2c], eax
mov eax, dword [rsp + 0x34]
mov byte [r14 + 0x42], al
call fcn.140088490
movsxd rbp, dword [rsp + 0x34]
mov dword [r14 + 0x34], eax
mov dword [r14 + 0x38], eax
mov ax, word [rsp + 0x118]
mov word [r14 + 0x40], ax
mov eax, dword [rsp + 0x130]
mov r8, rbp
mov word [r14 + 0x28], ax
mov eax, dword [r15 + 0xb4]
imul r8, r8, 0x58
mov dword [r14 + 0x3c], eax
xor eax, eax
lea rcx, [r14 + 0x398]
mov qword [r14 + 0x43], rax
mov qword [r14 + 0x4b], rax
mov qword [r14 + 0x53], rax
mov qword [r14 + 0x5b], rax
mov dword [r14 + 0x63], eax
add r8, 0x60
xor edx, edx
mov byte [r14 + 0x67], al
call sub.MSVCR90.dll_memset
mov qword [rsp + 0x58], r14
lea r9, [r14 + 0x68]
mov qword [rsp + 0x60], r9
lea rcx, [rbx + r14]
xor ebx, ebx
mov qword [rsp + 0x70], rcx
mov word [rcx + 0x2c], bx
mov dword [rcx + 0x28], ebx
lea rax, [rcx + 0x48]
lea r12, [r14 + 0x290]
mov r8b, 0x2c
mov qword [rcx + 0x38], rax
mov eax, 3
mov rdx, rdi
mov word [rcx + 0x30], ax
mov dword [r12 + 4], ebx
mov eax, 8
mov dword [r9 + 0x18], eax
lea rax, [r9 + 0x28]
mov rcx, r9
mov qword [r9], r14
mov byte [r9 + 0x11], bl
mov qword [r9 + 8], rbx
mov qword [r9 + 0x20], rax
mov dword [r9 + 0x14], ebx
call fcn.1400f0f10
mov ecx, 0x100
test ebp, ebp
jne 0x1400f7a50
test rsi, rsi
je 0x1400f7a26
movzx eax, byte [rsi]
mov byte [r14 + 0x43], al
test word [rsp + 0x118], cx
je 0x1400f7a35
mov byte [r14 + 0x47], 1
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r15
call fcn.140088140
mov rbp, qword [rsp + 0x108]
jmp 0x1400f7a94
mov rbp, qword [rsp + 0x108]
lea rdi, [rbp + 0x4c]
nop dword [rax]
movsxd rcx, dword [r12 + 4]
mov eax, dword [rdi]
lea r8, [r14 + 0x68]
mov dword [r12 + rcx*4 + 8], eax
inc dword [r12 + 4]
movsxd rax, ebx
imul rax, rax, 0x70
lea rdx, [rax + rbp + 8]
mov rcx, r15
call fcn.1400f1290
inc ebx
add rdi, 0x70
cmp ebx, dword [rbp]
jl 0x1400f7a60
mov ebx, dword [r14 + 0x7c]
lea rdi, [r14 + 0x68]
sub ebx, 1
js 0x1400f7ab4
mov r8d, ebx
mov rdx, rdi
mov rcx, rbp
call fcn.1400effa0
sub ebx, 1
jns 0x1400f7aa1
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x61], 0
jne 0x1400f8463
mov rax, qword [rsp + 0x60]
xor ecx, ecx
cmp dword [rax + 0x14], ecx
mov ebp, ecx
jle 0x1400f7bd9
mov r13d, dword [rsp + 0x34]
mov rbx, rcx
lea r8, [0x1400a3c30]
lea rcx, [0x1400f77c0]
nop dword [rax]
mov rdi, qword [rax + 0x20]
test byte [rbx + rdi + 0x12], 2
jne 0x1400f7bbe
cmp qword [rbx + rdi + 0x38], 0
jne 0x1400f7bbe
test r13d, r13d
je 0x1400f7b8f
mov rdx, qword [rbx + rdi]
xor eax, eax
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb8], rax
mov byte [rsp + 0xb4], 1
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], r8
test rdx, rdx
je 0x1400f7b8f
lea rcx, [rsp + 0x90]
call fcn.14009e030
cmp byte [rsp + 0xb4], 0
jne 0x1400f7b8f
mov rax, qword [rsp + 0x60]
lea rcx, [0x1400f77c0]
lea r8, [0x1400a3c30]
jmp 0x1400f7bbe
mov r8d, dword [r14 + 0x38]
mov rdx, qword [rbx + rdi]
mov r9d, reloc.WS2_32.dll_recv
mov rcx, r15
call fcn.1400a9c00
or word [rbx + rdi + 0x12], 4
mov rax, qword [rsp + 0x60]
lea rcx, [0x1400f77c0]
lea r8, [0x1400a3c30]
inc ebp
add rbx, 0x40
cmp ebp, dword [rax + 0x14]
jl 0x1400f7af0
mov r13, qword [rsp + 0x120]
lea rdi, [r14 + 0x68]
movzx r15d, word [rsp + 0x118]
mov eax, 0x100
and r15w, ax
je 0x1400f7c2b
mov rbx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
mov r9, r13
mov rcx, rbx
mov r8, rdi
call fcn.1400f1b30
test eax, eax
je 0x1400f7c16
mov byte [r14 + 0x47], 1
jmp 0x1400f7c33
test rsi, rsi
jne 0x1400f7c33
mov eax, 0x80
mov qword [r14 + 0x10], r13
or word [r14 + 0x40], ax
jmp 0x1400f7c33
mov rbx, qword [rsp + 0x100]
mov ebp, dword [rsp + 0x34]
cmp ebp, 1
jne 0x1400f7c55
mov rdx, qword [rsp + 0x58]
test byte [rdx + 0x40], 0x20
jne 0x1400f7c55
lea rcx, [rsp + 0x58]
call fcn.1400f75e0
test eax, eax
jne 0x1400f7caa
lea rcx, [rsp + 0x58]
call fcn.1400f5de0
test eax, eax
jne 0x1400f8456
xor edx, edx
mov rcx, r14
call fcn.1400f69b0
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x61], 0
jne 0x1400f845b
cmp qword [r14 + 0x10], 0
je 0x1400f7caf
movzx edx, word [r14 + 0x60]
mov rcx, r14
inc dx
call fcn.1400f69b0
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x61], 0
jne 0x1400f845b
jmp 0x1400f7caf
mov r8, qword [rsp + 0x38]
cmp qword [r14 + 0x10], 0
jne 0x1400f7cc6
bt dword [r8 + 0x30], 0xc
jae 0x1400f7cc6
mov qword [r14 + 0x58], 0xffffffffffffffff
cmp dword [rbx + 0x30], 0
jne 0x1400f845b
cmp byte [r8 + 0x61], 0
jne 0x1400f845b
cmp byte [r14 + 0x42], 2
jb 0x1400f7e7e
test r13, r13
je 0x1400f7e7e
mov eax, 0x100
test word [r8 + 0x5c], ax
jne 0x1400f7e7e
mov rdx, r13
mov rcx, r12
call fcn.1400f1200
mov rdx, qword [rsp + 0x68]
mov r13, rax
test rdx, rdx
je 0x1400f7d22
mov rcx, r12
call fcn.1400f1200
or r13, rax
movzx ebx, byte [r14 + 0x42]
dec ebx
cmp ebx, 1
movsxd rcx, ebx
jl 0x1400f7e71
mov rdi, qword [rsp + 0x60]
mov rax, rcx
imul rcx, rcx, 0x58
lea rbp, [rcx + r14 + 0x398]
imul rax, rax, 0x58
lea rsi, [rax + r14 + 0x3e0]
lea eax, [rbx + 1]
movsxd rcx, eax
imul rcx, rcx, 0x58
lea r12, [rcx + r14 + 0x398]
nop word [rax + rax]
mov r11, qword [rsi]
mov r10, qword [r14 + 8]
movzx r9d, byte [r11 + 0x10]
imul r9, r9, 0x70
test byte [r9 + r10 + 0x44], 8
je 0x1400f7e47
test r15w, r15w
jne 0x1400f7d9e
bt dword [r11 + 0x28], 0xc
jae 0x1400f7e47
mov r8, qword [r11 + 8]
test r13, r8
jne 0x1400f7e47
mov rcx, qword [rdi + 0x20]
movsxd rdx, dword [rdi + 0x14]
shl rdx, 6
add rdx, rcx
cmp rcx, rdx
jae 0x1400f7dea
nop
test qword [rcx + 0x38], r8
je 0x1400f7dda
mov rax, qword [rcx]
test byte [rax + 4], 1
je 0x1400f7de5
movsx eax, word [rax + 0x34]
cmp eax, dword [r9 + r10 + 0x4c]
jne 0x1400f7de5
add rcx, 0x40
cmp rcx, rdx
jb 0x1400f7dc0
jmp 0x1400f7dea
cmp rcx, rdx
jb 0x1400f7e47
mov rcx, qword [rdi + 0x20]
not r8
and qword [rsp + 0x50], r8
cmp rcx, rdx
jae 0x1400f7e18
nop dword [rax + rax]
mov rax, qword [rcx + 0x38]
test qword [r11 + 8], rax
je 0x1400f7e0f
or word [rcx + 0x12], 4
add rcx, 0x40
cmp rcx, rdx
jb 0x1400f7e00
movzx ecx, byte [r14 + 0x42]
lea eax, [rcx - 1]
cmp ebx, eax
je 0x1400f7e3a
sub ecx, ebx
mov rdx, r12
dec ecx
imul ecx, ecx, 0x58
movsxd r8, ecx
mov rcx, rbp
call qword [sym.imp.MSVCR90.dll_memmove]
dec byte [r14 + 0x42]
dec dword [rsp + 0x34]
mov rdi, qword [rsp + 0x60]
dec ebx
sub r12, 0x58
sub rbp, 0x58
sub rsi, 0x58
cmp ebx, 1
jge 0x1400f7d70
mov rbx, qword [rsp + 0x100]
mov r8, qword [rsp + 0x38]
mov ebp, dword [rsp + 0x34]
jmp 0x1400f7e7e
mov rbx, qword [rsp + 0x100]
mov r8, qword [rsp + 0x38]
mov rcx, qword [r14]
movsx eax, word [r14 + 0x60]
mov r12w, word [rsp + 0x118]
add dword [rcx + 0xb4], eax
test r12b, 4
je 0x1400f7f0a
mov rdx, qword [r14 + 0x3e0]
mov ecx, dword [rdx + 0x28]
mov eax, ecx
shr eax, 0xc
and eax, 1
jne 0x1400f7ec7
test r12b, 8
je 0x1400f7f28
bt ecx, 0xa
jb 0x1400f7f1e
bt ecx, 0xd
jae 0x1400f7ec7
test r12b, 0x10
je 0x1400f7f14
mov r15, qword [rsp + 0x108]
test eax, eax
sete al
inc al
mov byte [r14 + 0x45], al
mov rax, qword [r15 + 0x28]
test byte [rax + 0x40], 0x20
jne 0x1400f7f30
test cl, 0x40
je 0x1400f7f30
mov eax, dword [rsp + 0x48]
test r12b, 8
mov r9d, 8
movzx eax, al
cmovne eax, r9d
and ecx, 0xffffffbf
mov dword [rdx + 0x28], ecx
mov dword [rsp + 0x48], eax
jmp 0x1400f7f30
mov r15, qword [rsp + 0x108]
jmp 0x1400f7f30
mov r15, qword [rsp + 0x108]
jmp 0x1400f7f30
mov r15, qword [rsp + 0x108]
jmp 0x1400f7f30
mov r15, qword [rsp + 0x108]
test ebp, ebp
jle 0x1400f8383
mov eax, ebp
lea r13, [r14 + 0x3e0]
mov qword [rsp + 0x88], rax
jmp 0x1400f7f58
mov r15, qword [rsp + 0x108]
movzx ebp, byte [r13 - 0x1c]
mov esi, 0xfff0bdc0
imul rbp, rbp, 0x70
mov rdi, qword [r15 + rbp + 0x28]
mov rcx, qword [rdi + 0x70]
test rcx, rcx
je 0x1400f7f9d
mov rax, qword [r8 + 0x20]
xor r9d, r9d
add rax, 0x18
mov esi, r9d
cmp qword [rax], rcx
je 0x1400f7fa0
nop word [rax + rax]
add rax, 0x20
inc esi
cmp qword [rax], rcx
jne 0x1400f7f90
jmp 0x1400f7fa0
xor r9d, r9d
test byte [rdi + 0x40], 2
mov r12, qword [r13]
jne 0x1400f81dc
cmp qword [rdi + 0x18], 0
jne 0x1400f81d5
mov eax, dword [r12 + 0x28]
bt eax, 0xa
jae 0x1400f80a6
mov rbx, qword [rdi + 0x60]
test rbx, rbx
je 0x1400f7fdf
cmp qword [rbx], r8
je 0x1400f7fdf
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1400f7fd1
mov r8d, dword [r15 + rbp + 0x4c]
mov r15, qword [rsp + 0x40]
mov rax, qword [r15 + 0x18]
movsxd rdx, dword [r15 + 0xb8]
cmp dword [rax + 0x3c], edx
jg 0x1400f8012
mov dword [rsp + 0x20], r9d
mov edx, SHCreateDirectory
mov rcx, r15
xor r9d, r9d
call fcn.140087c10
mov edx, eax
jmp 0x1400f8047
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r15 + 0xb8], eax
mov rax, qword [r15 + 0x68]
mov byte [rax + rcx*8], SHCreateDirectory
mov word [rax + rcx*8 + 2], r9w
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov byte [rax + rcx*8 + 1], 0
mov rax, qword [r15]
cmp byte [rax + 0x61], 0
jne 0x1400f81e1
test edx, edx
jns 0x1400f8061
mov edx, dword [r15 + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x68]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1400f808d
mov r9d, 0xfffffff4
mov r8, rbx
mov rcx, r15
call fcn.140088ba0
jmp 0x1400f81e1
test rbx, rbx
je 0x1400f81e1
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf4
inc dword [rbx + 0x18]
jmp 0x1400f81e1
cmp dword [rdi + 0x54], 0
jne 0x1400f81ce
test al, 0x40
jne 0x1400f81ae
cmp word [rsp + 0x30], 0
jne 0x1400f81ae
cmp byte [r14 + 0x45], 0
mov ecx, WSAGetLastError
je 0x1400f80de
mov eax, dword [r15 + rbp + 0x4c]
mov ecx, WSAGetLastError
mov dword [r14 + 0x2c], eax
mov edx, dword [r15 + rbp + 0x4c]
mov dword [rsp + 0x20], ecx
mov r9, rdi
mov r8d, esi
mov rcx, rbx
call fcn.1400c5e20
cmp byte [r14 + 0x45], 0
jne 0x1400f818a
cmp word [rdi + 0x46], 0x40
jge 0x1400f8183
test byte [rdi + 0x40], 0x20
jne 0x1400f817c
mov rax, qword [r15 + rbp + 0x60]
xor ecx, ecx
test rax, rax
je 0x1400f8127
nop dword [rax]
inc ecx
shr rax, 1
jne 0x1400f8120
mov r15, qword [rsp + 0x40]
movsxd r8, ecx
mov rcx, qword [r15]
cmp byte [rcx + 0x61], 0
je 0x1400f8144
mov edx, 0xfffffffd
call fcn.1400889a0
jmp 0x1400f818f
mov eax, dword [r15 + 0xb8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x68]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1400f8172
mov r9d, 0xfffffffd
mov rcx, r15
call fcn.140088ba0
jmp 0x1400f818f
mov dword [rdx + 0x10], r8d
mov byte [rdx + 1], 0xfd
jmp 0x1400f818f
mov r15, qword [rsp + 0x40]
jmp 0x1400f818f
mov r15, qword [rsp + 0x40]
jmp 0x1400f818f
mov r15, qword [rsp + 0x40]
movsxd rax, dword [r15 + 0xb8]
test eax, eax
jle 0x1400f81e1
movzx edx, byte [rsp + 0x48]
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x68]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1400f81e1
mov rax, qword [rdi]
mov r8d, dword [rdi + 0x38]
xor r9d, r9d
mov edx, esi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400b1b40
mov r15, qword [rsp + 0x40]
jmp 0x1400f81e1
mov r15, qword [rsp + 0x40]
jmp 0x1400f81e1
mov r15, qword [rsp + 0x40]
jmp 0x1400f81e1
mov r15, qword [rsp + 0x40]
bt dword [r12 + 0x28], 9
jae 0x1400f8305
test byte [rdi + 0x40], 0x20
mov rbx, qword [r12 + 0x20]
mov edx, WSAGetLastError
je 0x1400f8223
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
jne 0x1400f821c
movzx eax, word [rsp + 0x30]
test ax, ax
je 0x1400f8228
mov r8d, dword [r13 - 0x44]
xor edx, edx
jmp 0x1400f8299
mov ax, word [rsp + 0x30]
jmp 0x1400f8228
mov ax, word [rsp + 0x30]
cmp byte [r14 + 0x45], 0
je 0x1400f826c
mov rax, qword [rsp + 0x108]
mov r8d, dword [rsp + 0x130]
mov rax, qword [rax + rbp + 0x28]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400f8261
nop dword [rax]
cmp rcx, rbx
je 0x1400f8261
mov rcx, qword [rcx + 0x28]
inc r8d
test rcx, rcx
jne 0x1400f8250
mov edx, WSAGetLastError
mov dword [r14 + 0x30], r8d
jmp 0x1400f8299
mov ecx, dword [rsp + 0x130]
test ecx, ecx
je 0x1400f8286
test ax, ax
je 0x1400f8286
mov r8d, ecx
mov edx, WSAGetLastError
jmp 0x1400f8299
mov rcx, qword [rsp + 0x100]
mov r8d, dword [rcx + 0x34]
lea eax, [r8 + 1]
mov dword [rcx + 0x34], eax
mov dword [r13 - 0x40], r8d
test edx, edx
je 0x1400f830f
mov r9d, dword [rbx + 0x58]
mov rcx, r15
mov dword [rsp + 0x20], esi
call fcn.140087c80
mov rdx, rbx
mov rbx, qword [rsp + 0x100]
mov rcx, rbx
call fcn.140088d60
mov r11d, dword [r12 + 0x28]
test r11b, 0xf
je 0x1400f8317
test r11d, 0x8002
jne 0x1400f8317
test byte [r14 + 0x40], 1
jne 0x1400f8317
cmp byte [r14 + 0x47], 2
je 0x1400f8317
movsxd rax, dword [r15 + 0xb8]
test eax, eax
jle 0x1400f8317
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x68]
mov edx, 2
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1400f8317
mov rbx, qword [rsp + 0x100]
jmp 0x1400f8317
mov rbx, qword [rsp + 0x100]
test esi, esi
js 0x1400f835e
mov rax, qword [rbx + 0xa0]
mov r8, rbx
mov ecx, esi
test rax, rax
mov edx, 1
cmovne r8, rax
shl edx, cl
mov eax, dword [r8 + 0x74]
test edx, eax
jne 0x1400f835e
or eax, edx
mov dword [r8 + 0x74], eax
cmp esi, 1
jne 0x1400f835e
mov rdx, qword [r8]
mov rax, qword [rdx + 0x20]
cmp qword [rax + 0x28], 0
jne 0x1400f835e
mov rcx, r8
call fcn.1400ba0a0
mov r8, qword [rsp + 0x38]
add r13, 0x58
sub qword [rsp + 0x88], 1
jne 0x1400f7f50
mov ebp, dword [rsp + 0x34]
mov r12w, word [rsp + 0x118]
mov rdi, qword [rsp + 0x40]
mov eax, dword [rdi + 0xb8]
mov dword [r14 + 0x4c], eax
cmp byte [r8 + 0x61], 0
jne 0x1400f845b
test ebp, ebp
jle 0x1400f8451
mov r15, qword [rsp + 0x100]
lea rbx, [r14 + 0x3c4]
xor esi, esi
nop word [rax + rax]
mov rax, qword [rbx + 0x1c]
bt dword [rax + 0x28], 0xe
jae 0x1400f8405
movzx eax, byte [rbx]
mov rdx, qword [rsp + 0x108]
mov r9, qword [rsp + 0x50]
imul rax, rax, 0x70
lea rcx, [rbx - 0x2c]
lea r8, [rax + rdx + 8]
lea rdx, [r14 + 0x68]
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.1400f1d40
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 0x61], 0
jne 0x1400f8463
mov rdx, qword [rsp + 0x108]
lea r8, [rbx - 0x2c]
movzx r9d, r12w
mov rcx, r15
call fcn.1400ea4a0
mov r11d, dword [rdi + 0xb8]
mov r8, qword [rsp + 0x50]
mov edx, esi
mov rcx, r14
mov dword [rbx - 0xc], r11d
call fcn.1400ebe50
inc esi
add rbx, 0x58
cmp esi, ebp
mov qword [rsp + 0x50], rax
mov eax, dword [rbx - 0x6c]
mov dword [r14 + 0x34], eax
jl 0x1400f83c0
mov rax, r14
jmp 0x1400f847b
mov r8, qword [rsp + 0x38]
mov r15, qword [rsp + 0x100]
mov eax, dword [r14 + 0x3c]
mov rdx, r14
mov rcx, r8
mov dword [r15 + 0xb4], eax
call fcn.1400f3400
xor eax, eax
mov rbx, qword [rsp + 0x110]
mov r14, qword [rsp + 0xc0]
add rsp, 0xc8
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret