Function at 0x1400022a4
Capabilities:
Query environment variable
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov r13, rdx
mov rdi, rcx
xor esi, esi
mov qword [rbp - 8], rsi
lea r8d, [rsi + 1]
lea rcx, [rbp - 8]
call fcn.14000af48
lea rcx, [rbp - 8]
call fcn.14000af44
mov edx, 0xc4
cmp rax, rdx
jb 0x140003391
xor r8d, r8d
lea rcx, [rbp - 8]
call fcn.14000b018
mov qword [rdi + 0x90], rax
mov dl, byte [rax + 0x50]
mov ecx, esi
test dl, dl
setne cl
mov dword [rdi + 0x14], ecx
mov eax, dword [rax]
test dl, dl
je 0x14000232b
mov ecx, eax
call fcn.14000ada0
cmp eax, 0x504f474f
jne 0x140003391
mov rax, qword [rdi + 0x90]
mov eax, dword [rax + 4]
cmp dword [rdi + 0x14], esi
je 0x14000234c
mov ecx, eax
call fcn.14000ada0
cmp eax, 0x14
je 0x14000235b
mov esi, 0x422
jmp 0x140003396
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
mov rcx, qword [rax + 0x10]
test edx, edx
je 0x14000237f
call fcn.14000ae0c
mov rcx, rax
mov rax, qword [rdi + 0x90]
mov edx, dword [rdi + 0x14]
mov qword [rdi + 0x88], rcx
lea r14, [rdi + 0x78]
movups xmm0, xmmword [rax + 0x40]
movdqu xmmword [r14], xmm0
test edx, edx
je 0x1400023a4
mov edx, 0x10
mov rcx, r14
call fcn.14000adc4
mov r15d, esi
mov rax, qword [rdi + 8]
mov r12d, 2
cmp dword [rax + 0x10], esi
jne 0x1400024b1
mov rdx, qword [rdi + 0x90]
mov rax, qword [rdi + 0xe8]
mov ecx, dword [rax + 8]
cmp dword [rdx + 8], ecx
je 0x1400023da
mov esi, 0x41c
jmp 0x140003396
mov eax, dword [rdx + 0x64]
test eax, eax
je 0x1400023eb
mov esi, 0x41d
jmp 0x140003396
mov rax, qword [rdi + 0x90]
cmp byte [rax + 0x52], sil
jne 0x140002402
mov esi, 0xbb
jmp 0x140003396
mov ebx, esi
xor edx, edx
jmp 0x140002440
cmp dword [rdx + 0x20], esi
jne 0x140002411
mov ebx, esi
jmp 0x140002440
cmp dword [rdx + 0x20], 3
je 0x140002440
mov rax, qword [rdi + 0x88]
cmp qword [rdx + 8], rax
jne 0x140002440
mov rax, qword [rdx + 0x10]
cmp rax, qword [r14]
jne 0x140002440
mov rax, qword [rdx + 0x18]
cmp rax, qword [r14 + 8]
jne 0x140002440
mov r15d, 1
mov ebx, dword [rdx + 0x20]
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0x50]
test rax, rax
mov rdx, rax
jne 0x140002408
mov rax, qword [rdi + 8]
cmp dword [rax + 0xc], esi
je 0x140002478
test r15d, r15d
jne 0x140002469
mov esi, 0x41e
jmp 0x140003396
cmp ebx, r12d
jne 0x1400024b1
mov esi, 0xb6
jmp 0x140003396
mov r8d, 1
test r15d, r15d
je 0x1400024b7
cmp ebx, r8d
jne 0x1400024b7
mov r8d, r12d
lea rdx, [rbp + 0xa0]
lea rcx, str.PGO_DISABLE_VERBOSE_WARNINGS
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x140003396
mov esi, 0xb5
jmp 0x140003396
mov r8d, 1
mov rbx, qword [rdi + 0x90]
mov r14d, dword [rbx + 0x58]
movsd xmm1, qword [0x14000e188]
xorps xmm6, xmm6
xorps xmm7, xmm7
test r14d, r14d
je 0x1400024f8
mov eax, dword [rbx + 0xc]
cvtsi2sd xmm7, rax
mulsd xmm7, xmm1
mov rbx, qword [rdi + 0x90]
mov r14d, dword [rbx + 0x58]
xorps xmm0, xmm0
cvtsi2sd xmm0, r14
divsd xmm7, xmm0
mov rcx, qword [rbx + 0xb4]
test rcx, rcx
je 0x14000255b
mov rdx, qword [rbx + 0xbc]
xorps xmm6, xmm6
test rdx, rdx
js 0x14000251a
cvtsi2sd xmm6, rdx
jmp 0x14000252f
mov rax, rdx
shr rax, 1
and rdx, r8
or rax, rdx
cvtsi2sd xmm6, rax
addsd xmm6, xmm6
mulsd xmm6, xmm1
xorps xmm0, xmm0
test rcx, rcx
js 0x140002542
cvtsi2sd xmm0, rcx
jmp 0x140002557
mov rax, rcx
shr rax, 1
and rcx, r8
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm6, xmm0
mov ecx, 0x2f57
call fcn.14000baf4
mov rcx, rax
movsd qword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], r14d
mov r9d, dword [rbx + 0xc]
movaps xmm2, xmm7
movq r8, xmm7
mov rdx, r13
call fcn.14000bf6c
mov rax, qword [rdi + 0x90]
movzx eax, word [rax + 0x60]
cmp dword [rdi + 0x14], esi
je 0x14000259f
movzx ecx, ax
call fcn.14000ae60
test ax, ax
je 0x1400025b0
mov rax, qword [rdi + 0xe8]
bts dword [rax + 0x10], 0x1d
mov rax, qword [rdi + 0x90]
movzx eax, word [rax + 0x62]
cmp dword [rdi + 0x14], esi
je 0x1400025c8
movzx ecx, ax
call fcn.14000ae60
test ax, ax
je 0x1400025d9
mov rax, qword [rdi + 0xe8]
bts dword [rax + 0x10], 0x19
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 8]
call fcn.14000b08c
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
mov eax, dword [rax + 0xc]
test edx, edx
je 0x1400025ff
mov ecx, eax
call fcn.14000ada0
mov edx, eax
xor r8d, r8d
lea rcx, [rbp - 8]
call fcn.14000b018
mov qword [rdi + 0x70], rax
mov rcx, rdi
call fcn.140001fb8
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
mov ecx, dword [rax + 0x1c]
test edx, edx
je 0x14000263b
call fcn.14000ada0
mov ecx, eax
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
add rcx, qword [rdi + 0x70]
mov qword [rbp - 0x78], rcx
mov ecx, dword [rax + 0x18]
test edx, edx
je 0x140002659
call fcn.14000ada0
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
mov ecx, dword [rax + 0x24]
test edx, edx
je 0x140002671
call fcn.14000ada0
mov ecx, eax
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
add rcx, qword [rdi + 0x70]
mov qword [rbp - 0x70], rcx
mov ecx, dword [rax + 0x20]
test edx, edx
je 0x140002691
call fcn.14000ada0
mov ecx, eax
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
mov qword [rsp + 0x78], rcx
mov ecx, dword [rax + 0x28]
test edx, edx
je 0x1400026ae
call fcn.14000ada0
mov ecx, eax
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
mov ebx, ecx
mov qword [rbp - 0x30], rbx
mov ecx, dword [rax + 0x30]
test edx, edx
je 0x1400026cc
call fcn.14000ada0
mov ecx, eax
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
add rcx, qword [rdi + 0x70]
mov qword [rbp - 0x18], rcx
mov ecx, dword [rax + 0x2c]
test edx, edx
je 0x1400026ec
call fcn.14000ada0
mov ecx, eax
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
mov qword [rbp - 0x20], rcx
mov ecx, dword [rax + 0x34]
test edx, edx
je 0x140002708
call fcn.14000ada0
mov ecx, eax
mov edx, dword [rdi + 0x14]
mov rax, qword [rdi + 0x90]
mov r14d, ecx
mov qword [rbp - 0x28], r14
mov eax, dword [rax + 0x3c]
test edx, edx
je 0x14000271d
mov ecx, eax
call fcn.14000ada0
mov edx, eax
add rdx, qword [rdi + 0x70]
mov qword [rdi + 0x98], rdx
mov qword [rdi + 0xa0], rdx
mov rcx, rbx
shl rcx, 4
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rdi + 0xb0], rax
test rax, rax
jne 0x14000275f
mov r8d, 0x5eb
lea rdx, str.D:_a_work1_s_src_vctoolsCompilerUtc_src_toolspogopogomergpogomerg.cpp
mov ecx, r12d
call fcn.14000a894
lea rcx, [r14*4 + 4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
mov qword [rbp - 0x60], rax
mov rcx, qword [rdi]
mov r8, qword [rcx]
xor edx, edx
call qword [r8 + 0x58]
test rax, rax
mov qword [rbp - 0x40], rax
mov r13, rax
je 0x140003353
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov edx, dword [r13]
call qword [rax + 0x78]
mov r14, rax
mov rax, qword [rdi + 8]
cmp dword [rax + 0x58], esi
je 0x1400027b6
mov rdx, r14
mov ecx, 0x2f5d
call fcn.14000bedc
cmp dword [r13 + 4], esi
je 0x14000318b
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, r13
call qword [r8 + 0xc8]
mov rcx, qword [rdi]
test eax, eax
mov rax, qword [rcx]
je 0x140003318
lea r8, [rsp + 0x54]
mov edx, 9
call qword [rax + 0x40]
mov rbx, rax
mov qword [rsp + 0x58], rax
mov rcx, qword [rdi]
mov rdx, qword [rcx]
call qword [rdx]
cmp eax, 9
je 0x1400032f7
test rbx, rbx
je 0x1400032b9
mov rcx, qword [rdi]
mov r9, qword [rcx]
lea r8, [rsp + 0x54]
mov edx, 0xa
call qword [r9 + 0x40]
mov rbx, rax
mov qword [rsp + 0x48], rax
mov rcx, qword [rdi]
mov rdx, qword [rcx]
call qword [rdx]
cmp eax, 9
je 0x140003298
test rbx, rbx
je 0x14000325a
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x70], eax
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
mov edx, 0xb
call qword [rax + 0x40]
mov qword [rdi + 0xb8], rax
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax]
cmp eax, 9
je 0x140003239
cmp qword [rdi + 0xb8], rsi
je 0x1400031fb
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea r8, [rsp + 0x6c]
mov edx, 0xc
call qword [rax + 0x40]
mov rbx, rax
mov qword [rbp - 0x48], rax
mov rcx, qword [rdi]
mov rdx, qword [rcx]
call qword [rdx]
cmp eax, 9
je 0x1400031da
test rbx, rbx
je 0x14000319c
mov rcx, qword [rdi]
lea r8, [rdi + 0xa8]
mov r9, qword [rcx]
lea rdx, [rbp - 0x38]
call qword [r9 + 0x3b8]
test eax, eax
jne 0x140002905
mov rbx, qword [rdi + 8]
mov ecx, 0x2ee1
call fcn.14000baf4
mov rcx, rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x20], rax
mov r9, r14
mov r8, qword [sym.imp.pgodb140.dll_PogoDbStreamNames]
mov r8, qword [r8 + 0x60]
mov edx, 0xa6
call fcn.14000a9a4
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.pgodb140.dll_public:_static_void___cdecl_PogoDbUtil::FreeMemory_void____ptr64_]
mov r14, qword [rbp - 0x30]
mov rbx, r14
shl rbx, 5
movsxd rcx, dword [rsp + 0x68]
add rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rdi + 0xc0], rax
test rax, rax
jne 0x140002949
mov r8d, 0x651
lea rdx, str.D:_a_work1_s_src_vctoolsCompilerUtc_src_toolspogopogomergpogomerg.cpp
mov ecx, r12d
call fcn.14000a894
mov rax, qword [rdi + 0xc0]
mov qword [rdi + 0xc8], rax
movsxd rcx, dword [rsp + 0x68]
add rax, rcx
add rax, rbx
mov qword [rdi + 0xd0], rax
mov dword [rdi + 0x60], esi
shr rcx, 4
add rcx, r14
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov edx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rdi + 0xd8], rax
mov rax, qword [rbp - 0x28]
add rax, qword [rbp - 0x20]
lea rbx, [rax + rax*2]
shl rbx, 2
movsxd rcx, dword [rsp + 0x6c]
add rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x1400029cd
mov r8d, 0x66e
lea rdx, str.D:_a_work1_s_src_vctoolsCompilerUtc_src_toolspogopogomergpogomerg.cpp
mov ecx, r12d
call fcn.14000a894
mov rax, qword [rbp - 0x50]
movsxd r14, dword [rsp + 0x6c]
add r14, rbx
add r14, rax
mov qword [rbp - 0x58], r14
mov r12, rax
mov dword [rbp + 0xa0], esi
mov qword [rdi + 0x28], rsi
mov rcx, qword [rdi]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0xe8]
mov rdx, rax
mov qword [rdi + 0x28], rax
test rax, rax
je 0x140003082
mov rbx, qword [rsp + 0x48]
cmp r12, r14
jae 0x14000307e
mov rax, qword [rdi + 8]
cmp dword [rax + 0x58], esi
je 0x140002a3d
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov edx, dword [rdx + 0x34]
call qword [rax + 0x78]
mov rdx, rax
lea rcx, str.___s:_n
call fcn.14000bf6c
mov rdx, qword [rdi + 0x28]
movsxd rax, dword [rdx + 0x24]
add rax, qword [rsp + 0x58]
mov qword [rdi + 0x30], rax
movsxd rax, dword [rdx + 0x24]
add rax, qword [rsp + 0x58]
mov qword [rdi + 0x38], rax
movsxd rax, dword [rdx + 0x28]
add rax, rbx
mov qword [rdi + 0x50], rax
mov r13d, 1
test byte [rdx + 0x14], r13b
jne 0x140002ae5
mov rax, qword [rdi + 0xe8]
mov r8, qword [rbp - 0x78]
mov rcx, rdi
test dword [rax + 0x10], 0x4000000
je 0x140002ab5
call fcn.1400012b0
mov r9, qword [rdi + 0x48]
mov r8, qword [rbp - 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, rdi
call fcn.140004928
mov r9, qword [rbp - 0x70]
mov r8, qword [rsp + 0x78]
mov rcx, rdi
call fcn.14000186c
jmp 0x14000305e
call fcn.1400013ac
mov r9, qword [rdi + 0x40]
mov r8, qword [rbp - 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, rdi
call fcn.140004714
mov r9, qword [rbp - 0x70]
mov r8, qword [rsp + 0x78]
mov rcx, rdi
call fcn.1400016d4
jmp 0x14000305e
mov eax, dword [rdx + 4]
mov rcx, qword [rbp - 0x18]
lea rax, [rcx + rax*8]
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x44], esi
lea r9, [rsp + 0x44]
mov r8, r15
mov edx, dword [rax + 4]
mov rcx, rdi
call fcn.140002230
mov eax, dword [rsp + 0x44]
mov dword [r15 + rax*4], esi
mov r14d, dword [rsp + 0x44]
dec r14d
test r14d, r14d
jle 0x140002bac
mov eax, r14d
cdq
sub eax, edx
sar eax, 1
mov edx, dword [r15]
movsxd rcx, eax
mov eax, dword [r15 + rcx*4]
mov dword [r15], eax
mov dword [r15 + rcx*4], edx
mov ebx, esi
mov rdx, rsi
mov r9d, dword [r15]
add r9, qword [rdi + 0x70]
lea rcx, [r15 + 4]
mov r10d, r14d
mov r8d, dword [rcx]
mov eax, r8d
add rax, qword [rdi + 0x70]
mov eax, dword [rax]
cmp dword [r9], eax
jbe 0x140002b71
add ebx, r13d
add rdx, r13
mov eax, dword [r15 + rdx*4]
mov dword [r15 + rdx*4], r8d
mov dword [rcx], eax
add rcx, 4
sub r10, r13
jne 0x140002b50
mov ecx, dword [r15]
mov eax, dword [r15 + rdx*4]
mov dword [r15], eax
mov dword [r15 + rdx*4], ecx
lea r9d, [rbx - 1]
xor r8d, r8d
mov rdx, r15
mov rcx, rdi
call fcn.140001ce0
lea r8d, [rbx + 1]
mov r9d, r14d
mov rdx, r15
mov rcx, rdi
call fcn.140001ce0
mov rdx, qword [rdi + 0x28]
movsxd rax, dword [rdx + 0x30]
lea rcx, [rax + rax*2]
mov rax, qword [rbp - 0x48]
lea r14, [rax + rcx*4]
mov qword [rbp - 0x10], r12
mov r15d, esi
mov dword [rbp + 0xa8], esi
mov r8d, dword [rbp + 0xa0]
mov dword [rdx + 0x30], r8d
mov rax, qword [rdi + 0x28]
movzx ecx, word [rax + 0xc]
movzx eax, word [rax + 8]
add ecx, eax
shl ecx, 3
mov eax, dword [rsp + 0x44]
inc eax
imul ecx, eax
mov rdx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x50], esi
mov dword [rdi + 0xe0], esi
mov rax, qword [rdi + 0x28]
movzx ecx, word [rax + 0x12]
mov dword [rsp + 0x40], ecx
mov r8d, dword [rbp + 0xa0]
inc r8d
mov dword [rbp + 0xa0], r8d
test ecx, ecx
je 0x140002e21
mov r15, r14
mov qword [rbp - 0x68], r14
add r14, 0xc
movsd xmm0, qword [r15]
movsd qword [r12], xmm0
mov eax, dword [r15 + 8]
mov dword [r12 + 8], eax
dec ecx
mov dword [rsp + 0x40], ecx
mov r8, qword [rsp + 0x48]
mov rdx, r15
mov rcx, rdi
call fcn.140001a04
mov rax, qword [rdi + 8]
cmp dword [rax + 0x58], esi
je 0x140002c79
xor edx, edx
mov ecx, 0x2f5e
call fcn.14000bedc
mov r15d, dword [rbp + 0xa8]
mov ecx, dword [rsp + 0x40]
mov r8d, dword [rbp + 0xa0]
add r12, 0xc
mov r13, qword [rbp - 0x68]
cmp r15d, dword [rsp + 0x44]
jb 0x140002ca2
test ecx, ecx
je 0x140002f76
cmp r12, qword [rbp - 0x58]
jae 0x140002f76
mov eax, r15d
mov rdx, qword [rbp - 0x60]
cmp dword [rdx + rax*4], esi
je 0x140002ee3
mov r15d, dword [rdx + rax*4]
add r15, qword [rdi + 0x70]
mov ebx, dword [r15]
test ecx, ecx
je 0x140002d12
mov ecx, dword [r14]
mov eax, ecx
and eax, 0x3fffffff
cmp eax, ebx
jb 0x140002edc
ja 0x140002d12
mov rax, qword [rdi + 8]
cmp dword [rax + 0x58], esi
je 0x140002cfb
mov edx, ebx
mov ecx, 0x2f60
call fcn.14000bedc
mov ecx, dword [r14]
mov rax, qword [rdi + 8]
test ecx, ecx
jns 0x140002e6b
cmp dword [rax + 0x58], esi
je 0x140002d12
mov ecx, 0x2f61
call fcn.14000bedc
mov eax, esi
mov rcx, qword [rbp - 0x80]
movzx edx, word [rcx]
mov r8d, 1
test rdx, rdx
je 0x140002ecd
lea rcx, [r15 + 0x10]
cmp qword [rcx], rsi
cmova eax, r8d
lea rcx, [rcx + 8]
sub rdx, r8
jne 0x140002d2e
test eax, eax
je 0x140002ecd
mov rax, qword [rdi + 8]
cmp dword [rax + 0x58], esi
je 0x140002d61
mov edx, ebx
mov ecx, 0x2f5f
call fcn.14000bedc
mov r8d, 1
mov r9d, 0x80000000
mov dword [r12], r9d
or dword [r12 + 8], 0xffffffff
mov edx, dword [rsp + 0x50]
mov dword [r12 + 4], edx
mov rax, qword [rdi + 0x28]
movzx ecx, word [rax + 0xc]
movzx eax, word [rax + 8]
add ecx, eax
lea edx, [rdx + rcx*8]
mov dword [rsp + 0x50], edx
and ebx, 0x3fffffff
or ebx, r9d
mov dword [r12], ebx
mov dword [rsp + 0x30], r8d
mov qword [rsp + 0x28], r15
mov rbx, qword [rbp - 0x80]
mov qword [rsp + 0x20], rbx
mov r9, r12
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
call fcn.140001dc8
add r12, 0xc
mov eax, 1
add dword [rbp + 0xa0], eax
mov r8, qword [rsp + 0x48]
cmp dword [r13], esi
cmovl r8, qword [rsp + 0x60]
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbx
mov r9, r13
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
call fcn.140001dc8
mov r15d, dword [rbp + 0xa8]
inc r15d
mov dword [rbp + 0xa8], r15d
mov ecx, dword [rsp + 0x40]
mov r8d, dword [rbp + 0xa0]
jmp 0x140002c93
mov qword [rbp - 0x68], r12
mov dword [r12], 0x80000000
or dword [r12 + 8], 0xffffffff
mov dword [r12 + 4], esi
mov rax, qword [rdi + 0x28]
movzx edx, word [rax + 0xc]
movzx eax, word [rax + 8]
add edx, eax
shl edx, 3
mov dword [rsp + 0x50], edx
mov rax, qword [rdi + 8]
cmp dword [rax + 0x58], esi
je 0x140002c8b
xor edx, edx
mov ecx, 0x2f5f
call fcn.14000bedc
jmp 0x140002c80
mov eax, 1
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r15
mov rbx, qword [rbp - 0x80]
mov qword [rsp + 0x20], rbx
mov r9, r14
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
call fcn.140001dc8
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbx
mov r9, r13
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
call fcn.140001dc8
mov r15d, dword [rbp + 0xa8]
inc r15d
mov dword [rbp + 0xa8], r15d
jmp 0x140002f3a
mov r15d, dword [rbp + 0xa8]
add r15d, r8d
jmp 0x140002e0a
mov r15d, dword [rbp + 0xa8]
mov rax, qword [rdi + 8]
cmp dword [rax + 0x58], esi
je 0x140002eff
mov edx, dword [r14]
and edx, 0x3fffffff
mov ecx, 0x2f5e
call fcn.14000bedc
mov rdx, qword [rdi + 0x28]
movsxd rax, dword [rdx + 0x24]
add rax, qword [rsp + 0x58]
mov qword [rdi + 0x38], rax
movsxd rax, dword [r14 + 4]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov qword [rdi + 0x50], rcx
movzx eax, word [rdx + 0x3c]
lea rcx, [rcx + rax*8]
mov qword [rdi + 0x58], rcx
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.1400016d4
movsd xmm0, qword [r14]
movsd qword [r12], xmm0
mov eax, dword [r14 + 8]
mov dword [r12 + 8], eax
add r12, 0xc
add r14, 0xc
mov ecx, dword [rsp + 0x40]
dec ecx
mov dword [rsp + 0x40], ecx
mov r8d, dword [rbp + 0xa0]
inc r8d
mov dword [rbp + 0xa0], r8d
jmp 0x140002c93
mov rcx, qword [rdi + 0x28]
movzx eax, r8w
sub ax, word [rcx + 0x30]
mov word [rcx + 0x12], ax
mov rax, qword [rdi + 8]
cmp dword [rax + 0x58], esi
mov r13, qword [rbp - 0x10]
je 0x14000303d
mov rax, qword [rdi + 0x28]
movzx edx, word [rax + 0x12]
mov ecx, 0x2f62
call fcn.14000bedc
jmp 0x14000303d
mov ecx, dword [r13]
mov rbx, qword [rsp + 0x60]
test ecx, 0x3fffffff
jne 0x140002fe3
mov rax, qword [rdi + 0x28]
cmp word [rax + 0xc], si
je 0x140002fe3
mov r8, qword [rsp + 0x48]
test ecx, ecx
cmovs r8, rbx
mov rdx, r13
mov rcx, rdi
call fcn.140001c24
mov ecx, dword [r13]
test ecx, ecx
jns 0x140003039
bt ecx, 0x1e
jb 0x140003039
mov rax, qword [rdi + 0x28]
movzx r9d, word [rax + 0xc]
movzx eax, word [rax + 8]
add r9d, eax
shl r9d, 3
mov rcx, qword [rdi]
mov rax, qword [rcx]
movsxd r8, dword [r13 + 4]
add r8, rbx
mov edx, 0xa
call qword [rax + 0x20]
btr dword [r13], 0x1f
mov edx, dword [rsp + 0x70]
mov dword [r13 + 4], edx
mov rax, qword [rdi + 0x28]
movzx ecx, word [rax + 0xc]
movzx eax, word [rax + 8]
add ecx, eax
lea edx, [rdx + rcx*8]
mov dword [rsp + 0x70], edx
add r13, 0xc
cmp r13, r12
jne 0x140002fae
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r15, qword [rbp - 0x60]
mov rbx, qword [rsp + 0x48]
mov r14, qword [rbp - 0x58]
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, qword [rdi + 0x28]
call qword [rax + 0xe8]
mov rdx, rax
mov qword [rdi + 0x28], rax
test rax, rax
jne 0x140002a0c
mov r13, qword [rbp - 0x40]
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0x100]
mov rcx, qword [rdi]
mov r10, qword [rcx]
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x48]
xor r8d, r8d
lea edx, [r8 + 0xa]
call qword [r10 + 0x18]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.pgodb140.dll_public:_static_void___cdecl_PogoDbUtil::FreeMemory_void____ptr64_]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.pgodb140.dll_public:_static_void___cdecl_PogoDbUtil::FreeMemory_void____ptr64_]
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov r9d, dword [rdi + 0x60]
shl r9d, 4
mov r8, qword [rdi + 0xc0]
mov edx, 0xb
call qword [rax + 8]
mov rcx, qword [rdi + 0xb8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0xb8], rsi
mov rcx, qword [rdi + 0xc0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0xc0], rsi
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov r8d, dword [rbp + 0xa0]
lea r9d, [r8 + r8*2]
shl r9d, 2
mov r8, qword [rbp - 0x50]
mov edx, 0xc
call qword [rax + 8]
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.pgodb140.dll_public:_static_void___cdecl_PogoDbUtil::FreeMemory_void____ptr64_]
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rdi + 0xd8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rdi + 0xe8]
btr dword [rax + 0x10], 0x1c
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0xe0]
mov ecx, dword [rdi + 0xa8]
lea rax, [rcx*4]
add qword [rdi + 0x98], rax
lea rax, [rcx*8]
add qword [rdi + 0xa0], rax
mov r12d, 2
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x58]
jmp 0x140002780
mov rbx, qword [rdi + 8]
mov ecx, 0x2ee1
call fcn.14000baf4
mov rcx, rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x20], rax
mov r9, r14
mov r8, qword [sym.imp.pgodb140.dll_PogoDbStreamNames]
mov r8, qword [r8 + 0x60]
mov edx, 0xa6
call fcn.14000a9a4
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, 0x2ee1
call fcn.14000baf4
mov rcx, rax
mov edx, r12d
call fcn.14000ab14
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rbx, qword [rdi + 8]
mov ecx, 0x2ee1
call fcn.14000baf4
mov rcx, rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x20], rax
mov r9, r14
mov r8, qword [sym.imp.pgodb140.dll_PogoDbStreamNames]
mov r8, qword [r8 + 0x58]
mov edx, 0xa6
call fcn.14000a9a4
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, 0x2ee1
call fcn.14000baf4
mov rcx, rax
mov edx, r12d
call fcn.14000ab14
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rbx, qword [rdi + 8]
mov ecx, 0x2ee1
call fcn.14000baf4
mov rcx, rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x20], rax
mov r9, r14
mov r8, qword [sym.imp.pgodb140.dll_PogoDbStreamNames]
mov r8, qword [r8 + 0x50]
mov edx, 0xa6
call fcn.14000a9a4
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, 0x2ee1
call fcn.14000baf4
mov rcx, rax
mov edx, r12d
call fcn.14000ab14
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rbx, qword [rdi + 8]
mov ecx, 0x2ee1
call fcn.14000baf4
mov rcx, rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x20], rax
mov r9, r14
mov r8, qword [sym.imp.pgodb140.dll_PogoDbStreamNames]
mov r8, qword [r8 + 0x48]
mov edx, 0xa6
call fcn.14000a9a4
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, 0x2ee1
call fcn.14000baf4
mov rcx, rax
mov edx, r12d
call fcn.14000ab14
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
call qword [rax]
mov ecx, eax
call qword [sym.imp.pgodb140.dll_public:_static_unsigned_short_int_const____ptr64___cdecl_PogoDbUtil::GetErrorText_enum_POGODB_ERROR_]
mov rbx, rax
mov rdi, qword [rdi + 8]
mov ecx, 0x2ee1
call fcn.14000baf4
mov rcx, rax
mov r9, rbx
mov r8, qword [rdi + 0x40]
mov edx, 0xa5
call fcn.14000aa0c
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rdi + 0xb0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp + 0x98]
mov rcx, rdi
call fcn.1400011c0
neg eax
sbb ebx, ebx
not ebx
and ebx, 0xa7
lea rcx, [rbp - 8]
call fcn.14000af18
mov eax, ebx
jmp 0x1400033a1
mov esi, 0x41b
lea rcx, [rbp - 8]
call fcn.14000af18
mov eax, esi
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret