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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0x498
mov qword [rax - 8], rbx
mov qword [rax - 0x10], rbp
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov r13, qword [rcx + 0x18]
mov qword [rax - 0x40], r15
xor r15d, r15d
cmp word [rdx], 0x40
mov qword [rsp + 0x48], r13
mov rdi, r9
mov rbx, r8
mov r12, rdx
mov rbp, rcx
mov dword [rsp + 0x78], r15d
mov qword [rsp + 0xc0], r15
jbe 0x18004f08e
lea r8d, [r15 + 0x40]
lea rdx, [0x18029baf0]
call fcn.180006260
xor eax, eax
jmp 0x180050c9b
test r9, r9
je 0x18004f09e
mov rax, qword [r9]
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0x310]
xor edx, edx
mov r8d, 0x104
mov qword [rsp + 0x480], rsi
call fcn.180233580
lea rax, [rsp + 0x310]
mov qword [rsp + 0x118], rax
lea rax, [rsp + 0x130]
mov rdx, rbx
mov rcx, rbp
mov qword [rsp + 0x110], rbp
mov dword [rsp + 0x120], r15d
mov qword [rsp + 0x128], rax
mov dword [rsp + 0x124], 0xa
call fcn.18003f110
test rbx, rbx
je 0x18004f212
cmp byte [rbx], 0x3d
je 0x18004f1e4
mov edx, dword [rsp + 0x120]
mov eax, dword [rsp + 0x124]
cmp edx, eax
jl 0x18004f1ac
mov rsi, qword [rsp + 0x128]
lea ecx, [rax + rax*2]
shl ecx, 5
call fcn.180009b70
test rax, rax
mov rcx, rax
mov qword [rsp + 0x128], rax
jne 0x18004f168
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax]
mov byte [rcx + 0x2a], 1
mov qword [rsp + 0x128], rsi
jmp 0x18004f212
movsxd rax, dword [rsp + 0x120]
mov rdx, rsi
lea r8, [rax + rax*2]
shl r8, 4
call fcn.180232390
lea r11, [rsp + 0x130]
cmp rsi, r11
je 0x18004f195
mov rcx, rsi
call fcn.180009c60
mov eax, dword [rsp + 0x124]
mov edx, dword [rsp + 0x120]
add eax, eax
mov dword [rsp + 0x124], eax
movsxd rax, edx
lea rcx, [rax + rax*2]
lea rax, [rsp + 0x110]
shl rcx, 4
add rcx, qword [rsp + 0x128]
add edx, 1
mov dword [rsp + 0x120], edx
mov qword [rcx], rbx
mov byte [rcx + 0x10], r15b
mov qword [rcx + 0x18], rax
mov word [rcx + 8], 0xffff
jmp 0x18004f212
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x110]
mov r8d, 0x3d
call fcn.18004bc50
mov rdx, qword [rbx + 0x18]
lea rcx, [rsp + 0x110]
mov r8d, 0x3d
call fcn.18004bc50
mov rsi, qword [rbp]
movsx rax, word [r12]
mov qword [rsp + 0x460], r14
lea edx, [rax + rax*2]
mov rcx, rsi
mov qword [rsp + 0xb0], rsi
shl edx, 5
add edx, 0x90
call fcn.180021c60
cmp byte [rsi + 0x2a], r15b
mov r14, rax
mov qword [rsp + 0xa0], rax
jne 0x180050c07
movsx eax, word [r12]
mov rcx, r13
mov qword [r14], rbp
mov dword [r14 + 0x24], eax
mov qword [r14 + 0x10], r12
call fcn.18001d050
test rbx, rbx
mov dword [r14 + 0x20], eax
je 0x18004f29d
cmp word [r12], r15w
je 0x18004f288
mov rcx, rbx
call fcn.18003bb60
test eax, eax
je 0x18004f29d
mov r8d, dword [r14 + 0x20]
mov r9d, 8
mov rdx, rbx
mov rcx, rbp
call fcn.18003f550
movsx eax, word [r12]
test eax, eax
jle 0x18004f2df
mov edx, dword [rsp + 0x310]
lea r8, [r12 + 0x34]
mov r9d, eax
mov eax, dword [r8]
movsxd rcx, edx
add r8, 0x48
mov dword [rsp + rcx*4 + 0x314], eax
mov edx, dword [rsp + 0x310]
add edx, 1
sub r9, 1
mov dword [rsp + 0x310], edx
jne 0x18004f2b5
jmp 0x18004f2e6
mov edx, dword [rsp + 0x310]
mov ebx, dword [rsp + 0x120]
add ebx, 0xffffffff
js 0x18004f311
lea rdx, [rsp + 0x110]
mov r8d, ebx
mov rcx, r12
call fcn.18004ca40
sub ebx, 1
jns 0x18004f2f2
mov edx, dword [rsp + 0x310]
cmp byte [rsi + 0x2a], r15b
jne 0x180050c07
movsx r8d, word [r12]
mov rax, 0xffffffffffffffff
lea rcx, [r14 + 0x30]
test r8d, r8d
mov qword [rsp + 0x90], rax
mov r9, rax
mov qword [rsp + 0x80], rax
mov ebx, eax
mov dword [rsp + 0x7c], eax
mov r10d, r15d
mov dword [rsp + 0x54], r15d
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x60], rcx
mov r13, rcx
mov r14, r15
jle 0x18004f709
movdqa xmmword [rsp + 0x430], xmm7
movsd xmm7, qword [0x18029bae8]
movdqa xmmword [rsp + 0x420], xmm8
movsd xmm8, qword [0x18029ba60]
movdqa xmmword [rsp + 0x440], xmm6
cmp r10d, r8d
movsxd rax, r10d
mov r12, r15
lea rcx, [rax + rax*8]
mov rax, qword [rsp + 0x4a8]
mov qword [rsp + 0x88], r15
movsd xmm6, xmm8
mov esi, r15d
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x6c], r15d
mov r11d, r15d
mov dword [rsp + 0x74], r15d
lea rbx, [rax + rcx*8 + 8]
mov ebp, r10d
mov r15, r14
jge 0x18004f5f4
mov rcx, qword [rsp + 0xa0]
lea rax, [r14 + r14*2]
shl rax, 5
lea r12, [rax + rcx + 0x88]
nop
nop
nop
test byte [rbx + 0x29], 0xa
mov r8d, 0
mov esi, r8d
setne sil
test r11d, r11d
je 0x18004f41e
test esi, esi
jne 0x18004f5db
test edx, edx
mov ecx, r8d
jle 0x18004f444
mov r8d, dword [rbx + 0x2c]
lea rax, [rsp + 0x314]
cmp dword [rax], r8d
je 0x18004f467
add ecx, 1
add rax, 4
cmp ecx, edx
jl 0x18004f431
xor r8d, r8d
mov rax, r8
test r9, rax
jne 0x18004f474
cmp r15, r14
jne 0x18004f5b9
add r10d, 1
add r14, 1
mov dword [rsp + 0x54], r10d
jmp 0x18004f5b9
mov eax, 1
shl rax, cl
xor r8d, r8d
jmp 0x18004f447
mov rax, qword [rbx + 0x18]
cmp byte [rax + 0x69], 0
je 0x18004f501
test rdi, rdi
je 0x18004f48c
mov rcx, qword [rdi]
jmp 0x18004f48f
mov rcx, r8
cmp dword [rsp + 0x50], 0
mov eax, r8d
mov qword [rsp + 0x30], r12
sete al
lea rdx, [rsp + 0x110]
mov r8, rbx
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x4a0]
call fcn.18004c000
mov rcx, qword [r12]
mov eax, 0x800000
test rcx, rcx
mov dword [rsp + 0x58], eax
je 0x18004f4e2
cmp dword [rcx + 0x3c], 0
mov edx, 0x900000
cmovne eax, edx
mov dword [rsp + 0x58], eax
xor r8d, r8d
comisd xmm0, xmm7
mov rdx, r8
mov qword [rsp + 0x98], r8
mov dword [rsp + 0x70], r8d
jbe 0x18004f56c
movsd xmm0, xmm7
jmp 0x18004f56c
movsxd rax, dword [rsp + 0x50]
test rax, rax
jne 0x18004f515
test rdi, rdi
je 0x18004f515
mov rax, qword [rdi]
jmp 0x18004f518
mov rax, r8
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x110]
mov r8, rbx
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x4a0]
mov qword [rsp + 0x20], rax
call fcn.18004e8c0
mov eax, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x70]
xor edx, edx
mov rcx, rdx
mov rdx, qword [rsp + 0x98]
comisd xmm6, xmm0
jbe 0x18004f59c
mov r11d, 1
movsd xmm6, xmm0
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x6c], ebp
mov dword [rsp + 0x74], r11d
mov qword [r13 + 0x50], rcx
jmp 0x18004f5a1
mov r11d, dword [rsp + 0x74]
test esi, esi
jne 0x18004f5db
mov edx, dword [rsp + 0x310]
mov r9, qword [rsp + 0x80]
mov r10d, dword [rsp + 0x54]
mov rax, qword [rsp + 0x4a8]
add ebp, 1
add r15, 1
movsx eax, word [rax]
add r12, 0x60
add rbx, 0x48
cmp ebp, eax
jl 0x18004f400
mov r9, qword [rsp + 0x80]
mov r10d, dword [rsp + 0x54]
mov esi, dword [rsp + 0x40]
mov r12, qword [rsp + 0x88]
bt esi, 0x14
jae 0x18004f602
xor r15d, r15d
mov qword [rdi], r15
jmp 0x18004f605
xor r15d, r15d
mov ebx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x68]
mov dword [r13 + 4], esi
and ebx, esi
test r12, r12
mov qword [r13 + 0x10], r12
mov dword [r13 + 0x3c], eax
mov qword [r13 + 0x48], r15
mov dword [r13 + 0x40], r15d
mov dword [rsp + 0x7c], ebx
je 0x18004f641
mov rbp, qword [rsp + 0x4a0]
mov eax, dword [rbp + 0x54]
mov dword [r13 + 0x1c], eax
add dword [rbp + 0x54], 1
jmp 0x18004f651
mov rbp, qword [rsp + 0x4a0]
mov dword [r13 + 0x1c], 0xffffffff
mov edx, dword [rsp + 0x310]
movsxd r11, dword [rsp + 0x6c]
mov ecx, r15d
test edx, edx
jle 0x18004f69c
mov r12, qword [rsp + 0x4a8]
lea rax, [r11 + r11*8]
mov r8d, dword [r12 + rax*8 + 0x34]
lea rax, [rsp + 0x314]
nop
cmp dword [rax], r8d
je 0x18004f692
add ecx, 1
add rax, 4
cmp ecx, edx
jl 0x18004f680
jmp 0x18004f6a4
mov eax, 1
shl rax, cl
jmp 0x18004f6a7
mov r12, qword [rsp + 0x4a8]
mov rax, r15
not rax
mov dword [r13], r11d
movsx r8d, word [r12]
and r9, rax
mov eax, dword [rsp + 0x50]
add r13, 0x60
add eax, 1
mov qword [rsp + 0x80], r9
cmp eax, r8d
mov dword [rsp + 0x50], eax
jge 0x18004f6de
mov edx, dword [rsp + 0x310]
jmp 0x18004f392
mov rsi, qword [rsp + 0xb0]
movdqa xmm8, xmmword [rsp + 0x420]
movdqa xmm7, xmmword [rsp + 0x430]
mov rax, 0xffffffffffffffff
movdqa xmm6, xmmword [rsp + 0x440]
and ebx, 0x400000
je 0x18004f719
test rdi, rdi
je 0x18004f719
mov qword [rdi], r15
test byte [rsp + 0x4c0], 4
je 0x18004f73a
test ebx, ebx
je 0x18004f73a
mov rcx, qword [rsp + 0xa0]
and dword [rcx + 0x34], 0xfff7ffff
mov byte [rcx + 8], 1
mov edx, eax
mov rcx, rbp
call fcn.180019a70
mov rax, qword [rsp + 0x4a8]
mov r14, qword [rsp + 0x60]
cmp word [rax], 0
mov r12d, r15d
mov rdi, r14
jle 0x18004fa3e
mov r14, rax
cmp byte [rbp + 0x178], 2
mov r13d, dword [rdi + 0x1c]
jne 0x18004f863
movsxd rax, dword [rdi]
lea rdx, str.TABLE__s
mov rcx, rsi
lea rbx, [rax + rax*8]
mov r8, qword [r14 + rbx*8 + 0x10]
call fcn.1800301e0
mov r9, qword [r14 + rbx*8 + 0x18]
test r9, r9
mov r11, rax
je 0x18004f7b2
lea rdx, str._z_AS__s
mov r8, rax
mov rcx, rsi
call fcn.1800301e0
mov r11, rax
mov r9, qword [rdi + 0x10]
test r9, r9
je 0x18004f7d5
mov r9, qword [r9]
lea rdx, str._z_WITH_INDEX__s
mov r8, r11
mov rcx, rsi
call fcn.1800301e0
mov r11, rax
jmp 0x18004f820
test dword [rdi + 4], 0x300
je 0x18004f7f5
lea rdx, str._z_USING_PRIMARY_KEY
mov r8, r11
mov rcx, rsi
call fcn.1800301e0
mov r11, rax
jmp 0x18004f820
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x18004f820
mov rax, qword [rcx + 0x30]
mov r9d, dword [rcx + 0x28]
lea rdx, str._z_VIRTUAL_TABLE_INDEX__d:_s
mov r8, r11
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1800301e0
mov r11, rax
bt dword [rdi + 4], 0x14
jae 0x18004f83c
lea rdx, [0x18029ba68]
mov r8, r11
mov rcx, rsi
call fcn.1800301e0
mov r11, rax
mov r9d, dword [rdi]
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x30], 0xffffffff
mov qword [rsp + 0x28], r11
mov r8d, r12d
mov edx, 0x6e
mov dword [rsp + 0x20], r15d
call fcn.18001fe90
movsxd rax, dword [rdi]
mov rcx, qword [rbp]
lea rsi, [rax + rax*8]
mov rbx, qword [r14 + rsi*8 + 0x20]
mov rdx, qword [rbx + 0x90]
call fcn.180005950
cmp byte [rbx + 0x65], 0
mov ebp, eax
jne 0x18004fa0a
cmp qword [rbx + 0x30], 0
jne 0x18004fa14
cmp qword [rdi + 0x50], 0
je 0x18004f8d6
mov rax, qword [rbx + 0x78]
mov r8d, dword [r14 + rsi*8 + 0x34]
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x30], 0xfffffff6
mov qword [rsp + 0x28], rax
lea edx, [r9 + 0x1f]
mov dword [rsp + 0x20], r15d
call fcn.18001fe90
mov r14, qword [rsp + 0x4a0]
jmp 0x18004f987
bt dword [rdi + 4], 0x13
jb 0x18004f966
mov rcx, qword [rsp + 0xa0]
mov edx, dword [r14 + rsi*8 + 0x34]
mov r14, qword [rsp + 0x4a0]
cmp byte [rcx + 8], 0
mov eax, 0xd
mov ecx, 9
cmovne eax, ecx
mov r9, rbx
mov r8d, ebp
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.180041680
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 8], 0
jne 0x18004f987
cmp dword [rbx + 8], 0x40
jae 0x18004f987
mov rax, qword [rsp + 0x4a8]
mov ebx, r15d
mov rax, qword [rax + rsi*8 + 0x48]
test rax, rax
je 0x18004f94a
add ebx, 1
shr rax, 1
jne 0x18004f942
mov rcx, qword [rsp + 0x48]
call fcn.18007f870
mov rcx, qword [rsp + 0x48]
mov r8d, ebx
lea edx, [rax - 2]
call fcn.18001d3c0
jmp 0x18004f987
mov rax, qword [rbx]
mov r14, qword [rsp + 0x4a0]
mov r8d, dword [rbx + 0x28]
mov rcx, r14
xor r9d, r9d
mov edx, ebp
mov qword [rsp + 0x20], rax
call fcn.180016dc0
mov rax, qword [rsp + 0x4a8]
mov eax, dword [rax + rsi*8 + 0x34]
mov rsi, qword [rdi + 0x10]
test rsi, rsi
mov dword [rdi + 0x18], eax
je 0x18004f9ee
mov rdx, rsi
mov rcx, r14
call fcn.180019c60
mov r9d, dword [rsi + 8]
mov r14, qword [rsp + 0x48]
xor r8d, r8d
add r9d, 1
mov rcx, r14
lea edx, [r8 + 0x62]
mov rbx, rax
call fcn.18001cf70
mov r9d, dword [rsi + 0x28]
mov dword [rsp + 0x30], 0xfffffff7
mov r8d, r13d
mov edx, 0xd
mov rcx, r14
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ebp
call fcn.18001fe90
mov edx, ebp
mov rbp, qword [rsp + 0x4a0]
mov rcx, rbp
call fcn.180019a70
mov r14, qword [rsp + 0x4a8]
jmp 0x18004fa1c
mov rbp, qword [rsp + 0x4a0]
jmp 0x18004fa1c
mov rbp, qword [rsp + 0x4a0]
movsx eax, word [r14]
mov rsi, qword [rsp + 0xb0]
add r12d, 1
add rdi, 0x60
cmp r12d, eax
jl 0x18004f764
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
call fcn.18007f870
mov rcx, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x4a8]
mov dword [rcx + 0x18], eax
cmp word [r12], 0
mov dword [rsp + 0x7c], r15d
jle 0x180050b97
nop
movsxd rax, dword [r14]
mov rcx, rsi
lea rbx, [rax + rax*8]
mov rax, qword [r14 + 0x10]
mov edi, dword [r12 + rbx*8 + 0x34]
mov qword [rsp + 0x98], rax
mov eax, dword [r14 + 0x1c]
mov dword [rsp + 0x68], eax
mov eax, dword [r14 + 4]
mov dword [rsp + 0x40], edi
mov ebp, eax
shr eax, 0x13
and eax, 1
shr ebp, 0x15
and ebp, 1
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0x50], ebp
call fcn.18001d050
mov rcx, rsi
mov r13d, eax
mov dword [rsp + 0x6c], eax
mov dword [r14 + 0x24], eax
mov dword [r14 + 0x20], eax
call fcn.18001d050
cmp dword [r14], 0
mov dword [rsp + 0x78], eax
mov dword [r14 + 0x28], eax
jle 0x18004fb15
test byte [r12 + rbx*8 + 0x31], 8
je 0x18004fb0b
mov rbx, qword [rsp + 0x4a0]
xor r8d, r8d
mov rcx, rsi
add dword [rbx + 0x58], 1
mov r9d, dword [rbx + 0x58]
lea edx, [r8 + 0x2f]
mov dword [r14 + 0xc], r9d
call fcn.18001cf70
jmp 0x18004fb1d
mov rbx, qword [rsp + 0x4a0]
jmp 0x18004fb1d
mov rbx, qword [rsp + 0x4a0]
mov r15, qword [r14 + 0x50]
test r15, r15
mov qword [rsp + 0xa8], r15
je 0x18004fd27
movsxd r12, dword [r15]
mov rbp, qword [r15 + 0x20]
mov r14, qword [r15 + 8]
lea eax, [r12 + 2]
mov rcx, rbx
mov edx, eax
mov dword [rsp + 0x68], eax
call fcn.18003ad70
mov edi, 1
cmp r12d, edi
mov r13d, eax
jl 0x18004fbe5
mov r15, qword [rsp + 0x4a0]
xor eax, eax
nop
nop
test r12d, r12d
mov ebx, eax
mov rcx, rax
jle 0x18004fbc3
nop
nop
cmp dword [rbp + rcx*8], edi
je 0x18004fb94
add rcx, 1
add ebx, 1
cmp rcx, r12
jl 0x18004fb80
jmp 0x18004fbc3
lea rax, [rcx + rcx*2]
lea r8d, [rdi + r13 + 1]
movsxd rcx, dword [r14 + rax*4 + 8]
mov rax, qword [rsp + 0x128]
lea rdx, [rcx + rcx*2]
mov rcx, r15
add rdx, rdx
mov rdx, qword [rax + rdx*8]
mov rdx, qword [rdx + 0x18]
call fcn.18003a900
xor eax, eax
cmp ebx, r12d
je 0x18004fbd0
add edi, 1
cmp edi, r12d
jle 0x18004fb70
mov r15, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x4a0]
mov rsi, qword [rsp + 0x48]
mov r8d, dword [r15 + 0x28]
mov r9d, r13d
mov edx, 0x2f
mov rcx, rsi
call fcn.18001cf70
lea r9d, [r13 + 1]
lea r8d, [rdi - 1]
mov edx, 0x2f
mov rcx, rsi
call fcn.18001cf70
cmp dword [r15 + 0x38], 0
mov edi, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x6c]
mov ecx, 0xfffffff5
mov eax, 0xfffffffe
cmovne eax, ecx
lea edx, [rcx + 0x6f]
mov r8d, edi
mov dword [rsp + 0x30], eax
mov rax, qword [r15 + 0x30]
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
call fcn.18001fe90
mov r8d, dword [rsp + 0x68]
mov edx, r13d
mov rcx, rbx
call fcn.18003ade0
xor edx, edx
cmp dword [r15], edx
mov dword [r15 + 0x38], edx
mov ebx, edx
jle 0x18004fcec
lea r11, [r14 + 8]
lea r10, [rbp + 4]
cmp byte [r10], 0
je 0x18004fcdc
movsxd rax, dword [r11]
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, qword [rsp + 0x128]
je 0x18004fcdc
movzx edx, byte [rcx + 0x10]
test dl, 4
jne 0x18004fcdc
mov r8, qword [rsp + 0x60]
cmp dword [r8 + 0xc], 0
je 0x18004fcab
mov rax, qword [rcx]
test byte [rax + 2], 1
je 0x18004fcdc
movzx eax, word [rcx + 8]
or dl, 4
test ax, ax
mov byte [rcx + 0x10], dl
js 0x18004fcdc
mov rcx, qword [rcx + 0x18]
movsx rax, ax
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, qword [rcx + 0x18]
add byte [rdx + 0x11], 0xff
jne 0x18004fcdc
mov rcx, r8
call fcn.18004c320
add ebx, 1
add r10, 8
add r11, 0xc
cmp ebx, dword [r15]
jl 0x18004fc72
mov r14, qword [rsp + 0x60]
mov ebx, 1
mov rcx, rsi
mov dword [r14 + 0x30], ebx
mov dword [r14 + 0x34], edi
call fcn.18007f870
mov rsi, qword [rsp + 0x4a0]
mov r12, qword [rsp + 0x4a8]
mov r13, qword [rsp + 0x48]
mov dword [r14 + 0x38], eax
xor r15d, r15d
jmp 0x180050a25
mov eax, dword [r14 + 4]
bt eax, 8
jae 0x18004fdd9
mov ecx, dword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
test ecx, ecx
je 0x18004fd74
movsx eax, word [rdx + 0xa]
cmp eax, edi
jne 0x18004fd6b
mov rax, qword [rsp + 0x90]
test qword [rdx + 0x20], rax
jne 0x18004fd6b
cmp word [rdx + 0xc], 0xffff
jne 0x18004fd6b
test byte [rdx + 0xe], 3
jne 0x18004fd76
add rdx, 0x30
sub ecx, 1
jne 0x18004fd48
xor edx, edx
xor r9d, r9d
mov r8, r14
mov rcx, rbx
call fcn.18004c380
mov edi, dword [r14 + 0x24]
mov edx, 0x25
mov r9d, edi
mov r8d, eax
mov rcx, rsi
mov ebx, eax
call fcn.18001cf70
mov r9d, edi
mov edi, dword [rsp + 0x40]
mov edx, 0x2d
mov rcx, rsi
mov r8d, edi
mov dword [rsp + 0x20], ebx
call fcn.18001cd00
mov rsi, qword [rsp + 0x4a0]
mov r13, qword [rsp + 0x48]
xor r15d, r15d
mov dword [r14 + 0x30], 0x17
lea ebx, [r15 + 1]
jmp 0x180050a25
bt eax, 9
jae 0x180050118
mov edx, dword [rsp + 0x120]
mov rsi, qword [rsp + 0x128]
mov r12d, 0x17
test edx, edx
mov rdi, rsi
mov ecx, edx
je 0x18004fe3a
mov r15d, dword [rsp + 0x40]
movsx eax, word [rdi + 0xa]
cmp eax, r15d
jne 0x18004fe2a
mov r8, qword [rsp + 0x90]
test qword [rdi + 0x20], r8
jne 0x18004fe2a
cmp word [rdi + 0xc], 0xffff
jne 0x18004fe2a
test byte [rdi + 0xe], 0x24
jne 0x18004fe35
add rdi, 0x30
sub ecx, 1
jne 0x18004fe06
jmp 0x18004fe3f
xor r14d, r14d
jmp 0x18004fe4d
mov r15d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x90]
xor r14d, r14d
mov rdi, r14
test edx, edx
je 0x18004fe76
movsx eax, word [rsi + 0xa]
cmp eax, r15d
jne 0x18004fe6d
test qword [rsi + 0x20], r8
jne 0x18004fe6d
cmp word [rsi + 0xc], 0xffff
jne 0x18004fe6d
test byte [rsi + 0xe], 0x18
jne 0x18004fe79
add rsi, 0x30
sub edx, 1
jne 0x18004fe51
mov rsi, r14
test ebp, ebp
je 0x18004fe86
mov rax, rdi
mov rdi, rsi
mov rsi, rax
test rdi, rdi
je 0x18004ff80
mov rbx, qword [rdi]
mov rcx, qword [rsp + 0x4a0]
lea r8, [rsp + 0xbc]
mov rdx, qword [rbx + 0x18]
call fcn.18003ee50
movzx ecx, byte [rbx]
cmp cl, 0x46
mov ebp, eax
je 0x18004febf
cmp cl, 0x45
je 0x18004febf
mov ecx, r14d
jmp 0x18004fec4
mov ecx, 1
mov rbx, qword [rsp + 0x48]
mov dword [rsp + 0x20], ecx
mov r9d, r13d
mov r8d, eax
mov edx, 0x6c
mov rcx, rbx
call fcn.18001cd00
cmp dword [rsp + 0x50], 0
mov edx, 0x75
mov eax, 0x5f
mov r9d, r13d
mov r8d, r15d
mov rcx, rbx
cmovne edx, eax
mov dword [rsp + 0x20], ebp
call fcn.18001cd00
mov r15, qword [rsp + 0x4a0]
mov edx, dword [rsp + 0xbc]
mov rcx, r15
call fcn.18003ad50
movzx ecx, byte [rdi + 0x10]
test cl, 4
jne 0x18004ffbc
mov r14, qword [rsp + 0x60]
cmp dword [r14 + 0xc], 0
je 0x18004ff41
mov rax, qword [rdi]
test byte [rax + 2], 1
je 0x18004ffb2
movzx eax, word [rdi + 8]
or cl, 4
test ax, ax
mov byte [rdi + 0x10], cl
js 0x18004ffcb
movsx rax, ax
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x18]
shl rdx, 4
add rdx, qword [rax + 0x18]
add byte [rdx + 0x11], 0xff
jne 0x18004ffd5
mov rcx, r14
call fcn.18004c320
mov ebp, dword [rsp + 0x50]
mov edi, dword [rsp + 0x40]
jmp 0x18004ffdd
mov edi, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov edx, 0x74
test ebp, ebp
mov eax, 0x33
mov r9d, r13d
mov r8d, edi
cmovne edx, eax
call fcn.18001cf70
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x4a0]
jmp 0x18004ffdd
mov ebp, dword [rsp + 0x50]
mov edi, dword [rsp + 0x40]
jmp 0x18004ffdd
mov ebp, dword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
mov edi, dword [rsp + 0x40]
jmp 0x18004ffdd
mov ebp, dword [rsp + 0x50]
mov edi, dword [rsp + 0x40]
jmp 0x18004ffdd
mov ebp, dword [rsp + 0x50]
mov edi, dword [rsp + 0x40]
test rsi, rsi
je 0x180050080
mov rbx, qword [rsi]
add dword [r15 + 0x58], 1
mov r8d, dword [r15 + 0x58]
mov dword [r14 + 8], r8d
mov rdx, qword [rbx + 0x18]
mov rcx, r15
call fcn.18003a900
movzx r11d, byte [rbx]
cmp r11b, 0x47
je 0x180050025
cmp r11b, 0x45
je 0x180050025
mov r12d, 0x45
test ebp, ebp
mov eax, 0x47
cmovne r12d, eax
jmp 0x180050036
mov r12d, 0x48
test ebp, ebp
mov eax, 0x46
cmovne r12d, eax
movzx ecx, byte [rsi + 0x10]
test cl, 4
jne 0x180050080
cmp dword [r14 + 0xc], 0
je 0x18005004f
mov rax, qword [rsi]
test byte [rax + 2], 1
je 0x180050080
movzx eax, word [rsi + 8]
or cl, 4
test ax, ax
mov byte [rsi + 0x10], cl
js 0x180050080
movsx rax, ax
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x18]
shl rdx, 4
add rdx, qword [rax + 0x18]
add byte [rdx + 0x11], 0xff
jne 0x180050080
mov rcx, r14
call fcn.18004c320
mov r15, qword [rsp + 0x48]
mov rcx, r15
call fcn.18007f870
test ebp, ebp
mov ecx, 0x67
mov edx, 0x30
mov dword [r14 + 0x34], edi
mov dword [r14 + 0x38], eax
cmovne ecx, edx
cmp r12d, 0x17
mov dword [r14 + 0x30], ecx
je 0x180050966
mov rsi, qword [rsp + 0x4a0]
mov rcx, rsi
call fcn.18003ac80
mov r8d, edi
mov edx, 0x27
mov r9d, eax
mov rcx, r15
mov ebx, eax
call fcn.18001cf70
mov r8d, dword [r14 + 8]
mov r9d, r13d
mov edx, r12d
mov rcx, r15
mov dword [rsp + 0x20], ebx
mov r13, r15
call fcn.18001cd00
mov dl, 0x6b
mov rcx, r15
call fcn.18001d420
mov edx, ebx
mov rcx, rsi
call fcn.18003ad50
mov r12, qword [rsp + 0x4a8]
xor r15d, r15d
lea ebx, [r15 + 1]
jmp 0x180050a25
test eax, 0x3000
je 0x180050927
movsxd rbp, dword [r14 + 0x3c]
mov r10, qword [rsp + 0x4a0]
mov r13, qword [rsp + 0x98]
movsxd rdx, dword [r14 + 0x18]
mov r12, qword [r14 + 0x10]
xor r15d, r15d
mov eax, 0x33
mov dword [rsp + 0xe8], r15d
mov dword [rsp + 0xec], r15d
mov dword [rsp + 0xf4], eax
mov eax, 0x5f
mov dword [rsp + 0xf0], 0x74
mov dword [rsp + 0xfc], eax
mov rax, qword [r13 + 0x10]
mov dword [rsp + 0xf8], 6
mov esi, dword [rax + rbp*4]
mov rax, qword [r10 + 0x18]
mov dword [rsp + 0x100], 0x75
mov qword [rsp + 0xc8], rax
mov eax, dword [r10 + 0x58]
mov dword [rsp + 0x104], 0x40
add eax, 1
test ebp, ebp
mov dword [rsp + 0xd8], 0x17
mov dword [r14 + 8], eax
mov eax, dword [r10 + 0x58]
mov dword [rsp + 0xdc], 0x3b
lea ecx, [rax + 2]
lea eax, [rbp + rax + 4]
mov dword [rsp + 0xe0], 0x28
mov dword [rsp + 0x58], ebp
mov r9d, r15d
mov dword [rsp + 0x70], r15d
mov dword [r10 + 0x58], eax
mov qword [rsp + 0x80], r15
mov r8, r15
mov qword [rsp + 0x88], r15
mov rbx, rbp
mov dword [rsp + 0xb8], esi
mov dword [rsp + 0x74], edx
mov dword [rsp + 0x54], ecx
mov rdi, r15
mov qword [rsp + 0xa8], r15
jle 0x18005043a
mov r8, rdx
mov qword [rsp + 0xd0], rdx
mov dword [rsp + 0x6c], ecx
nop
nop
nop
mov rax, qword [r12 + 0x10]
mov r13d, dword [rsp + 0x120]
movzx r14d, word [r14 + 4]
test r13d, r13d
movsxd rbp, dword [rax + rdi*4]
mov rsi, qword [rsp + 0x128]
mov rcx, rbp
je 0x180050419
nop
nop
movsx eax, word [rsi + 0xa]
cmp eax, edx
jne 0x180050357
mov rax, qword [rsp + 0x90]
test qword [rsi + 0x20], rax
jne 0x180050357
movsx eax, word [rsi + 0xc]
cmp eax, ebp
jne 0x180050357
movzx eax, word [rsi + 0xe]
test ax, r14w
je 0x180050357
test r8, r8
js 0x180050384
cmp ax, 0x80
je 0x180050384
mov rax, qword [r12 + 0x20]
mov rdi, qword [rsi]
mov rbx, qword [rsp + 0x110]
mov rax, qword [rax + 0x10]
lea rcx, [rcx + rcx*4]
movzx edx, byte [rax + rcx*8 + 0x22]
mov rcx, rdi
call fcn.180039580
test eax, eax
je 0x180050373
mov r8, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1800395d0
test rax, rax
mov r11, rax
jne 0x180050307
mov rax, qword [rbx]
mov r11, qword [rax + 0x38]
mov edx, dword [r12 + 8]
mov ecx, r15d
mov r8, r15
test edx, edx
jle 0x180050333
mov rax, qword [r12 + 0x10]
nop
nop
cmp dword [rax], ebp
je 0x180050333
add ecx, 1
add r8, 1
add rax, 4
cmp ecx, edx
jl 0x180050320
mov rdx, qword [r12 + 0x50]
mov rcx, qword [r11]
mov rdx, qword [rdx + r8*8]
call fcn.180006370
test eax, eax
je 0x180050384
mov edx, dword [rsp + 0x74]
mov r8, qword [rsp + 0xd0]
mov rcx, rbp
add rsi, 0x30
sub r13d, 1
jne 0x180050270
mov ebp, dword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
jmp 0x180050422
mov edx, dword [rsp + 0x74]
mov r8, qword [rsp + 0xd0]
mov rcx, rbp
jmp 0x180050357
mov ebx, dword [rsp + 0x6c]
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x4a0]
mov r9d, ebx
mov r8, r14
mov rdx, rsi
call fcn.18004c380
cmp eax, ebx
je 0x1800503c4
mov rdi, qword [rsp + 0xc8]
mov r9d, ebx
mov r8d, eax
mov rcx, rdi
mov edx, 8
call fcn.18001cf70
jmp 0x1800503cc
mov rdi, qword [rsp + 0xc8]
test byte [rsi + 0xe], 0x81
jne 0x1800503e6
mov r9d, dword [r14 + 0x20]
mov r8d, ebx
mov edx, 0x41
mov rcx, rdi
call fcn.18001cf70
mov rdi, qword [rsp + 0xa8]
movsxd rbp, dword [rsp + 0x58]
movsxd rdx, dword [rsp + 0x74]
add rdi, 1
add ebx, 1
mov r8, rdx
cmp rdi, rbp
mov dword [rsp + 0x6c], ebx
mov qword [rsp + 0xa8], rdi
jl 0x180050240
jmp 0x180050422
mov ebp, dword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov esi, dword [rsp + 0xb8]
mov r13, qword [rsp + 0x98]
mov r8, r15
mov r9d, r8d
movsxd rbx, ebp
test byte [rsp + 0x4c0], 1
mov r14d, dword [r14 + 0x24]
je 0x180050483
mov rdi, qword [rsp + 0x60]
bt dword [rdi + 4], 0x14
jae 0x180050488
cmp dword [r13 + 8], ebp
jle 0x180050488
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov rax, qword [r13 + 0x10]
mov eax, dword [rax + rbx*4]
cmp dword [rcx + 0x4c], eax
mov eax, 1
cmove r9d, eax
mov dword [rsp + 0x70], r9d
jmp 0x180050488
mov rdi, qword [rsp + 0x60]
bt dword [rdi + 4], 0x10
jae 0x1800504c8
mov r12d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x90]
lea rcx, [rsp + 0x110]
mov edx, r12d
mov r8d, esi
mov qword [rsp + 0x28], r13
mov word [rsp + 0x20], 0x18
call fcn.18004be80
mov r8, rax
mov qword [rsp + 0x88], rax
jmp 0x1800504cd
mov r12d, dword [rsp + 0x40]
bt dword [rdi + 4], 0x11
jae 0x18005050d
mov r9, qword [rsp + 0x90]
lea rcx, [rsp + 0x110]
mov r8d, esi
mov edx, r12d
mov qword [rsp + 0x28], r13
mov word [rsp + 0x20], 0x24
call fcn.18004be80
mov r8, qword [rsp + 0x88]
mov qword [rsp + 0x80], rax
jmp 0x180050510
mov rax, r15
mov rcx, qword [r13 + 0x48]
mov edx, r15d
cmp byte [rbx + rcx], dl
sete dl
cmp dword [rsp + 0x50], edx
jne 0x18005053c
mov rcx, r8
mov qword [rsp + 0x88], rax
mov r8, rax
mov rax, rcx
mov qword [rsp + 0x80], rcx
test rax, rax
je 0x180050551
test byte [rax + 0xe], 0x28
jne 0x180050551
mov r12, r15
mov edx, 1
jmp 0x180050559
mov edx, 1
mov r12, rdx
test r8, r8
je 0x18005056a
test byte [r8 + 0xe], 0x28
jne 0x18005056a
mov r13d, r15d
jmp 0x18005056d
mov r13d, edx
test rax, rax
jne 0x18005057b
test ebp, ebp
jg 0x18005057b
mov rsi, r15
jmp 0x18005057e
mov rsi, rdx
test rax, rax
mov edi, ebp
je 0x1800505d6
test r8, r8
mov rcx, qword [rsp + 0x4a0]
mov edi, dword [rcx + 0x64]
je 0x180050598
mov dword [rcx + 0x64], edx
mov rdx, qword [rax]
mov ebx, dword [rsp + 0x54]
mov rdx, qword [rdx + 0x18]
add ebx, ebp
mov r8d, ebx
call fcn.18003a900
mov rax, qword [rsp + 0x4a0]
mov rcx, qword [rsp + 0x48]
mov r9d, r14d
mov r8d, ebx
mov edx, 0x41
mov dword [rax + 0x64], edi
call fcn.18001cf70
mov ebx, dword [rsp + 0x54]
lea edi, [rbp + 1]
jmp 0x180050607
cmp dword [rsp + 0x70], r15d
je 0x180050603
mov ebx, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
lea r9d, [rbx + rbp]
lea edx, [r8 + 0x71]
call fcn.18001cf70
lea edi, [rbp + 1]
mov r12, r15
mov esi, 1
jmp 0x180050607
mov ebx, dword [rsp + 0x54]
test edi, edi
jle 0x18005064d
mov rbp, qword [rsp + 0x4a0]
mov r8d, dword [rsp + 0x54]
mov r9d, edi
mov rbx, qword [rbp + 0x18]
mov edx, 2
mov rcx, rbx
call fcn.18001cf70
mov rdx, qword [rsp + 0x98]
mov rcx, rbx
call fcn.180052250
mov ebx, dword [rsp + 0x54]
mov r8d, edi
mov edx, ebx
mov rcx, rbp
call fcn.18003a770
movsxd rbp, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x68]
lea rax, [r12 + rsi*2]
lea rdx, [rbp + rax*2]
movsxd rcx, edi
mov dword [rsp + 0x30], 0xfffffff2
mov edx, dword [rsp + rdx*4 + 0xe8]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x48]
mov r9d, r14d
mov dword [rsp + 0x20], ebx
call fcn.18001fe90
mov rsi, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x58]
test rsi, rsi
mov edi, r12d
je 0x180050726
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x4a0]
add ebx, r12d
mov rdx, qword [rdx + 0x18]
mov r8d, ebx
call fcn.18003a900
mov rcx, qword [rsp + 0x48]
mov r9d, r14d
mov r8d, ebx
mov edx, 0x41
call fcn.18001cf70
lea edi, [r12 + 1]
test edi, edi
jle 0x180050722
mov rax, qword [rsp + 0x4a0]
mov r8d, dword [rsp + 0x54]
mov r9d, edi
mov rbx, qword [rax + 0x18]
mov edx, 2
mov rcx, rbx
call fcn.18001cf70
mov rdx, qword [rsp + 0x98]
mov rcx, rbx
call fcn.180052250
mov ebx, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x4a0]
mov edx, ebx
mov r8d, edi
call fcn.18003a770
jmp 0x180050726
mov ebx, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x48]
call fcn.18007f870
test rsi, rsi
mov rcx, qword [rsp + 0x60]
mov dword [rcx + 0x38], eax
jne 0x180050747
test r12d, r12d
jne 0x180050747
mov rdx, r15
jmp 0x18005074c
mov edx, 1
movsxd rax, edi
mov edi, dword [rsp + 0x68]
mov dword [rsp + 0x30], 0xfffffff2
mov qword [rsp + 0x28], rax
lea rcx, [rbp + 1]
mov dword [rsp + 0x20], ebx
mov rbx, qword [rsp + 0x48]
mov r9d, r14d
mov r8d, edi
imul rcx, rdx
mov edx, dword [rsp + rcx*4 + 0xd8]
mov rcx, rbx
call fcn.18001fe90
mov ebp, dword [rsp + 0x50]
mov rcx, rbx
cmp r13d, ebp
setne dl
call fcn.18001d420
mov r13, qword [rsp + 0x4a0]
mov rcx, r13
call fcn.18003ac80
mov r14, qword [rsp + 0x60]
test dword [r14 + 4], 0x30000
mov ebx, eax
je 0x1800507ec
mov r9d, r12d
mov r12, qword [rsp + 0x48]
mov r8d, edi
mov edx, 3
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.18001cd00
mov r9d, dword [rsp + 0x78]
mov r8d, ebx
mov edx, 0x41
mov rcx, r12
call fcn.18001cf70
jmp 0x1800507f1
mov r12, qword [rsp + 0x48]
cmp dword [rsp + 0xb0], r15d
jne 0x180050826
mov r9d, ebx
mov r8d, edi
mov edx, 0x35
mov rcx, r12
call fcn.18001cf70
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
lea edx, [r9 + 0x75]
mov rcx, r12
mov dword [rsp + 0x20], ebx
call fcn.18001cd00
mov edx, ebx
mov rcx, r13
call fcn.18003ad50
mov r8, qword [rsp + 0x80]
test ebp, ebp
mov r11d, 0x67
mov eax, 0x30
mov dword [r14 + 0x34], edi
cmovne r11d, eax
test r8, r8
mov dword [r14 + 0x30], r11d
je 0x1800508a2
movzx ecx, byte [r8 + 0x10]
test cl, 4
jne 0x1800508a2
cmp dword [r14 + 0xc], r15d
je 0x18005086f
mov rax, qword [r8]
test byte [rax + 2], 1
je 0x1800508a2
movzx eax, word [r8 + 8]
or cl, 4
test ax, ax
mov byte [r8 + 0x10], cl
js 0x1800508a2
movsx rax, ax
lea rdx, [rax + rax*2]
mov rax, qword [r8 + 0x18]
shl rdx, 4
add rdx, qword [rax + 0x18]
add byte [rdx + 0x11], 0xff
jne 0x1800508a2
mov rcx, r14
call fcn.18004c320
test rsi, rsi
je 0x1800509c7
movzx ecx, byte [rsi + 0x10]
test cl, 4
jne 0x1800509a7
cmp dword [r14 + 0xc], r15d
je 0x1800508cb
mov rax, qword [rsi]
test byte [rax + 2], 1
je 0x180050987
movzx eax, word [rsi + 8]
or cl, 4
test ax, ax
mov byte [rsi + 0x10], cl
js 0x1800509e7
movsx rax, ax
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x18]
shl rdx, 4
add rdx, qword [rax + 0x18]
add byte [rdx + 0x11], 0xff
jne 0x180050a07
mov rcx, r14
call fcn.18004c320
mov edi, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x4a0]
mov r12, qword [rsp + 0x4a8]
mov r13, qword [rsp + 0x48]
mov ebx, 1
jmp 0x180050a25
mov r9d, r13d
mov r8d, edi
mov edx, 0x74
mov rcx, rsi
mov dword [r14 + 0x30], 0x67
mov dword [r14 + 0x34], edi
call fcn.18001cf70
mov rsi, qword [rsp + 0x4a0]
mov r13, qword [rsp + 0x48]
add eax, 1
xor r15d, r15d
lea ebx, [r15 + 1]
mov dword [r14 + 0x38], eax
jmp 0x180050a25
mov rsi, qword [rsp + 0x4a0]
mov r12, qword [rsp + 0x4a8]
mov r13, qword [rsp + 0x48]
xor r15d, r15d
lea ebx, [r15 + 1]
jmp 0x180050a25
mov edi, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x4a0]
mov r12, qword [rsp + 0x4a8]
mov r13, qword [rsp + 0x48]
mov ebx, 1
jmp 0x180050a25
mov edi, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x4a0]
mov r12, qword [rsp + 0x4a8]
mov r13, qword [rsp + 0x48]
mov ebx, 1
jmp 0x180050a25
mov edi, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x4a0]
mov r12, qword [rsp + 0x4a8]
mov r13, qword [rsp + 0x48]
mov ebx, 1
jmp 0x180050a25
mov edi, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x4a0]
mov r12, qword [rsp + 0x4a8]
mov r13, qword [rsp + 0x48]
mov ebx, 1
jmp 0x180050a25
mov edi, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x4a0]
mov r12, qword [rsp + 0x4a8]
mov r13, qword [rsp + 0x48]
mov ebx, 1
mov edx, dword [rsp + 0x310]
mov ecx, r15d
test edx, edx
jle 0x180050a53
lea rax, [rsp + 0x314]
nop
nop
cmp dword [rax], edi
je 0x180050bfc
add ecx, 1
add rax, 4
cmp ecx, edx
jl 0x180050a40
mov rax, r15
mov rbp, qword [rsp + 0x90]
mov edi, dword [rsp + 0x120]
not rax
and rbp, rax
test edi, edi
mov qword [rsp + 0x90], rbp
jle 0x180050acb
mov rbx, qword [rsp + 0x128]
mov r12d, dword [rsp + 0x78]
add rbx, 0x10
test byte [rbx], 6
jne 0x180050ab8
test qword [rbx + 0x18], rbp
jne 0x180050ab8
cmp dword [r14 + 0xc], 0
mov rdx, qword [rbx - 0x10]
je 0x180050aa4
test byte [rdx + 2], 1
je 0x180050ab8
mov r9d, 8
mov r8d, r12d
mov rcx, rsi
call fcn.18003f550
or byte [rbx], 4
sub edi, 1
add rbx, 0x30
test edi, edi
jg 0x180050a88
mov r12, qword [rsp + 0x4a8]
cmp dword [r14 + 0xc], 0
je 0x180050b6d
mov rcx, r13
call fcn.18007f870
mov r9d, dword [r14 + 0xc]
mov edx, 0x2f
lea r8d, [rdx - 0x2e]
mov rcx, r13
mov dword [r14 + 0x2c], eax
call fcn.18001cf70
mov edx, dword [r14 + 0x18]
mov rcx, rsi
call fcn.18003a700
mov edx, dword [r14 + 0x1c]
mov rcx, rsi
call fcn.18003a700
mov ecx, dword [rsp + 0x120]
mov edi, r15d
test ecx, ecx
jle 0x180050b6d
mov rbx, qword [rsp + 0x128]
mov r12d, dword [rsp + 0x78]
add rbx, 0x10
nop
test byte [rbx], 6
jne 0x180050b5a
test qword [rbx + 0x18], rbp
jne 0x180050b5a
mov rdx, qword [rbx - 0x10]
mov r9d, 8
mov r8d, r12d
mov rcx, rsi
call fcn.18003f550
or byte [rbx], 4
mov ecx, dword [rsp + 0x120]
add edi, 1
add rbx, 0x30
cmp edi, ecx
jl 0x180050b30
mov r12, qword [rsp + 0x4a8]
mov r15d, dword [rsp + 0x7c]
movsx eax, word [r12]
mov rsi, qword [rsp + 0x48]
add r15d, 1
add r14, 0x60
cmp r15d, eax
mov dword [rsp + 0x7c], r15d
mov qword [rsp + 0x60], r14
jl 0x18004fa70
mov rsi, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x78]
mov dword [rsi + 0x1c], eax
mov edi, dword [rsp + 0x120]
mov rbx, qword [rsp + 0x128]
add edi, 0xffffffff
js 0x180050bdf
nop
nop
test byte [rbx + 0x10], 1
je 0x180050bce
mov rcx, qword [rbx]
call fcn.18003b050
add rbx, 0x30
sub edi, 1
jns 0x180050bc0
mov rbx, qword [rsp + 0x128]
lea rax, [rsp + 0x130]
cmp rbx, rax
je 0x180050bf4
mov rcx, rbx
call fcn.180009c60
mov rax, rsi
jmp 0x180050c8b
mov rax, rbx
shl rax, cl
jmp 0x180050a56
mov edi, dword [rsp + 0x120]
mov rbx, qword [rsp + 0x128]
add edi, 0xffffffff
js 0x180050c3f
nop
nop
test byte [rbx + 0x10], 1
je 0x180050c2e
mov rcx, qword [rbx]
call fcn.18003b050
add rbx, 0x30
sub edi, 1
jns 0x180050c20
mov rbx, qword [rsp + 0x128]
lea rax, [rsp + 0x130]
cmp rbx, rax
je 0x180050c54
mov rcx, rbx
call fcn.180009c60
test r14, r14
je 0x180050c89
cmp dword [r14 + 0x24], r15d
jle 0x180050c81
lea rbx, [r14 + 0x88]
mov rcx, qword [rbx]
test rcx, rcx
je 0x180050c73
call fcn.180009c60
add r15d, 1
add rbx, 0x60
cmp r15d, dword [r14 + 0x24]
jl 0x180050c66
mov rcx, r14
call fcn.180009c60
xor eax, eax
mov r14, qword [rsp + 0x460]
mov rsi, qword [rsp + 0x480]
mov r15, qword [rsp + 0x458]
mov r13, qword [rsp + 0x468]
mov r12, qword [rsp + 0x470]
mov rdi, qword [rsp + 0x478]
mov rbp, qword [rsp + 0x488]
mov rbx, qword [rsp + 0x490]
add rsp, 0x498
ret