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

Disassembly:
mov qword [rsp + 0x18], r8
mov rax, rsp
sub rsp, 0xf8
mov qword [rax + 0x20], rbx
mov rbx, qword [rdx + 0x50]
mov qword [rax - 8], rbp
mov qword [rax - 0x10], rsi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
xor r14d, r14d
mov qword [rax - 0x38], r15
mov r15, qword [rcx]
mov rax, qword [r8]
mov rsi, rcx
lea rcx, [rsp + 0x68]
mov r12, r8
mov qword [rcx], rax
mov rax, qword [r8 + 8]
mov r13, rdx
mov qword [rcx + 8], rax
mov rax, qword [r8 + 0x10]
mov dword [rsp + 0x100], r14d
mov qword [rcx + 0x10], rax
cmp qword [rbx + 0x48], r14
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x108], r14d
mov qword [rsp + 0xb0], r15
je 0x493812
movzx ecx, byte [rdx + 8]
sub ecx, 0x74
je 0x4937f1
dec ecx
je 0x4937e8
dec ecx
je 0x4937df
lea r8, str.UNION
jmp 0x4937f8
lea r8, str.INTERSECT
jmp 0x4937f8
lea r8, str.EXCEPT
jmp 0x4937f8
lea r8, str.UNION_ALL
lea rdx, str.ORDER_BY_clause_should_come_after__s_not_before
mov rcx, rsi
call fcn.00462100
mov r14d, 1
jmp 0x4942a3
cmp qword [rbx + 0x60], r14
je 0x493865
movzx ecx, byte [rdx + 8]
sub ecx, 0x74
je 0x493844
dec ecx
je 0x49383b
dec ecx
je 0x493832
lea r8, str.UNION
jmp 0x49384b
lea r8, str.INTERSECT
jmp 0x49384b
lea r8, str.EXCEPT
jmp 0x49384b
lea r8, str.UNION_ALL
lea rdx, str.LIMIT_clause_should_come_after__s_not_before
mov rcx, rsi
call fcn.00462100
mov r14d, 1
jmp 0x4942a3
mov rdi, qword [rsi + 0x10]
test rdi, rdi
jne 0x4938e4
mov rcx, rsi
call fcn.0044f4c0
test rax, rax
mov rdi, rax
mov qword [rsi + 0x10], rax
je 0x4938ce
movsxd rbp, dword [rax + 0x3c]
mov rax, qword [rax + 0x30]
cmp dword [rax + 0x60], ebp
jg 0x4938a0
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4938ce
mov rax, qword [rdi + 8]
inc dword [rdi + 0x3c]
lea rcx, [rbp + rbp*2]
mov byte [rax + rcx*8], 0x99
mov byte [rax + rcx*8 + 3], r14b
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov byte [rax + rcx*8 + 1], r14b
cmp qword [rsi + 0x1c0], r14
jne 0x4938e4
mov rax, qword [rsi]
test byte [rax + 0x4c], 8
jne 0x4938e4
mov byte [rsi + 0x23], 1
movzx r8d, byte [rsp + 0x68]
cmp r8b, 0xc
jne 0x49397a
mov rax, qword [r13]
movsxd rbp, dword [rdi + 0x3c]
mov r12d, dword [rsp + 0x6c]
mov r14d, dword [rax]
mov rax, qword [rdi + 0x30]
cmp dword [rax + 0x60], ebp
jg 0x49391e
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x493951
inc dword [rdi + 0x3c]
mov rax, qword [rdi + 8]
lea rcx, [rbp + rbp*2]
mov dword [rax + rcx*8 + 8], r14d
xor r14d, r14d
mov byte [rax + rcx*8], reloc.WS2_32.dll_gethostname
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov byte [rax + rcx*8 + 1], r14b
jmp 0x493954
xor r14d, r14d
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x49396a
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
mov r12, qword [rsp + 0x110]
mov r8b, ntohs
mov byte [rsp + 0x68], r8b
mov rax, qword [rbx]
mov rdx, qword [r13]
mov ecx, dword [rax]
cmp dword [rdx], ecx
je 0x4939f6
test byte [r13 + 0xa], 0x80
je 0x4939a8
lea rdx, str.all_VALUES_must_have_the_same_number_of_terms
mov rcx, rsi
call fcn.00462100
mov r14d, 1
jmp 0x4942a3
movzx ecx, byte [r13 + 8]
sub ecx, 0x74
je 0x4939d5
dec ecx
je 0x4939cc
dec ecx
je 0x4939c3
lea r8, str.UNION
jmp 0x4939dc
lea r8, str.INTERSECT
jmp 0x4939dc
lea r8, str.EXCEPT
jmp 0x4939dc
lea r8, str.UNION_ALL
lea rdx, str.SELECTs_to_the_left_and_right_of__s_do_not_have_the_same_number_of_result_columns
mov rcx, rsi
call fcn.00462100
mov r14d, 1
jmp 0x4942a3
bt word [r13 + 0xa], 0xb
jae 0x493a1c
lea r8, [rsp + 0x68]
mov rdx, r13
mov rcx, rsi
call fcn.00492d50
mov r14d, dword [rsp + 0x100]
jmp 0x494072
cmp qword [r13 + 0x48], 0
je 0x493a36
mov r8, r12
mov rdx, r13
mov rcx, rsi
call fcn.00482b00
jmp 0x4944d4
movzx ecx, byte [r13 + 8]
sub ecx, 0x73
je 0x493e0a
dec ecx
je 0x493cfb
dec ecx
je 0x493e0a
mov ebp, dword [rsi + 0x50]
xor r9d, r9d
mov rcx, rdi
lea eax, [rbp + 2]
lea edx, [r9 + 0x39]
mov r8d, ebp
mov dword [rsi + 0x50], eax
call fcn.00441dd0
mov rcx, r13
mov dword [r13 + 0x14], eax
mov rax, qword [r13 + 0x58]
test rax, rax
je 0x493a8c
nop
mov rcx, rax
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x493a80
or word [rcx + 0xa], 8
mov eax, dword [rsi + 0x204]
lea r8, [rsp + 0x98]
mov rdx, rbx
mov rcx, rsi
mov dword [rsp + 0x50], eax
mov byte [rsp + 0x98], 1
mov dword [rsp + 0x9c], ebp
mov byte [rsp + 0x99], 0
mov dword [rsp + 0xa0], r14d
mov dword [rsp + 0xa4], r14d
call fcn.004c9af0
test eax, eax
mov r14d, eax
jne 0x4942a3
lea r8d, [rbp + 1]
lea edx, [rax + 0x39]
xor r9d, r9d
mov rcx, rdi
call fcn.00441dd0
mov r12, qword [r13 + 0x60]
mov r14, qword [r13 + 0x68]
mov dword [r13 + 0x18], eax
xor eax, eax
lea r8, [rsp + 0x98]
mov qword [r13 + 0x50], rax
mov qword [r13 + 0x60], rax
mov qword [r13 + 0x68], rax
lea eax, [rbp + 1]
mov rdx, r13
mov rcx, rsi
mov dword [rsp + 0x9c], eax
mov eax, dword [rsi + 0x204]
mov dword [rsp + 0x108], eax
call fcn.004c9af0
mov dword [rsp + 0x100], eax
mov rax, qword [r13 + 0x50]
mov qword [r13 + 0x50], rbx
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x20]
cmp qword [r13 + 0x20], rax
jbe 0x493b58
mov qword [r13 + 0x20], rax
mov rdx, qword [r13 + 0x60]
mov rcx, r15
call fcn.00445010
cmp byte [rsp + 0x68], 9
mov qword [r13 + 0x60], r12
mov qword [r13 + 0x68], r14
jne 0x493b99
mov rax, qword [r13 + 0x50]
mov r8, r13
test rax, rax
je 0x493b8c
nop
mov r8, rax
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x493b80
mov r8, qword [r8]
xor edx, edx
mov rcx, rsi
call fcn.00470820
mov rcx, rdi
call fcn.00441e70
mov rcx, rdi
mov r12d, eax
call fcn.00441e70
mov r8d, r12d
mov rdx, r13
mov rcx, rsi
mov r14d, eax
call fcn.00454be0
mov r9d, r12d
mov r8d, ebp
mov edx, WSAGetLastError
mov rcx, rdi
call fcn.00441dd0
movzx ecx, byte [rsi + 0x1f]
test cl, cl
jne 0x493be0
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
jmp 0x493bec
dec cl
movzx eax, cl
mov byte [rsi + 0x1f], al
mov ebx, dword [rsi + rax*4 + 0x24]
mov r9d, ebx
mov r8d, ebp
mov edx, 0x65
mov rcx, rdi
call fcn.00441dd0
lea r8d, [rbp + 1]
mov r9d, r14d
mov edx, 0x44
mov rcx, rdi
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x20], ebx
call fcn.0044f840
mov edx, ebx
mov rcx, rsi
call fcn.004321b0
mov r8, qword [r13]
lea rax, [rsp + 0x68]
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], rax
xor eax, eax
mov r9d, ebp
mov rdx, r13
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.00491a60
mov r8, qword [rdi + 0x30]
mov eax, 0xffffffff
sub eax, r14d
js 0x493c7f
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x493c7f
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
mov r9d, dword [rsp + 0x58]
mov edx, 9
dec eax
mov rcx, rdi
mov dword [r8 + 0x64], eax
mov r8d, ebp
call fcn.00441dd0
mov r11, qword [rdi + 0x30]
mov eax, 0xffffffff
sub eax, r12d
js 0x493cc0
mov rdx, qword [r11 + 0x80]
test rdx, rdx
je 0x493cc0
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
xor r9d, r9d
lea r8d, [rbp + 1]
dec eax
lea edx, [r9 + 0x3d]
mov rcx, rdi
mov dword [r11 + 0x64], eax
call fcn.00441dd0
xor r9d, r9d
lea edx, [r9 + 0x3d]
mov r8d, ebp
mov rcx, rdi
call fcn.00441dd0
mov r14d, dword [rsp + 0x100]
jmp 0x494072
mov eax, dword [r13 + 0xc]
lea r8, [rsp + 0x68]
mov rdx, rbx
mov dword [rbx + 0xc], eax
mov eax, dword [r13 + 0x10]
mov rcx, rsi
mov dword [rbx + 0x10], eax
mov rax, qword [r13 + 0x60]
mov ebp, r14d
mov qword [rbx + 0x60], rax
mov rax, qword [r13 + 0x68]
mov qword [rbx + 0x68], rax
mov eax, dword [rsi + 0x204]
mov dword [rsp + 0x50], eax
call fcn.004c9af0
mov r14d, eax
xor eax, eax
test r14d, r14d
mov qword [r13 + 0x60], rax
mov qword [r13 + 0x68], rax
jne 0x4942a3
mov qword [r13 + 0x50], rax
mov eax, dword [rbx + 0xc]
mov dword [r13 + 0xc], eax
mov r8d, dword [r13 + 0xc]
mov eax, dword [rbx + 0x10]
test r8d, r8d
mov dword [r13 + 0x10], eax
je 0x493d76
mov edx, Ordinal_143
mov rcx, rdi
call fcn.00441d40
mov ebp, eax
mov eax, dword [rsi + 0x204]
lea r8, [rsp + 0x68]
mov rdx, r13
mov rcx, rsi
mov dword [rsp + 0x108], eax
call fcn.004c9af0
mov r14d, eax
mov dword [rsp + 0x100], eax
mov rax, qword [r13 + 0x50]
mov qword [r13 + 0x50], rbx
mov rcx, qword [rbx + 0x20]
mov qword [rsp + 0x60], rax
add qword [r13 + 0x20], rcx
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x493ddc
lea rdx, [rsp + 0x58]
call fcn.004319f0
test eax, eax
je 0x493ddc
movsxd rax, dword [rsp + 0x58]
test eax, eax
jle 0x493ddc
cmp qword [r13 + 0x20], rax
jbe 0x493ddc
mov qword [r13 + 0x20], rax
test ebp, ebp
je 0x494072
mov edx, dword [rdi + 0x3c]
cmp edx, ebp
jbe 0x493df9
mov eax, ebp
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
jmp 0x494072
cmp r8b, 1
jne 0x493e16
mov ebp, dword [rsp + 0x6c]
jmp 0x493e52
mov ebp, dword [rsi + 0x50]
xor r9d, r9d
mov rcx, rdi
lea eax, [rbp + 1]
lea edx, [r9 + 0x39]
mov r8d, ebp
mov dword [rsi + 0x50], eax
call fcn.00441dd0
mov rcx, r13
mov dword [r13 + 0x14], eax
mov rax, qword [r13 + 0x58]
test rax, rax
je 0x493e4d
mov rcx, rax
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x493e41
or word [rcx + 0xa], 8
mov eax, dword [rsi + 0x204]
lea r8, [rsp + 0x80]
mov rdx, rbx
mov rcx, rsi
mov byte [rsp + 0x80], 1
mov dword [rsp + 0x84], ebp
mov dword [rsp + 0x50], eax
mov byte [rsp + 0x81], 0
mov dword [rsp + 0x88], r14d
mov dword [rsp + 0x8c], r14d
call fcn.004c9af0
test eax, eax
mov r14d, eax
jne 0x4942a3
cmp byte [r13 + 8], 0x75
mov r12, qword [r13 + 0x60]
mov r14, qword [r13 + 0x68]
sete al
xor ecx, ecx
lea r8, [rsp + 0x80]
inc al
mov qword [r13 + 0x50], rcx
mov qword [r13 + 0x60], rcx
mov qword [r13 + 0x68], rcx
mov byte [rsp + 0x80], al
mov eax, dword [rsi + 0x204]
mov rdx, r13
mov rcx, rsi
mov dword [rsp + 0x108], eax
call fcn.004c9af0
mov rdx, qword [r13 + 0x48]
mov rcx, r15
mov dword [rsp + 0x100], eax
call fcn.00445760
cmp byte [r13 + 8], 0x73
mov rax, qword [r13 + 0x50]
mov qword [r13 + 0x48], 0
mov qword [r13 + 0x50], rbx
mov qword [rsp + 0x60], rax
jne 0x493f1f
mov rax, qword [rbx + 0x20]
add qword [r13 + 0x20], rax
mov rdx, qword [r13 + 0x60]
mov rcx, r15
call fcn.00445010
xor eax, eax
mov qword [r13 + 0x60], r12
mov dword [r13 + 0xc], eax
mov dword [r13 + 0x10], eax
movzx eax, byte [rsp + 0x68]
cmp al, 1
mov qword [r13 + 0x68], r14
je 0x49406a
cmp al, 9
jne 0x493f79
mov rax, qword [r13 + 0x50]
mov r8, r13
test rax, rax
je 0x493f6c
nop
nop
mov r8, rax
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x493f60
mov r8, qword [r8]
xor edx, edx
mov rcx, rsi
call fcn.00470820
mov rcx, rdi
call fcn.00441e70
mov rcx, rdi
mov r12d, eax
call fcn.00441e70
mov r8d, r12d
mov rdx, r13
mov rcx, rsi
mov ebx, eax
call fcn.00454be0
mov r9d, r12d
mov r8d, ebp
mov edx, WSAGetLastError
mov rcx, rdi
call fcn.00441dd0
mov r8, qword [r13]
mov r14d, dword [rdi + 0x3c]
lea rax, [rsp + 0x68]
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rax
xor eax, eax
mov r9d, ebp
mov qword [rsp + 0x28], rax
mov rdx, r13
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.00491a60
mov r8, qword [rdi + 0x30]
mov eax, 0xffffffff
sub eax, ebx
js 0x494006
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x494006
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
mov r9d, r14d
mov edx, 9
dec eax
mov rcx, rdi
mov dword [r8 + 0x64], eax
mov r8d, ebp
call fcn.00441dd0
mov r11, qword [rdi + 0x30]
mov eax, 0xffffffff
sub eax, r12d
js 0x494045
mov rdx, qword [r11 + 0x80]
test rdx, rdx
je 0x494045
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
xor r9d, r9d
mov r8d, ebp
dec eax
lea edx, [r9 + 0x3d]
mov rcx, rdi
mov dword [r11 + 0x64], eax
call fcn.00441dd0
mov r14d, dword [rsp + 0x100]
jmp 0x494072
mov r14d, dword [rsp + 0x100]
movzx edx, byte [r13 + 8]
mov r9d, dword [rsp + 0x108]
mov r8d, dword [rsp + 0x50]
xor eax, eax
cmp dl, 0x74
mov rcx, rsi
setne al
mov dword [rsp + 0x20], eax
call fcn.004706a0
test byte [r13 + 0xa], 8
je 0x4942a3
mov rax, qword [r13]
mov r8d, 1
mov rcx, r15
movsxd r14, dword [rax]
mov edx, r14d
mov dword [rsp + 0x108], r14d
call fcn.00454a20
test rax, rax
mov r12, rax
jne 0x4940d4
lea r14d, [rax + 7]
jmp 0x4942a3
xor ebp, ebp
test r14d, r14d
lea rbx, [rax + 0x20]
mov qword [rsp + 0x50], r14
jle 0x494145
xor r14d, r14d
nop
nop
nop
mov rdx, qword [r13 + 0x50]
test rdx, rdx
je 0x4941a8
mov r8d, ebp
mov rcx, rsi
call fcn.00482900
test rax, rax
jne 0x494125
mov rdx, qword [r13]
cmp ebp, dword [rdx]
jge 0x494125
mov rdx, qword [rdx + 8]
mov rcx, rsi
mov rdx, qword [rdx + r14]
call fcn.00480040
test rax, rax
mov qword [rbx], rax
jne 0x494134
mov rax, qword [r15 + 0x10]
mov qword [rbx], rax
inc ebp
add r14, 0x28
add rbx, 8
dec qword [rsp + 0x50]
jne 0x4940f0
mov r15d, dword [rsp + 0x108]
nop
xor r14d, r14d
lea rbp, [r13 + 0x14]
movsxd rdx, dword [rbp]
test edx, edx
js 0x4941d1
cmp dword [rdi + 0x3c], edx
jbe 0x494173
mov eax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], r15d
inc dword [r12]
mov rsi, qword [rdi + 8]
mov rcx, qword [rdi]
test rsi, rsi
je 0x4941b0
cmp byte [rcx + 0x50], 0
jne 0x4941b0
lea rbx, [rdx + rdx*2]
movsx edx, byte [rsi + rbx*8 + 1]
mov r8, qword [rsi + rbx*8 + 0x10]
call fcn.00441fd0
mov qword [rsi + rbx*8 + 0x10], r12
mov byte [rsi + rbx*8 + 1], 0xfa
jmp 0x4941bd
xor eax, eax
jmp 0x49410d
mov r8, r12
mov edx, 0xfffffffa
call fcn.00441fd0
inc r14
mov dword [rbp], 0xffffffff
add rbp, 4
cmp r14, 2
jl 0x494157
mov r13, qword [r13 + 0x50]
test r13, r13
jne 0x494150
add dword [r12], 0xffffffff
mov r15, qword [rsp + 0xb0]
jne 0x49429b
cmp dword [reloc.WS2_32.dll_accept], r13d
je 0x49427e
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x494210
call qword [0x0072d0f8]
mov rcx, r12
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, r12
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x494291
call qword [0x0072d108]
mov r14d, dword [rsp + 0x100]
jmp 0x4942a3
mov rcx, r12
call qword [0x0072d0a0]
mov r14d, dword [rsp + 0x100]
jmp 0x4942a3
mov r14d, dword [rsp + 0x100]
jmp 0x4942a3
mov r14d, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x110]
mov eax, dword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
test rsi, rsi
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0x74]
mov dword [rcx + 0xc], eax
je 0x4944d1
mov rdx, qword [rsi]
mov rcx, r15
call fcn.00445760
mov rdx, qword [rsi + 0x28]
mov rcx, r15
call fcn.004334e0
mov rbx, qword [rsi + 0x30]
test rbx, rbx
je 0x49434c
bt dword [rbx + 4], 0xe
jb 0x49433a
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.00445010
mov rdx, qword [rbx + 0x18]
mov rcx, r15
call fcn.00445010
bt dword [rbx + 4], 0x10
jae 0x494319
mov rdx, qword [rbx + 8]
mov rcx, r15
call fcn.00425ea0
bt dword [rbx + 4], 0xb
jae 0x49432e
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.004353b0
jmp 0x49433a
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.00445760
bt dword [rbx + 4], 0xf
jb 0x49434c
mov rdx, rbx
mov rcx, r15
call fcn.00425ea0
mov rdx, qword [rsi + 0x38]
mov rcx, r15
call fcn.00445760
mov rbx, qword [rsi + 0x40]
test rbx, rbx
je 0x4943c6
bt dword [rbx + 4], 0xe
jb 0x4943b4
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.00445010
mov rdx, qword [rbx + 0x18]
mov rcx, r15
call fcn.00445010
bt dword [rbx + 4], 0x10
jae 0x494393
mov rdx, qword [rbx + 8]
mov rcx, r15
call fcn.00425ea0
bt dword [rbx + 4], 0xb
jae 0x4943a8
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.004353b0
jmp 0x4943b4
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.00445760
bt dword [rbx + 4], 0xf
jb 0x4943c6
mov rdx, rbx
mov rcx, r15
call fcn.00425ea0
mov rdx, qword [rsi + 0x48]
mov rcx, r15
call fcn.00445760
mov rdx, qword [rsi + 0x50]
mov rcx, r15
call fcn.004353b0
mov rbx, qword [rsi + 0x60]
test rbx, rbx
je 0x49444c
bt dword [rbx + 4], 0xe
jb 0x49443a
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.00445010
mov rdx, qword [rbx + 0x18]
mov rcx, r15
call fcn.00445010
bt dword [rbx + 4], 0x10
jae 0x494419
mov rdx, qword [rbx + 8]
mov rcx, r15
call fcn.00425ea0
bt dword [rbx + 4], 0xb
jae 0x49442e
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.004353b0
jmp 0x49443a
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.00445760
bt dword [rbx + 4], 0xf
jb 0x49444c
mov rdx, rbx
mov rcx, r15
call fcn.00425ea0
mov rbx, qword [rsi + 0x68]
test rbx, rbx
je 0x4944ba
bt dword [rbx + 4], 0xe
jb 0x4944a8
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.00445010
mov rdx, qword [rbx + 0x18]
mov rcx, r15
call fcn.00445010
bt dword [rbx + 4], 0x10
jae 0x494487
mov rdx, qword [rbx + 8]
mov rcx, r15
call fcn.00425ea0
bt dword [rbx + 4], 0xb
jae 0x49449c
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.004353b0
jmp 0x4944a8
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.00445760
bt dword [rbx + 4], 0xf
jb 0x4944ba
mov rdx, rbx
mov rcx, r15
call fcn.00425ea0
mov rdx, qword [rsi + 0x70]
mov rcx, r15
call fcn.00433b40
mov rdx, rsi
mov rcx, r15
call fcn.00425ea0
mov eax, r14d
mov r15, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
mov rbp, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x118]
add rsp, 0xf8
ret