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

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x230
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x180049040]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rsi, rcx
mov qword [rbp - 0x28], rcx
mov rcx, qword [0x18006f0e8]
mov qword [rbp - 0x58], r8
mov rax, qword [rcx + 0x1a18]
mov byte [rax + 0x80], 1
mov r14, qword [rcx + 0x1a18]
mov qword [rbp - 0x60], r14
cmp byte [r14 + 0x83], 0
jne 0x18002cd89
mov edi, dword [rbp + 0x198]
mov eax, edi
and eax, 0x100080
cmp eax, 0x100080
jne 0x18002c995
mov r8d, 0xd4c
lea rdx, [0x180041ef0]
lea rcx, str.___flags__ImGuiInputTextFlags_CallbackHistory____flags__ImGuiInputTextFlags_Multiline__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, edi
and eax, 0x440
cmp eax, 0x440
jne 0x18002c9bd
mov r8d, 0xd4d
lea rdx, [0x180041ef0]
lea rcx, str.___flags__ImGuiInputTextFlags_CallbackCompletion____flags__ImGuiInputTextFlags_AllowTabInput__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r12, qword [0x18006f0e8]
mov eax, edi
shr eax, 0xe
mov ebx, edi
and al, 1
shr ebx, 0x14
mov dword [rsp + 0x60], eax
and bl, 1
mov eax, edi
mov qword [rsp + 0x68], r12
shr eax, 0xf
and al, 1
mov dword [rsp + 0x74], ebx
mov dword [rbp - 0x48], eax
mov eax, edi
shr eax, 0x10
not al
and al, 1
mov dword [rbp - 0x50], eax
mov eax, edi
shr eax, 0x12
and al, 1
mov dword [rsp + 0x7c], eax
je 0x18002ca1d
mov r8d, 0xd5a
lea rdx, [0x180041ef0]
lea rcx, str.callback___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test bl, bl
je 0x18002ca26
call fcn.18000ee30
cmp dword [r14 + 0xc0], 0
jg 0x18002ca4a
mov r8d, 0x502
lea rdx, [0x1800395c0]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, dword [r14 + 0xc0]
xor edx, edx
mov r8, qword [r14 + 0xc8]
mov rcx, rsi
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800025e0
mov r8, qword [0x18006f0e8]
mov r15d, eax
mov dword [rbp - 0x68], eax
cmp dword [r8 + 0x1a60], eax
jne 0x18002ca84
mov dword [r8 + 0x1a64], eax
cmp dword [r8 + 0x1a9c], r15d
jne 0x18002ca95
mov byte [r8 + 0x1aa0], 1
mov rcx, rsi
cmp rsi, 0xffffffffffffffff
jae 0x18002cabd
nop
movzx edx, byte [rcx]
test dl, dl
je 0x18002cabd
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x18002cab4
cmp byte [rax], dl
je 0x18002cabd
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x18002caa0
movss xmm1, dword [0x180042c1c]
xorps xmm12, xmm12
movss xmm0, dword [r8 + 0x1910]
movss dword [rbp - 0x34], xmm1
cmp rsi, rcx
jne 0x18002cae1
xorps xmm6, xmm6
jmp 0x18002cb29
movss xmm3, dword [0x180042c10]
lea rdx, [rbp - 0x78]
mov qword [rsp + 0x30], rcx
movaps xmm2, xmm0
mov rcx, qword [r8 + 0x1908]
mov qword [rsp + 0x28], rsi
movss dword [rsp + 0x20], xmm1
call fcn.180024a00
movss xmm0, dword [rbp - 0x78]
addss xmm0, dword [0x180042b5c]
cvttss2si eax, xmm0
movss xmm0, dword [rbp - 0x74]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp - 0x38], xmm6
test bl, bl
je 0x18002cb44
movss xmm0, dword [r12 + 0x1910]
mulss xmm0, dword [0x180042bb8]
movss xmm11, dword [r12 + 0x1594]
movaps xmm3, xmm11
addss xmm3, xmm11
addss xmm3, xmm0
call fcn.18000e4a0
mov rdx, qword [rbp + 0x190]
lea rcx, [rbp - 0x78]
movaps xmm2, xmm0
mov rdx, qword [rdx]
call fcn.18000e510
comiss xmm6, xmm12
jbe 0x18002cb88
addss xmm6, dword [r12 + 0x15a8]
jmp 0x18002cb8b
xorps xmm6, xmm6
movss xmm15, dword [r14 + 0xd0]
movss xmm1, dword [r14 + 0xd4]
movaps xmm13, xmm15
movss xmm0, dword [rbp - 0x78]
movaps xmm8, xmm1
movss xmm14, dword [rbp - 0x74]
addss xmm13, xmm0
movss dword [rbp - 0x44], xmm15
addss xmm6, xmm0
movss dword [rbp - 0x80], xmm0
movaps xmm7, xmm1
movss dword [rsp + 0x70], xmm1
addss xmm8, xmm14
movss dword [rbp - 0x30], xmm14
addss xmm7, xmm14
movss dword [rbp - 0x3c], xmm13
movaps xmm10, xmm15
movss dword [rbp - 0x20], xmm15
addss xmm6, xmm15
movss dword [rbp - 0x1c], xmm1
movaps xmm9, xmm1
movss dword [rbp - 0x18], xmm13
movss dword [rbp - 0x14], xmm8
movss dword [rbp + 0x60], xmm15
movss dword [rbp + 0x68], xmm6
movss dword [rbp + 0x64], xmm1
movss dword [rbp + 0x6c], xmm7
mov qword [rbp - 0x78], r14
test bl, bl
je 0x18002ce5f
mov rdi, qword [0x18006f0e8]
mov rbx, qword [rdi + 0x1a18]
test r15d, r15d
je 0x18002ccd7
mov eax, dword [rbx + 0x13c]
or dword [rbx + 0x144], eax
cmp dword [rdi + 0x1b88], r15d
je 0x18002cc5d
cmp byte [rdi + 0x1bf8], 0
je 0x18002ccd7
mov rcx, qword [rdi + 0x1b80]
mov rax, qword [rbx + 0x370]
cmp qword [rcx + 0x370], rax
jne 0x18002ccd7
cmp rbx, rcx
je 0x18002cc85
mov eax, dword [rbx + 0xc]
or eax, dword [rcx + 0xc]
bt eax, 0x17
jae 0x18002ccd7
mov r8d, r15d
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.180010d10
movss xmm13, dword [rbp - 0x18]
movss xmm11, dword [rbp - 0x1c]
movss xmm15, dword [rbp - 0x20]
movss xmm8, dword [rbp - 0x14]
movss xmm7, dword [rbp + 0x6c]
movss xmm6, dword [rbp + 0x68]
movss xmm9, dword [rbp + 0x64]
movss xmm10, dword [rbp + 0x60]
movss dword [rbp - 0x3c], xmm13
movss dword [rsp + 0x70], xmm11
movss dword [rbp - 0x44], xmm15
jmp 0x18002ccde
movss xmm11, dword [rsp + 0x70]
movups xmm0, xmmword [rbp + 0x60]
mov rcx, qword [0x18006f0e8]
xor esi, esi
mov dword [rbx + 0x110], r15d
movups xmmword [rbx + 0x118], xmm0
mov dword [rbx + 0x114], esi
mov dword [rdi + 0x1b20], esi
mov rax, qword [rcx + 0x1a18]
comiss xmm7, dword [rax + 0x234]
jbe 0x18002cd3e
movss xmm0, dword [rax + 0x23c]
comiss xmm0, xmm9
jbe 0x18002cd3e
comiss xmm6, dword [rax + 0x230]
jbe 0x18002cd3e
movss xmm0, dword [rax + 0x238]
comiss xmm0, xmm10
ja 0x18002cde8
test r15d, r15d
je 0x18002cd50
cmp r15d, dword [rcx + 0x1a60]
je 0x18002cde8
cmp byte [rcx + 0x2f30], sil
jne 0x18002cde8
movss xmm1, dword [r12 + 0x1594]
subss xmm6, xmm10
subss xmm7, xmm9
lea rcx, [rbp - 0x78]
movss dword [rbp - 0x78], xmm6
movss dword [rbp - 0x74], xmm7
call fcn.180005360
call fcn.18000ef70
xor al, al
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.180036d20
lea r11, [rsp + 0x230]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8b, 1
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x60]
call fcn.180008b30
test al, al
je 0x18002ce03
or dword [rbx + 0x114], 1
movaps xmm0, xmm13
subss xmm8, xmm11
subss xmm0, xmm15
mov ecx, r15d
lea rdx, [rbp - 0x78]
movss dword [rbp - 0x74], xmm8
movss dword [rbp - 0x78], xmm0
call fcn.180009240
test al, al
jne 0x18002ce36
call fcn.180008f60
jmp 0x18002cd84
mov rbx, qword [r12 + 0x1a18]
movss xmm9, dword [rbp - 0x80]
mov qword [rbp - 0x78], rbx
mov eax, dword [rbx + 0x13c]
or dword [rbx + 0x144], eax
subss xmm9, dword [rbx + 0x74]
jmp 0x18002cfd5
movaps xmm0, xmm6
lea rcx, [rsp + 0x58]
movaps xmm2, xmm7
subss xmm0, xmm15
subss xmm2, xmm1
movaps xmm1, xmm11
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm2
call fcn.180005360
mov r9, qword [0x18006f0e8]
mov rdi, r9
mov rbx, qword [r9 + 0x1a18]
test r15d, r15d
je 0x18002cf3a
mov eax, dword [rbx + 0x13c]
or dword [rbx + 0x144], eax
cmp dword [r9 + 0x1b88], r15d
je 0x18002cec1
cmp byte [r9 + 0x1bf8], 0
je 0x18002cf3a
mov rcx, qword [r9 + 0x1b80]
mov rax, qword [rbx + 0x370]
cmp qword [rcx + 0x370], rax
jne 0x18002cf3a
cmp rbx, rcx
je 0x18002cee9
mov eax, dword [rcx + 0xc]
or eax, dword [rbx + 0xc]
bt eax, 0x17
jae 0x18002cf3a
mov r8d, r15d
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.180010d10
movss xmm0, dword [rbp - 0x18]
movss xmm11, dword [rbp - 0x1c]
movss xmm15, dword [rbp - 0x20]
mov r9, qword [0x18006f0e8]
movss xmm7, dword [rbp + 0x6c]
movss xmm6, dword [rbp + 0x68]
movss xmm9, dword [rbp + 0x64]
movss xmm10, dword [rbp + 0x60]
movss dword [rbp - 0x3c], xmm0
movss dword [rsp + 0x70], xmm11
movss dword [rbp - 0x44], xmm15
jmp 0x18002cf41
movss xmm11, dword [rsp + 0x70]
movups xmm0, xmmword [rbp + 0x60]
xor esi, esi
mov dword [rbx + 0x110], r15d
mov dword [rbx + 0x114], esi
movups xmmword [rbx + 0x118], xmm0
mov dword [rdi + 0x1b20], esi
mov rax, qword [r9 + 0x1a18]
comiss xmm7, dword [rax + 0x234]
jbe 0x18002cf96
movss xmm0, dword [rax + 0x23c]
comiss xmm0, xmm9
jbe 0x18002cf96
comiss xmm6, dword [rax + 0x230]
jbe 0x18002cf96
movss xmm0, dword [rax + 0x238]
comiss xmm0, xmm10
ja 0x18002cfb1
test r15d, r15d
je 0x18002cfa4
cmp r15d, dword [r9 + 0x1a60]
je 0x18002cfb1
cmp byte [r9 + 0x2f30], sil
je 0x18002cd89
mov r8b, 1
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x60]
call fcn.180008b30
movss xmm9, dword [rbp - 0x80]
test al, al
je 0x18002cfd2
or dword [rbx + 0x114], 1
mov rbx, r14
mov edx, r15d
mov qword [rsp + 0x278], r13
lea rcx, [rbp - 0x20]
call fcn.1800056a0
mov byte [rsp + 0x79], al
movzx r11d, al
test al, al
je 0x18002d001
mov dword [r12 + 0x1e90], 1
lea r13, [r12 + 0x1f88]
mov edx, r15d
cmp dword [r13], r15d
mov rcx, r14
cmovne r13, rsi
mov qword [rsp + 0x58], r13
call fcn.180005800
movzx edi, al
mov r8, r12
test al, al
je 0x18002d04b
cmp qword [r12 + 0x1cb8], r14
jne 0x18002d04b
mov ecx, dword [r14 + 0x178]
cmp dword [r12 + 0x1cc8], ecx
jne 0x18002d04b
mov r12b, 1
jmp 0x18002d058
xor r12b, r12b
mov byte [rsp + 0x52], 1
test dil, dil
jne 0x18002d05d
mov byte [rsp + 0x52], 0
test r11b, r11b
je 0x18002d071
cmp byte [r8 + 0x420], 0
je 0x18002d071
mov sil, 1
jmp 0x18002d074
xor sil, sil
mov eax, dword [r8 + 0x1a60]
mov byte [rsp + 0x51], sil
cmp eax, r15d
je 0x18002d0a6
cmp dword [r8 + 0x1b98], r15d
je 0x18002d0a1
cmp dword [r8 + 0x1b8c], r15d
jne 0x18002d0a6
cmp dword [r8 + 0x1bac], 3
jne 0x18002d0a6
mov r15b, 1
jmp 0x18002d0a9
xor r15b, r15b
cmp byte [rsp + 0x74], 0
mov byte [rsp + 0x65], r15b
je 0x18002d113
test r13, r13
je 0x18002d113
test eax, eax
jne 0x18002d113
cmp dword [rbx + 0xc0], eax
jg 0x18002d0e0
mov r8d, 0x502
lea rdx, [0x1800395c0]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, dword [rbx + 0xc0]
lea rcx, str.SCROLLY
mov r8, qword [rbx + 0xc8]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800025e0
mov r8, qword [rsp + 0x68]
cmp dword [r8 + 0x1a9c], eax
jne 0x18002d113
mov bl, 1
jmp 0x18002d120
xor bl, bl
cmp byte [rsp + 0x74], bl
je 0x18002d17b
test r13, r13
je 0x18002d17b
mov r13, qword [rbp - 0x78]
cmp dword [r13 + 0xc0], 0
jg 0x18002d148
mov r8d, 0x502
lea rdx, [0x1800395c0]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, dword [r13 + 0xc0]
lea rcx, str.SCROLLY
mov r8, qword [r13 + 0xc8]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800025e0
mov r8, qword [rsp + 0x68]
cmp dword [r8 + 0x1a60], eax
jne 0x18002d17b
mov al, 1
jmp 0x18002d17d
xor al, al
mov ecx, dword [rbp - 0x68]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x64], 0
cmp dword [r8 + 0x1a60], ecx
je 0x18002d1ad
mov ecx, dword [rbp + 0x198]
test cl, 0x10
jne 0x18002d1a2
test r15b, r15b
je 0x18002d1ad
cmp byte [rsp + 0x74], 0
mov byte [rbp + 0x60], 1
je 0x18002d1b1
mov byte [rbp + 0x60], 0
test dil, dil
jne 0x18002d34f
test sil, sil
jne 0x18002d34f
test bl, bl
jne 0x18002d34f
test r15b, r15b
jne 0x18002d34f
test al, al
jne 0x18002d352
mov rsi, qword [rsp + 0x58]
xor r13b, r13b
mov edi, dword [rbp - 0x68]
mov ebx, dword [rsp + 0x74]
mov r12d, dword [rbp + 0x60]
cmp dword [r8 + 0x1a60], edi
je 0x18002d2b8
test r15b, r15b
je 0x18002d2ab
test rsi, rsi
je 0x18002d20e
cmp dword [rsi], edi
je 0x18002d228
mov r8d, 0xdc4
lea rdx, [0x180041ef0]
lea rcx, str.state__state__ID__id
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rdx, r14
mov ecx, edi
call fcn.180005180
call fcn.180005250
mov rcx, r14
call fcn.18000df60
mov r8, qword [rsp + 0x68]
mov ecx, dword [rbp + 0x198]
mov eax, dword [r8 + 0x1a74]
or eax, 3
mov dword [r8 + 0x1a74], eax
test bl, bl
jne 0x18002d263
test cl, cl
jns 0x18002d26d
or eax, 0xc
mov dword [r8 + 0x1a74], eax
mov rax, qword [r8 + 0x1a80]
or dword [r8 + 0x1a78], 2
or rax, 0x180
mov qword [r8 + 0x1a80], rax
test bl, bl
je 0x18002d298
or rax, 0x60
mov qword [r8 + 0x1a80], rax
test ecx, 0x440
je 0x18002d2ab
or rax, 1
mov qword [r8 + 0x1a80], rax
cmp dword [r8 + 0x1a60], edi
jne 0x18002d56c
test rsi, rsi
jne 0x18002d315
mov rdx, qword [0x18006f0e8]
mov ecx, dword [rdx + 0x1a60]
test ecx, ecx
setne al
mov byte [rdx + 0x1a6c], al
xor eax, eax
test ecx, ecx
je 0x18002d2e8
mov dword [rdx + 0x1a68], eax
mov word [rdx + 0x1a6e], ax
mov dword [rdx + 0x1a60], eax
mov byte [rdx + 0x1a6d], 0
mov qword [rdx + 0x1a90], rax
mov byte [rdx + 0x1a70], 0
mov qword [rdx + 0x1a74], 0
mov qword [rdx + 0x1a80], rax
cmp dword [r8 + 0x1a60], edi
jne 0x18002d56c
cmp byte [r8 + 0x420], 0
je 0x18002d578
test r13b, r13b
jne 0x18002d578
test r15b, r15b
jne 0x18002d578
mov byte [rsp + 0x64], 1
mov r13b, 1
jmp 0x18002d580
mov r15b, 1
mov rsi, qword [rsp + 0x58]
mov r13b, 1
mov edi, dword [rbp - 0x68]
mov qword [rsp + 0x58], rsi
cmp dword [r8 + 0x1a60], edi
je 0x18002d1e7
mov r14, qword [rbp - 0x58]
lea rsi, [r8 + 0x1f88]
mov qword [rsp + 0x58], rsi
mov rax, 0xffffffffffffffff
mov dword [rsi + 0xe70], 0xbe99999a
cmp byte [r14 + rax + 1], 0
lea rax, [rax + 1]
jne 0x18002d390
mov ecx, dword [rsi + 0x34]
lea ebx, [rax + 1]
cmp ebx, ecx
jle 0x18002d3ca
test ecx, ecx
je 0x18002d3b5
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002d3ba
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x30]
mov edx, ebx
cmovg edx, eax
call fcn.180015930
mov dword [rsi + 0x30], ebx
mov rdx, r14
mov rcx, qword [rsi + 0x38]
movsxd r8, ebx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rsi + 0x14]
cmp ecx, 0x21
jge 0x18002d40b
test ecx, ecx
je 0x18002d3f3
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002d3f8
mov eax, 8
mov edx, 0x21
lea rcx, [rsi + 0x10]
cmp eax, edx
cmovg edx, eax
call fcn.1800159c0
mov dword [rsi + 0x10], 0x21
mov ecx, dword [rsi + 0x24]
test ecx, ecx
jns 0x18002d436
mov eax, ecx
xor r8d, r8d
cdq
sub eax, edx
mov edx, r8d
sar eax, 1
add eax, ecx
lea rcx, [rsi + 0x20]
test eax, eax
cmovg edx, eax
call fcn.180015930
xor eax, eax
mov rdi, r14
mov dword [rsi + 0x20], eax
mov r14, qword [rsi + 0x18]
mov byte [rsi + 0x40], al
mov rbx, r14
lea rsi, [r14 + 0x3e]
cmp r14, rsi
jae 0x18002d487
cmp byte [rdi], 0
je 0x18002d485
xor r8d, r8d
lea rcx, [rbp - 0x6c]
mov rdx, rdi
call fcn.180002a50
movsxd rcx, eax
mov eax, dword [rbp - 0x6c]
add rdi, rcx
test eax, eax
je 0x18002d485
cmp eax, 0xffff
ja 0x18002d480
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x18002d451
xor eax, eax
mov rsi, qword [rsp + 0x58]
sub edi, dword [rbp - 0x58]
mov word [rbx], ax
sub rbx, r14
sar rbx, 1
mov dword [rsi + 8], edi
mov edi, dword [rbp - 0x68]
mov dword [rsi + 4], ebx
cmp dword [rsi], edi
jne 0x18002d4cd
cmp dword [rsi + 0x4c], ebx
mov ecx, ebx
cmovl ecx, dword [rsi + 0x4c]
cmp dword [rsi + 0x50], ebx
mov dword [rsi + 0x4c], ecx
mov ecx, ebx
cmovl ecx, dword [rsi + 0x50]
cmp dword [rsi + 0x54], ebx
mov dword [rsi + 0x50], ecx
cmovl ebx, dword [rsi + 0x54]
mov dword [rsi + 0x54], ebx
mov ebx, dword [rsp + 0x74]
jmp 0x18002d528
mov ebx, dword [rsp + 0x74]
mov dword [rsi + 0xe68], eax
mov dword [rsi + 0x60], eax
movzx eax, bl
xor al, r13b
mov dword [rsi], edi
mov qword [rsi + 0x48], 0
mov dword [rsi + 0xe62], 0x630000
mov dword [rsi + 0xe6c], 0x3e7
mov qword [rsi + 0x50], 0
mov dword [rsi + 0x58], 0x10000
mov byte [rsi + 0x5c], al
test bl, bl
jne 0x18002d528
mov ecx, dword [rbp + 0x60]
test r12b, r12b
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [rbp + 0x60], ecx
test dword [rbp + 0x198], 0x2000
je 0x18002d538
mov byte [rsi + 0x58], r13b
mov r8, qword [rsp + 0x68]
test bl, bl
jne 0x18002d563
cmp byte [rsp + 0x52], bl
jne 0x18002d556
cmp byte [rsp + 0x51], bl
je 0x18002d563
cmp byte [r8 + 0x148], bl
je 0x18002d563
mov r14, qword [rbp - 0x60]
movzx r12d, r13b
jmp 0x18002d1ef
mov r14, qword [rbp - 0x60]
jmp 0x18002d1eb
test rsi, rsi
je 0x18002d57d
cmp byte [rsp + 0x50], 0
je 0x18002d57d
mov r13b, 1
jmp 0x18002d580
xor r13b, r13b
mov byte [rsp + 0x50], r13b
test rsi, rsi
je 0x18002d59c
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
je 0x18002d59c
test r13b, r13b
je 0x18002d59c
mov r14b, 1
jmp 0x18002d59f
xor r14b, r14b
mov eax, dword [rsp + 0x60]
mov dword [rbp - 0x80], r14d
movzx r15d, r14b
mov byte [rsp + 0x78], 0
mov byte [rsp + 0x52], 0
test al, al
je 0x18002d6a7
test rsi, rsi
je 0x18002d6a7
test r13b, r13b
jne 0x18002d5d4
test r14b, r14b
je 0x18002d6b1
mov ecx, dword [rsi + 0x14]
cmp ecx, 0x21
jge 0x18002d603
test ecx, ecx
je 0x18002d5eb
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002d5f0
mov eax, 8
mov edx, 0x21
lea rcx, [rsi + 0x10]
cmp eax, edx
cmovg edx, eax
call fcn.1800159c0
mov rax, qword [rbp - 0x58]
mov dword [rsi + 0x10], 0x21
mov rdi, rax
mov r14, qword [rsi + 0x18]
mov rbx, r14
lea rsi, [r14 + 0x40]
cmp r14, rsi
jae 0x18002d659
cmp byte [rdi], 0
je 0x18002d655
xor r8d, r8d
lea rcx, [rbp - 0x6c]
mov rdx, rdi
call fcn.180002a50
movsxd rcx, eax
mov eax, dword [rbp - 0x6c]
add rdi, rcx
test eax, eax
je 0x18002d655
cmp eax, 0xffff
ja 0x18002d650
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x18002d621
mov rax, qword [rbp - 0x58]
mov rsi, qword [rsp + 0x58]
sub edi, eax
mov eax, dword [rsp + 0x60]
xor edx, edx
mov word [rbx], dx
sub rbx, r14
sar rbx, 1
mov r14d, edx
cmp dword [rsi + 0x4c], ebx
mov ecx, ebx
mov dword [rsi + 4], ebx
cmovl ecx, dword [rsi + 0x4c]
cmp dword [rsi + 0x50], ebx
mov dword [rsi + 0x4c], ecx
mov ecx, ebx
cmovl ecx, dword [rsi + 0x50]
cmp dword [rsi + 0x54], ebx
mov dword [rsi + 8], edi
cmovl ebx, dword [rsi + 0x54]
mov edi, dword [rbp - 0x68]
cmp ecx, ebx
mov dword [rsi + 0x50], ecx
cmovne r14d, r15d
mov dword [rsi + 0x54], ebx
mov dword [rbp - 0x80], r14d
test r13b, r13b
jne 0x18002d6c1
test r14b, r14b
jne 0x18002d6c1
mov r13, qword [rsp + 0x68]
cmp dword [r13 + 0x1a60], edi
jne 0x18002d6d8
jmp 0x18002d6c6
mov r13, qword [rsp + 0x68]
test al, al
jne 0x18002d6d8
test rsi, rsi
je 0x18002d6d8
mov byte [rbp - 0x70], 1
cmp byte [rsi + 0x40], al
jne 0x18002d6dc
mov byte [rbp - 0x70], 0
cmp byte [rbp - 0x48], 0
je 0x18002d7af
mov rdx, qword [r13 + 0x1908]
cmp dword [rdx + 0x18], 0x2a
jg 0x18002d6f9
mov r8, qword [rdx + 0x38]
jmp 0x18002d71d
mov rax, qword [rdx + 0x20]
movzx ecx, word [rax + 0x54]
mov eax, 0xffff
cmp cx, ax
jne 0x18002d711
mov r8, qword [rdx + 0x38]
jmp 0x18002d71d
mov rax, qword [rdx + 0x30]
lea rcx, [rcx + rcx*4]
lea r8, [rax + rcx*8]
mov eax, dword [rdx + 0x14]
lea rbx, [r13 + 0x2e18]
cmp dword [rbx + 0x28], 0
mov dword [rbx + 0x14], eax
mov rax, qword [r13 + 0x1908]
mov ecx, dword [rax + 0x60]
mov dword [rbx + 0x60], ecx
mov rax, qword [r13 + 0x1908]
movsd xmm0, qword [rax + 0x40]
movsd qword [rbx + 0x40], xmm0
mov rax, qword [r13 + 0x1908]
mov ecx, dword [rax + 0x64]
mov dword [rbx + 0x64], ecx
mov rax, qword [r13 + 0x1908]
mov ecx, dword [rax + 0x68]
mov dword [rbx + 0x68], ecx
mov rax, qword [r13 + 0x1908]
mov rcx, qword [rax + 0x48]
mov qword [rbx + 0x48], rcx
mov qword [rbx + 0x38], r8
mov eax, dword [r8 + 4]
mov dword [rbx + 0x10], eax
jne 0x18002d78d
cmp dword [rbx], 0
jne 0x18002d78d
cmp dword [rbx + 0x18], 0
je 0x18002d7a7
mov r8d, 0xe01
lea rdx, [0x180041ef0]
lea rcx, str.password_font__Glyphs.empty____password_font__IndexAdvanceX.empty____password_font__IndexLookup.empty__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rcx, rbx
call fcn.18000e730
movss xmm0, dword [0x180042b34]
xor r15d, r15d
mov ecx, 0x20000c
mov dword [rbp - 0x6c], r15d
cmp dword [r13 + 0x1a60], edi
jne 0x18002dc0c
test rsi, rsi
jne 0x18002d7fc
mov r8d, 0xe09
lea rdx, [0x180041ef0]
lea rcx, str.state___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movss xmm0, dword [0x180042b34]
mov ecx, 0x20000c
mov eax, dword [rsi + 8]
mov dword [rsi + 0x44], 0x20
mov qword [rsi + 0xe80], r15
mov qword [rsi + 0xe88], r15
mov dword [rbp - 0x6c], eax
mov eax, dword [rbp + 0x198]
mov dword [rsi + 0xe78], eax
cmp byte [r13 + 0x138], r15b
mov dword [r13 + 0x315c], 1
sete al
mov byte [r13 + 0x1a6d], al
movss xmm1, dword [r13 + 0x130]
subss xmm1, xmm15
subss xmm1, dword [r13 + 0x1590]
addss xmm1, dword [rsi + 0x48]
cmp byte [rsp + 0x74], r15b
je 0x18002d882
mov rax, qword [rbp - 0x78]
movss xmm2, dword [r13 + 0x134]
subss xmm2, dword [rax + 0xd4]
subss xmm2, dword [r13 + 0x1594]
jmp 0x18002d88f
movss xmm2, dword [r13 + 0x1910]
mulss xmm2, xmm0
movzx edi, byte [r13 + 0xc9]
test r12b, r12b
jne 0x18002da27
movzx eax, byte [rsp + 0x79]
test al, al
je 0x18002d8bf
test dil, dil
jne 0x18002d93a
cmp byte [r13 + 0x425], r15b
jne 0x18002da27
cmp byte [r13 + 0x420], r15b
je 0x18002d98f
cmp byte [rsi + 0xe75], r15b
jne 0x18002d98f
test al, al
je 0x18002da3f
cmp byte [rsi + 0x5c], r15b
je 0x18002d916
mov rcx, qword [rsi + 0x18]
movsxd rax, dword [rsi + 4]
lea rdx, [rcx + rax*2]
cmp rcx, rdx
jae 0x18002d912
nop dword [rax + rax]
movzx eax, word [rcx]
add rcx, 2
cmp ax, 0xa
je 0x18002d912
cmp rcx, rdx
jb 0x18002d900
movaps xmm2, xmm12
mov rcx, rsi
call fcn.18002aec0
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], eax
mov dword [rsi + 0x54], eax
mov byte [rsi + 0x5b], r15b
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18002da3f
cmp byte [r13 + 0x425], r15b
je 0x18002d8bf
mov r8d, ecx
lea rdx, [rsi + 0x4c]
mov rcx, rsi
call fcn.18002b350
mov r8d, 0x60000d
mov byte [rsi + 0xe74], 1
lea rdx, [rsi + 0x4c]
mov dword [rsi + 0xe70], 0xbe99999a
mov rcx, rsi
call fcn.18002b350
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18002da3f
cmp byte [r13 + 0x138], r15b
je 0x18002da3f
cmp byte [rsi + 0xe75], r15b
jne 0x18002da48
movss xmm0, dword [r13 + 0x3c0]
ucomiss xmm0, xmm12
jp 0x18002d9cb
jne 0x18002d9cb
movss xmm0, dword [r13 + 0x3c4]
ucomiss xmm0, xmm12
jp 0x18002d9cb
je 0x18002da3f
cmp byte [rsi + 0x5c], r15b
je 0x18002d9f8
mov rcx, qword [rsi + 0x18]
movsxd rax, dword [rsi + 4]
lea rdx, [rcx + rax*2]
cmp rcx, rdx
jae 0x18002d9f4
movzx eax, word [rcx]
add rcx, 2
cmp ax, 0xa
je 0x18002d9f4
cmp rcx, rdx
jb 0x18002d9e2
movaps xmm2, xmm12
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
jne 0x18002da06
mov eax, dword [rsi + 0x4c]
mov dword [rsi + 0x50], eax
mov rcx, rsi
call fcn.18002aec0
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0xe70], 0xbe99999a
mov byte [rsi + 0xe74], 1
jmp 0x18002da3f
mov eax, dword [rsi + 4]
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], r15d
mov byte [rsi + 0x5b], r15b
mov byte [rsi + 0xe75], 1
cmp byte [rsi + 0xe75], r15b
je 0x18002da58
cmp byte [r13 + 0x138], r15b
jne 0x18002da58
mov byte [rsi + 0xe75], r15b
cmp byte [r13 + 0x148], r15b
je 0x18002da6a
cmp byte [r13 + 0x14a], r15b
je 0x18002da78
test dil, dil
je 0x18002da7c
cmp byte [r13 + 0x14b], r15b
je 0x18002da7c
mov bl, 1
jmp 0x18002da7e
xor bl, bl
mov r12d, dword [rbp + 0x198]
bt r12d, 0xa
jae 0x18002db2a
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x18002db2a
call fcn.180008c00
mov ecx, dword [rsp + 0x60]
test al, al
je 0x18002db2e
test bl, bl
jne 0x18002db2e
cmp byte [r13 + 0x149], r15b
jne 0x18002db2e
test cl, cl
jne 0x18002db2e
mov rcx, qword [r13 + 0x1550]
movsxd rax, dword [r13 + 0x1548]
lea rdx, [rcx + rax*2]
cmp rcx, rdx
jae 0x18002daf2
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
cmp ax, 9
je 0x18002db2a
cmp rcx, rdx
jb 0x18002dae0
mov edx, r12d
mov dword [rbp - 0x60], 9
lea rcx, [rbp - 0x60]
call fcn.18002c720
test al, al
je 0x18002db2a
mov r8d, dword [rbp - 0x60]
lea rdx, [rsi + 0x4c]
mov rcx, rsi
call fcn.18002b350
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
mov ecx, dword [rsp + 0x60]
mov eax, dword [r13 + 0x1548]
test eax, eax
jle 0x18002dc09
test bl, bl
jne 0x18002dbda
test cl, cl
jne 0x18002dbda
cmp byte [rsp + 0x65], r15b
jne 0x18002dbda
mov ebx, r15d
mov rdi, r15
cmp ebx, eax
jl 0x18002db7c
mov r8d, 0x4f8
lea rdx, [0x1800395c0]
lea rcx, str.i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [r13 + 0x1550]
movzx ecx, word [rdi + rax]
mov dword [rbp - 0x60], ecx
cmp ecx, 9
jne 0x18002db98
cmp byte [r13 + 0x149], r15b
jne 0x18002dbc9
mov edx, r12d
lea rcx, [rbp - 0x60]
call fcn.18002c720
test al, al
je 0x18002dbc9
mov r8d, dword [rbp - 0x60]
lea rdx, [rsi + 0x4c]
mov rcx, rsi
call fcn.18002b350
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
mov eax, dword [r13 + 0x1548]
inc ebx
add rdi, 2
cmp ebx, eax
jl 0x18002db7c
mov ecx, dword [r13 + 0x154c]
test ecx, ecx
jns 0x18002dc02
mov eax, ecx
cdq
sub eax, edx
mov edx, r15d
sar eax, 1
add eax, ecx
lea rcx, [r13 + 0x1548]
test eax, eax
cmovg edx, eax
call fcn.1800159c0
mov dword [r13 + 0x1548], r15d
mov edi, dword [rbp - 0x68]
xor bl, bl
mov dword [rbp - 0x60], 0x2400
mov r12d, 0x3ff
cmp dword [r13 + 0x1a60], edi
jne 0x18002ef77
cmp byte [r13 + 0x1a6c], bl
jne 0x18002e833
cmp byte [rsp + 0x64], bl
jne 0x18002e833
test rsi, rsi
jne 0x18002dc5e
mov r8d, 0xe59
lea rdx, [0x180041ef0]
lea rcx, str.state___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx edx, byte [r13 + 0xc9]
movzx ecx, byte [r13 + 0x149]
movzx eax, cl
mov byte [rsp + 0x79], dl
neg al
sbb eax, eax
and eax, 0x400000
mov dword [rbp + 0x60], eax
test dl, dl
je 0x18002dcd7
cmp byte [r13 + 0x14b], bl
je 0x18002dc9c
mov eax, 1
cmp byte [r13 + 0x148], bl
je 0x18002dc9f
mov eax, r15d
test eax, eax
jne 0x18002dce9
xor sil, sil
mov byte [rsp + 0x51], sil
test dl, dl
je 0x18002dd58
cmp byte [r13 + 0x14b], bl
je 0x18002dcfb
test cl, cl
je 0x18002dcfb
cmp byte [r13 + 0x148], bl
jne 0x18002dcfb
cmp byte [r13 + 0x14a], bl
jne 0x18002dcfb
mov r15b, 1
jmp 0x18002dcff
cmp byte [r13 + 0x148], bl
je 0x18002dca3
cmp byte [r13 + 0x14b], bl
jne 0x18002dca3
cmp byte [r13 + 0x14a], bl
jne 0x18002dca3
test cl, cl
jne 0x18002dca3
mov sil, 1
jmp 0x18002dca6
test dl, dl
je 0x18002dd58
mov r12, qword [rsp + 0x68]
movzx r13d, byte [r13 + 0x14a]
cmp byte [r12 + 0x14b], bl
je 0x18002dd65
cmp byte [r12 + 0x148], bl
jne 0x18002dd65
test r13b, r13b
jne 0x18002dd65
movzx ecx, byte [r12 + 0x148]
mov r14b, 1
cmp byte [r12 + 0x149], bl
je 0x18002dd95
test cl, cl
jne 0x18002dd95
cmp byte [r12 + 0x14a], bl
jne 0x18002dd95
cmp byte [r12 + 0x14b], bl
jne 0x18002dd95
mov dil, 1
jmp 0x18002dd98
movzx r13d, byte [r13 + 0x148]
mov r12, qword [rsp + 0x68]
movzx ecx, byte [r12 + 0x148]
xor r14b, r14b
test cl, cl
je 0x18002dd31
cmp byte [r12 + 0x149], bl
jne 0x18002dd3b
cmp byte [r12 + 0x14a], bl
jne 0x18002dd31
cmp byte [r12 + 0x14b], bl
jne 0x18002dd31
mov bl, 1
xor dil, dil
test sil, sil
je 0x18002ddb7
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x88]
test ecx, ecx
js 0x18002ddb7
call fcn.180008c00
test al, al
jne 0x18002ddd3
test dil, dil
je 0x18002ddff
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x18002ddff
call fcn.180008c00
test al, al
je 0x18002ddff
cmp byte [rsp + 0x60], 0
mov r12, qword [rsp + 0x58]
jne 0x18002de04
cmp byte [rbp - 0x48], 0
jne 0x18002de04
cmp byte [rsp + 0x74], 0
je 0x18002ddf8
mov eax, dword [r12 + 0x54]
cmp dword [r12 + 0x50], eax
je 0x18002de04
mov byte [rsp + 0x65], 1
jmp 0x18002de09
mov r12, qword [rsp + 0x58]
mov byte [rsp + 0x65], 0
test sil, sil
je 0x18002de28
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x80]
test ecx, ecx
js 0x18002de28
call fcn.180008c00
test al, al
jne 0x18002de43
test bl, bl
je 0x18002de61
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x18002de61
call fcn.180008c00
test al, al
je 0x18002de61
cmp byte [rbp - 0x48], 0
jne 0x18002de61
cmp byte [rsp + 0x74], 0
je 0x18002de5c
mov eax, dword [r12 + 0x54]
cmp dword [r12 + 0x50], eax
je 0x18002de61
mov r12b, 1
jmp 0x18002de64
xor r12b, r12b
test sil, sil
je 0x18002de83
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x84]
test ecx, ecx
js 0x18002de83
call fcn.180008c00
test al, al
jne 0x18002de9f
test dil, dil
je 0x18002dead
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x18002dead
call fcn.180008c00
test al, al
je 0x18002dead
mov edi, dword [rsp + 0x60]
test dil, dil
jne 0x18002deb1
mov sil, 1
jmp 0x18002deb4
mov edi, dword [rsp + 0x60]
xor sil, sil
movzx ebx, byte [rsp + 0x51]
test bl, bl
je 0x18002dee7
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x18002dee7
call fcn.180008c00
test al, al
je 0x18002dee7
test dil, dil
jne 0x18002dee7
cmp byte [rbp - 0x50], dil
je 0x18002dee7
mov dil, 1
jmp 0x18002deee
xor dil, dil
test bl, bl
je 0x18002df08
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x8c]
test ecx, ecx
js 0x18002df08
call fcn.180008c00
test al, al
jne 0x18002df27
test r15b, r15b
je 0x18002df38
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x18002df38
call fcn.180008c00
test al, al
je 0x18002df38
cmp byte [rsp + 0x60], 0
jne 0x18002df38
cmp byte [rbp - 0x50], 0
je 0x18002df38
mov bl, 1
jmp 0x18002df3a
xor bl, bl
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x40]
test ecx, ecx
js 0x18002df9b
call fcn.180008c00
test al, al
je 0x18002df9b
test r14b, r14b
je 0x18002df5d
mov ecx, 0x200004
jmp 0x18002df6d
mov ecx, 0x200000
mov eax, 0x20000c
test r13b, r13b
cmovne ecx, eax
mov r8d, dword [rbp + 0x60]
or r8d, ecx
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
lea rdx, [rsi + 0x4c]
call fcn.18002b350
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18002e800
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x44]
test ecx, ecx
js 0x18002dfc8
call fcn.180008c00
test al, al
je 0x18002dfc8
test r14b, r14b
je 0x18002dfbe
mov ecx, 0x200005
jmp 0x18002df6d
mov ecx, 0x200001
lea eax, [rcx + 0xc]
jmp 0x18002df67
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x18002e05d
call fcn.180008c00
mov r15d, dword [rsp + 0x74]
test al, al
je 0x18002e062
test r15b, r15b
je 0x18002e062
mov r13, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x58]
cmp byte [r13 + 0x148], 0
je 0x18002e02b
mov rdx, qword [rbp - 0x78]
xor r15d, r15d
xor bl, bl
movss xmm0, dword [rdx + 0x58]
subss xmm0, dword [r13 + 0x1910]
mov dword [rdx + 0x70], r15d
maxss xmm0, xmm12
movss dword [rdx + 0x68], xmm0
jmp 0x18002e80a
movzx eax, r14b
lea r8d, [rax*4 + 0x200002]
or r8d, dword [rbp + 0x60]
lea rdx, [rsi + 0x4c]
mov rcx, rsi
call fcn.18002b350
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18002e805
mov r15d, dword [rsp + 0x74]
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x18002e0db
call fcn.180008c00
test al, al
je 0x18002e0db
test r15b, r15b
je 0x18002e0db
mov r13, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x58]
cmp byte [r13 + 0x148], 0
je 0x18002e0ca
mov rdx, qword [rbp - 0x78]
xor r15d, r15d
movss xmm0, dword [r13 + 0x1910]
xor bl, bl
mov rax, qword [0x18006f0e8]
addss xmm0, dword [rdx + 0x58]
mov rcx, qword [rax + 0x1a18]
minss xmm0, dword [rcx + 0x60]
mov dword [rdx + 0x70], r15d
movss dword [rdx + 0x68], xmm0
jmp 0x18002e80a
movzx eax, r14b
lea r8d, [rax*4 + 0x200003]
jmp 0x18002e037
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x58]
test ecx, ecx
js 0x18002e121
call fcn.180008c00
test al, al
je 0x18002e121
mov r8d, dword [rbp + 0x60]
mov ecx, 0x200004
mov eax, r8d
or eax, 0x200006
mov r13, qword [rsp + 0x68]
or r8d, ecx
mov rsi, qword [rsp + 0x58]
cmp byte [r13 + 0x148], 0
cmovne r8d, eax
jmp 0x18002e03b
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x5c]
test ecx, ecx
js 0x18002e14b
call fcn.180008c00
test al, al
je 0x18002e14b
mov r8d, dword [rbp + 0x60]
mov ecx, 0x200005
mov eax, r8d
or eax, 0x200007
jmp 0x18002e103
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x18002e17c
call fcn.180008c00
mov r14d, dword [rsp + 0x60]
test al, al
je 0x18002e181
test r14b, r14b
jne 0x18002e181
mov r8d, dword [rbp + 0x60]
or r8d, 0x200008
jmp 0x18002df74
mov r14d, dword [rsp + 0x60]
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x68]
test ecx, ecx
js 0x18002e250
call fcn.180008c00
test al, al
je 0x18002e250
test r14b, r14b
jne 0x18002e250
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
jne 0x18002e1de
test r13b, r13b
je 0x18002e1f3
lea rdx, [rsi + 0x4c]
mov r8d, 0x60000c
mov rcx, rsi
call fcn.18002b350
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
mov r13, qword [rsp + 0x68]
mov r8d, dword [rbp + 0x60]
or r8d, 0x200009
jmp 0x18002e03b
cmp byte [rsp + 0x79], 0
je 0x18002e1de
mov r13, qword [rsp + 0x68]
cmp byte [r13 + 0x14b], 0
je 0x18002e1e3
cmp byte [r13 + 0x14a], 0
jne 0x18002e1e3
cmp byte [r13 + 0x148], 0
jne 0x18002e1e3
lea rdx, [rsi + 0x4c]
mov r8d, 0x600004
mov rcx, rsi
call fcn.18002b350
mov r8d, dword [rbp + 0x60]
or r8d, 0x200009
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18002e03b
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x70]
test ecx, ecx
js 0x18002e267
call fcn.180008c00
test al, al
jne 0x18002e27e
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x78]
test ecx, ecx
js 0x18002e2ec
call fcn.180008c00
test al, al
je 0x18002e2ec
mov edx, dword [rbp + 0x198]
mov eax, edx
mov r13, qword [rsp + 0x68]
shr eax, 0xb
and al, 1
test r15b, r15b
je 0x18002e2a5
movzx ecx, byte [r13 + 0x148]
test al, al
je 0x18002e2b9
test cl, cl
jne 0x18002e2bd
mov rsi, qword [rsp + 0x58]
mov byte [rsp + 0x64], 1
mov byte [rsp + 0x52], 1
jmp 0x18002e805
test cl, cl
jne 0x18002e2a5
test r14b, r14b
jne 0x18002e3ba
lea rcx, [rbp - 0x50]
mov dword [rbp - 0x50], 0xa
call fcn.18002c720
test al, al
je 0x18002e3ba
mov rsi, qword [rsp + 0x58]
mov r8d, dword [rbp - 0x50]
jmp 0x18002e03b
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x74]
test ecx, ecx
js 0x18002e318
call fcn.180008c00
test al, al
je 0x18002e318
mov rsi, qword [rsp + 0x58]
mov bl, 1
mov r13, qword [rsp + 0x68]
mov byte [rsp + 0x64], bl
jmp 0x18002e807
test dil, dil
jne 0x18002e7bf
test bl, bl
jne 0x18002e7bf
cmp byte [rsp + 0x51], bl
je 0x18002e370
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x7c]
test ecx, ecx
js 0x18002e370
call fcn.180008c00
test al, al
je 0x18002e370
mov rsi, qword [rsp + 0x58]
xor r15d, r15d
mov r13, qword [rsp + 0x68]
mov eax, dword [rsi + 4]
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], r15d
mov byte [rsi + 0x5b], r15b
mov byte [rsi + 0xe74], 1
jmp 0x18002e80a
movzx r15d, byte [rsp + 0x65]
test r15b, r15b
jne 0x18002e5ce
test r12b, r12b
jne 0x18002e5ce
test sil, sil
je 0x18002e7fb
mov rcx, qword [0x18006f0e8]
mov rax, qword [rcx + 0x100]
test rax, rax
je 0x18002e3c4
mov rcx, qword [rcx + 0x110]
call rax
mov rbx, rax
test rax, rax
jne 0x18002e3cb
mov r13, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x58]
jmp 0x18002e805
lea rbx, [0x1800398ca]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x18002e3d2
mov rcx, qword [0x18006f0e8]
test rcx, rcx
je 0x18002e3ed
inc dword [rcx + 0x3bc]
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor r15d, r15d
mov qword [rbp - 0x50], rax
mov r14, rax
mov esi, r15d
cmp byte [rbx], r15b
je 0x18002e461
mov r14d, dword [rbp + 0x198]
mov rdi, rax
nop word [rax + rax]
xor r8d, r8d
lea rcx, [rbp + 0x60]
mov rdx, rbx
call fcn.180002a50
movsxd rcx, eax
add rbx, rcx
cmp dword [rbp + 0x60], r15d
je 0x18002e45d
mov edx, r14d
lea rcx, [rbp + 0x60]
call fcn.18002c720
test al, al
je 0x18002e458
movzx eax, word [rbp + 0x60]
inc esi
mov word [rdi], ax
add rdi, 2
cmp byte [rbx], r15b
jne 0x18002e420
mov r14, qword [rbp - 0x50]
movsxd rax, esi
mov word [r14 + rax*2], r15w
test esi, esi
jle 0x18002e59d
mov rdi, qword [rsp + 0x58]
mov r8d, dword [rdi + 0x54]
lea rbx, [rdi + 0x4c]
mov eax, dword [rbx + 4]
mov ecx, dword [rdi + 4]
cmp eax, r8d
je 0x18002e4b1
mov r9d, eax
cmp eax, ecx
jle 0x18002e496
mov dword [rbx + 4], ecx
mov r9d, ecx
mov edx, r8d
cmp r8d, ecx
jle 0x18002e4a3
mov dword [rbx + 8], ecx
mov edx, ecx
mov r8d, edx
mov eax, r9d
cmp r9d, edx
jne 0x18002e4b1
mov dword [rbx], r9d
mov r10d, dword [rbx]
cmp r10d, ecx
jle 0x18002e4be
mov dword [rbx], ecx
mov r10d, ecx
mov ecx, dword [rdi + 4]
cmp eax, r8d
je 0x18002e4ee
mov edx, eax
cmp eax, ecx
jle 0x18002e4d1
mov dword [rbx + 4], ecx
mov edx, ecx
mov r9d, r8d
cmp r8d, ecx
jle 0x18002e4df
mov dword [rbx + 8], ecx
mov r9d, ecx
mov r8d, r9d
mov eax, edx
cmp edx, r9d
jne 0x18002e4ee
mov dword [rbx], edx
mov r10d, edx
cmp r10d, ecx
jle 0x18002e4f5
mov dword [rbx], ecx
cmp eax, r8d
je 0x18002e52f
mov rdx, rbx
mov rcx, rdi
jge 0x18002e518
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.18002b250
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x18002e529
sub eax, r8d
mov r9d, eax
call fcn.18002b250
mov eax, dword [rbx + 8]
mov dword [rbx + 4], eax
mov dword [rbx], eax
mov byte [rbx + 0xf], r15b
mov edx, dword [rbx]
mov r9d, esi
mov r8, r14
mov rcx, rdi
call fcn.18002acb0
test al, al
je 0x18002e579
mov edi, dword [rbx]
lea rcx, [rbx + 0x18]
xor edx, edx
call fcn.18002c2b0
test rax, rax
je 0x18002e565
mov dword [rax], edi
mov dword [rax + 4], r15d
mov dword [rax + 8], esi
mov dword [rax + 0xc], 0xffffffff
add dword [rbx], esi
mov rsi, qword [rsp + 0x58]
mov byte [rbx + 0xf], r15b
mov byte [rsi + 0xe74], 1
jmp 0x18002e5a2
movzx eax, word [rbx + 0xe16]
test ax, ax
je 0x18002e58f
dec ax
mov word [rbx + 0xe16], ax
mov rsi, qword [rsp + 0x58]
mov byte [rsi + 0xe74], 1
jmp 0x18002e5a2
mov rsi, qword [rsp + 0x58]
test r14, r14
je 0x18002e5b9
mov rax, qword [0x18006f0e8]
test rax, rax
je 0x18002e5b9
dec dword [rax + 0x3bc]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r13, qword [rsp + 0x68]
xor bl, bl
jmp 0x18002e80a
mov r13, qword [rsp + 0x68]
cmp qword [r13 + 0x108], 0
je 0x18002e712
mov r12, qword [rsp + 0x58]
mov esi, dword [r12 + 0x54]
mov eax, dword [r12 + 0x50]
cmp eax, esi
je 0x18002e603
mov r14d, esi
cmovge esi, eax
cmovl r14d, eax
xor r9d, r9d
jmp 0x18002e60e
mov esi, dword [r12 + 4]
xor r9d, r9d
mov r14d, r9d
mov rcx, qword [r12 + 0x18]
mov edi, r9d
movsxd rax, esi
mov ebx, 0x800
mov r10d, 0x3ff
mov r11d, 0x80
mov r13d, 0x2800
lea r8, [rcx + rax*2]
movsxd rax, r14d
lea rdx, [rcx + rax*2]
nop dword [rax + rax]
test r8, r8
je 0x18002e64a
cmp rdx, r8
jae 0x18002e690
movzx ecx, word [rdx]
test cx, cx
je 0x18002e690
add rdx, 2
cmp cx, r11w
jae 0x18002e660
inc edi
jmp 0x18002e640
cmp cx, bx
jae 0x18002e66e
mov eax, 2
add edi, eax
jmp 0x18002e640
movzx eax, cx
add ax, word [rbp - 0x60]
cmp ax, r10w
mov eax, r9d
jbe 0x18002e68c
add cx, r13w
cmp cx, r10w
setbe al
add eax, 3
add edi, eax
jmp 0x18002e640
mov rax, qword [0x18006f0e8]
inc edi
mov r13, qword [rsp + 0x68]
test rax, rax
je 0x18002e6a9
inc dword [rax + 0x3bc]
movsxd rcx, edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdx, qword [r12 + 0x18]
mov rbx, rax
movsxd rcx, esi
lea r9, [rdx + rcx*2]
movsxd rcx, r14d
lea r8, [rdx + rcx*2]
mov edx, edi
mov rcx, rax
call fcn.180002bf0
mov r9, qword [0x18006f0e8]
mov rax, qword [r9 + 0x108]
test rax, rax
je 0x18002e6f8
mov rcx, qword [r9 + 0x110]
mov rdx, rbx
call rax
mov r9, qword [0x18006f0e8]
test rbx, rbx
je 0x18002e709
test r9, r9
je 0x18002e709
dec dword [r9 + 0x3bc]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rsi, qword [rsp + 0x58]
test r15b, r15b
je 0x18002e805
mov eax, dword [rsi + 0x54]
xor r15d, r15d
cmp dword [rsi + 0x50], eax
jne 0x18002e73c
mov eax, dword [rsi + 4]
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], r15d
mov byte [rsi + 0x5b], r15b
mov byte [rsi + 0xe74], 1
mov r8d, dword [rsi + 0x54]
mov eax, dword [rsi + 0x50]
cmp eax, r8d
je 0x18002e7bb
mov ecx, dword [rsi + 4]
cmp eax, ecx
jle 0x18002e75b
mov dword [rsi + 0x50], ecx
mov eax, ecx
cmp r8d, ecx
jle 0x18002e766
mov dword [rsi + 0x54], ecx
mov r8d, ecx
cmp eax, r8d
jne 0x18002e76e
mov dword [rsi + 0x4c], eax
cmp dword [rsi + 0x4c], ecx
jle 0x18002e776
mov dword [rsi + 0x4c], ecx
cmp eax, r8d
je 0x18002e7b7
lea rdx, [rsi + 0x4c]
mov rcx, rsi
jge 0x18002e7a3
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.18002b250
mov eax, dword [rsi + 0x50]
xor bl, bl
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x4c], eax
mov byte [rsi + 0x5b], 0
jmp 0x18002e80a
sub eax, r8d
mov r9d, eax
call fcn.18002b250
mov eax, dword [rsi + 0x54]
mov dword [rsi + 0x50], eax
mov dword [rsi + 0x4c], eax
mov byte [rsi + 0x5b], 0
xor bl, bl
jmp 0x18002e80a
mov rsi, qword [rsp + 0x58]
movzx r8d, dil
mov rcx, rsi
xor r8d, 1
add r8d, 0x20000a
lea rdx, [rsi + 0x4c]
call fcn.18002b350
mov eax, dword [rsi + 0x4c]
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x50], eax
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18002e800
mov rsi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
xor bl, bl
xor r15d, r15d
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
je 0x18002e81d
cmp byte [rsp + 0x50], 0
je 0x18002e81d
mov al, 1
jmp 0x18002e81f
xor al, al
mov r14d, dword [rbp - 0x80]
mov r12d, 0x3ff
mov edi, dword [rbp - 0x68]
or r14b, al
mov dword [rbp - 0x80], r14d
cmp dword [r13 + 0x1a60], edi
jne 0x18002ef77
test rsi, rsi
jne 0x18002e85f
mov r8d, 0xecf
lea rdx, [0x180041ef0]
lea rcx, str.state___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov qword [rbp + 0x60], r15
mov r13d, r15d
test bl, bl
je 0x18002e8bc
cmp byte [rsp + 0x60], 0
jne 0x18002e8a2
mov r9, qword [rsi + 0x38]
mov rax, qword [rbp - 0x58]
mov r8, r9
sub r8, rax
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18002e893
inc rax
test ecx, ecx
jne 0x18002e880
test edx, edx
je 0x18002e8a2
mov r13d, dword [rsi + 0x30]
dec r13d
mov qword [rbp + 0x60], r9
cmp byte [rsp + 0x52], 0
mov ebx, dword [rbp + 0x198]
je 0x18002ee66
test bl, 0x20
je 0x18002ee66
cmp byte [rsp + 0x60], 0
jne 0x18002e911
mov eax, dword [rsi + 0x10]
mov byte [rsi + 0x40], 1
mov ecx, dword [rsi + 0x24]
lea ebx, [rax*4 + 1]
cmp ebx, ecx
jle 0x18002e8fc
test ecx, ecx
je 0x18002e8e7
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002e8ec
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x20]
mov edx, ebx
cmovg edx, eax
call fcn.180015930
mov dword [rsi + 0x20], ebx
xor r9d, r9d
mov r8, qword [rsi + 0x18]
mov edx, ebx
mov rcx, qword [rsi + 0x28]
call fcn.180002bf0
mov edi, dword [rbp + 0x198]
test edi, 0x1c0
je 0x18002ee18
mov r8d, 0xeef
lea rdx, [0x180041ef0]
lea rcx, str.callback___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ebx, 0x16
test dil, 0x40
je 0x18002e967
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x18002e967
call fcn.180008c00
test al, al
je 0x18002e967
lea eax, [rbx + 0x2a]
mov ebx, r15d
jmp 0x18002e9c5
test dil, dil
jns 0x18002e9b8
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x18002e992
call fcn.180008c00
test al, al
je 0x18002e992
mov r11d, 0x80
mov eax, r11d
lea ebx, [r11 - 0x7d]
jmp 0x18002e9cb
mov rax, qword [0x18006f0e8]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x18002e9b8
call fcn.180008c00
test al, al
je 0x18002e9b8
mov r11d, 0x80
mov eax, r11d
lea ebx, [r11 - 0x7c]
jmp 0x18002e9cb
mov ecx, 0x100
mov eax, r15d
test ecx, edi
cmovne eax, ecx
mov r11d, 0x80
test eax, eax
je 0x18002ee18
mov r9, qword [rsi + 0x18]
mov r14d, 0x800
mov dword [rbp - 0x10], eax
mov rdx, r9
mov rax, qword [rsi + 0x28]
mov qword [rbp + 8], rax
mov eax, dword [rsi + 8]
mov dword [rbp + 0x10], eax
mov eax, dword [rsi + 0x44]
mov dword [rbp + 0x14], eax
movsxd rax, dword [rsi + 0x4c]
mov esi, 0x2800
mov dword [rbp - 0xc], edi
mov edi, 0x2400
mov dword [rbp + 4], ebx
mov ebx, r15d
mov dword [rbp], r15d
lea r8, [r9 + rax*2]
mov qword [rbp + 0x19], r15
mov dword [rbp + 0x21], r15d
mov word [rbp + 0x25], r15w
mov byte [rbp + 0x27], 0
mov qword [rbp - 8], r15
mov byte [rbp + 0x18], 0
nop
test r8, r8
je 0x18002ea3a
cmp rdx, r8
jae 0x18002ea7c
movzx ecx, word [rdx]
test cx, cx
je 0x18002ea7c
add rdx, 2
cmp cx, r11w
jae 0x18002ea50
inc ebx
jmp 0x18002ea30
cmp cx, r14w
jae 0x18002ea5f
mov eax, 2
add ebx, eax
jmp 0x18002ea30
lea eax, [rdi + rcx]
cmp ax, r12w
mov eax, r15d
jbe 0x18002ea78
add cx, si
cmp cx, r12w
setbe al
add eax, 3
add ebx, eax
jmp 0x18002ea30
mov rsi, qword [rsp + 0x58]
mov rdx, r9
mov dword [rbp + 0x1c], ebx
mov r12d, r15d
mov r10d, 0x3ff
movsxd rax, dword [rsi + 0x50]
mov esi, 0x2800
lea r8, [r9 + rax*2]
nop dword [rax]
test r8, r8
je 0x18002eaaa
cmp rdx, r8
jae 0x18002eaf3
movzx ecx, word [rdx]
test cx, cx
je 0x18002eaf3
add rdx, 2
cmp cx, r11w
jae 0x18002eac1
inc r12d
jmp 0x18002eaa0
cmp cx, r14w
jae 0x18002ead1
mov eax, 2
add r12d, eax
jmp 0x18002eaa0
movzx eax, cx
add ax, word [rbp - 0x60]
cmp ax, r10w
mov eax, r15d
jbe 0x18002eaee
add cx, si
cmp cx, r10w
setbe al
add eax, 3
add r12d, eax
jmp 0x18002eaa0
mov rsi, qword [rsp + 0x58]
xor r8d, r8d
mov dword [rbp + 0x20], r12d
mov edi, 0x2800
movsxd rax, dword [rsi + 0x54]
lea rdx, [r9 + rax*2]
nop dword [rax]
test rdx, rdx
je 0x18002eb1a
cmp r9, rdx
jae 0x18002eb64
movzx ecx, word [r9]
test cx, cx
je 0x18002eb64
add r9, 2
cmp cx, r11w
jae 0x18002eb32
inc r15d
jmp 0x18002eb10
cmp cx, r14w
jae 0x18002eb42
mov eax, 2
add r15d, eax
jmp 0x18002eb10
movzx eax, cx
add ax, word [rbp - 0x60]
cmp ax, r10w
mov eax, r8d
jbe 0x18002eb5f
add cx, di
cmp cx, r10w
setbe al
add eax, 3
add r15d, eax
jmp 0x18002eb10
lea rcx, [rbp - 0x10]
mov dword [rbp + 0x24], r15d
call r8
mov r14, qword [rbp + 8]
mov edi, dword [rbp + 0x198]
cmp r14, qword [rsi + 0x28]
je 0x18002eb9d
mov r8d, 0xf1e
lea rdx, [0x180041ef0]
lea rcx, str.callback_data.Buf__state__TextA.Data
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r14, qword [rbp + 8]
mov eax, dword [rsi + 0x44]
cmp dword [rbp + 0x14], eax
je 0x18002ebc3
mov r8d, 0xf1f
lea rdx, [0x180041ef0]
lea rcx, str.callback_data.BufSize__state__BufCapacityA
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r14, qword [rbp + 8]
cmp dword [rbp - 0xc], edi
je 0x18002ebe6
mov r8d, 0xf20
lea rdx, [0x180041ef0]
lea rcx, str.callback_data.Flags__flags
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r14, qword [rbp + 8]
movsxd rax, dword [rbp + 0x1c]
cmp eax, ebx
je 0x18002ec40
lea rdi, [r14 + rax]
mov rbx, r14
xor esi, esi
test rdi, rdi
je 0x18002ec01
cmp rbx, rdi
jae 0x18002ec2f
cmp byte [rbx], 0
je 0x18002ec2f
mov r8, rdi
lea rcx, [rbp - 0x50]
mov rdx, rbx
call fcn.180002a50
movsxd rcx, eax
mov eax, dword [rbp - 0x50]
add rbx, rcx
test eax, eax
je 0x18002ec2f
mov ecx, 0xffff
cmp eax, ecx
ja 0x18002ebf7
inc esi
jmp 0x18002ebf7
mov rdx, qword [rsp + 0x58]
mov dword [rdx + 0x4c], esi
mov byte [rdx + 0xe74], 1
jmp 0x18002ec43
mov rdx, rsi
movsxd rax, dword [rbp + 0x20]
cmp eax, r12d
je 0x18002eca2
xor r12d, r12d
lea rdi, [r14 + rax]
mov esi, r12d
mov rbx, r14
nop dword [rax]
test rdi, rdi
je 0x18002ec6a
cmp rbx, rdi
jae 0x18002ec98
cmp byte [rbx], r12b
je 0x18002ec98
mov r8, rdi
lea rcx, [rbp - 0x50]
mov rdx, rbx
call fcn.180002a50
movsxd rcx, eax
mov eax, dword [rbp - 0x50]
add rbx, rcx
test eax, eax
je 0x18002ec98
mov ecx, 0xffff
cmp eax, ecx
ja 0x18002ec60
inc esi
jmp 0x18002ec60
mov rdx, qword [rsp + 0x58]
mov dword [rdx + 0x50], esi
jmp 0x18002eca5
xor r12d, r12d
movsxd rax, dword [rbp + 0x24]
cmp eax, r15d
je 0x18002ecf8
lea rdi, [r14 + rax]
mov rbx, r14
mov esi, r12d
test rdi, rdi
je 0x18002ecc2
cmp rbx, rdi
jae 0x18002ecf0
cmp byte [rbx], 0
je 0x18002ecf0
mov r8, rdi
lea rcx, [rbp - 0x50]
mov rdx, rbx
call fcn.180002a50
movsxd rcx, eax
mov eax, dword [rbp - 0x50]
add rbx, rcx
test eax, eax
je 0x18002ecf0
mov ecx, 0xffff
cmp eax, ecx
ja 0x18002ecb8
inc esi
jmp 0x18002ecb8
mov rdx, qword [rsp + 0x58]
mov dword [rdx + 0x54], esi
cmp byte [rbp + 0x18], 0
je 0x18002ee0f
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [r14 + rax], 0
jne 0x18002ed10
mov ebx, dword [rbp + 0x10]
cmp ebx, eax
je 0x18002ed47
mov r8d, 0xf26
lea rdx, [0x180041ef0]
lea rcx, str.callback_data.BufTextLen___int_strlen_callback_data.Buf_
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rdx, qword [rsp + 0x58]
mov ebx, dword [rbp + 0x10]
mov r14, qword [rbp + 8]
mov eax, dword [rbp - 0x6c]
mov r15d, dword [rsp + 0x7c]
cmp ebx, eax
jle 0x18002ed95
test r15b, r15b
je 0x18002ed95
mov ecx, dword [rdx + 0x14]
lea rdi, [rdx + 0x10]
sub ebx, eax
add ebx, dword [rdi]
cmp ebx, ecx
jle 0x18002ed93
test ecx, ecx
je 0x18002ed76
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002ed7b
mov eax, 8
cmp eax, ebx
mov edx, ebx
mov rcx, rdi
cmovg edx, eax
call fcn.1800159c0
mov rdx, qword [rsp + 0x58]
mov r14, qword [rbp + 8]
mov dword [rdi], ebx
mov rsi, qword [rdx + 0x18]
movsxd rdi, dword [rdx + 0x10]
mov rbx, rsi
dec rdi
lea rdi, [rsi + rdi*2]
cmp rsi, rdi
jae 0x18002ede7
nop dword [rax]
cmp byte [r14], 0
je 0x18002ede7
xor r8d, r8d
lea rcx, [rbp - 0x50]
mov rdx, r14
call fcn.180002a50
movsxd rcx, eax
mov eax, dword [rbp - 0x50]
add r14, rcx
test eax, eax
je 0x18002ede7
mov ecx, 0xffff
cmp eax, ecx
ja 0x18002ede2
mov word [rbx], ax
add rbx, 2
cmp rbx, rdi
jb 0x18002edb0
mov r14d, dword [rbp - 0x80]
mov word [rbx], r12w
sub rbx, rsi
mov rsi, qword [rsp + 0x58]
mov eax, dword [rbp + 0x10]
sar rbx, 1
mov dword [rsi + 4], ebx
mov dword [rsi + 8], eax
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18002ee1d
mov rsi, qword [rsp + 0x58]
mov r14d, dword [rbp - 0x80]
mov r15d, dword [rsp + 0x7c]
cmp byte [rsp + 0x60], 0
mov r12, qword [rbp - 0x58]
jne 0x18002ee71
mov r9, qword [rsi + 0x28]
mov r8, r12
mov rax, r9
sub r8, r9
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18002ee53
inc rax
test ecx, ecx
jne 0x18002ee40
mov ebx, dword [rbp + 0x198]
test edx, edx
je 0x18002ee77
mov r13d, dword [rsi + 8]
mov rdi, r9
jmp 0x18002ee7b
mov r15d, dword [rsp + 0x7c]
mov r12, qword [rbp - 0x58]
jmp 0x18002ee77
mov ebx, dword [rbp + 0x198]
mov rdi, qword [rbp + 0x60]
test rdi, rdi
je 0x18002ef57
test r13d, r13d
jns 0x18002eea3
mov r8d, 0xf3b
lea rdx, [0x180041ef0]
lea rcx, str.apply_new_text_length___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp dword [rbp - 0x6c], r13d
je 0x18002ef23
test r15b, r15b
je 0x18002ef23
xor edx, edx
mov dword [rbp + 0x28], 0x40000
lea eax, [r13 + 1]
mov qword [rbp + 0x38], rdx
cmp eax, 0x20
mov dword [rbp + 0x2c], ebx
mov ecx, 0x20
mov qword [rbp + 0x40], r12
cmovle eax, ecx
mov dword [rbp + 0x48], r13d
xorps xmm0, xmm0
mov dword [rbp + 0x4c], eax
lea rcx, [rbp + 0x28]
mov qword [rbp + 0x30], rdx
movdqu xmmword [rbp + 0x50], xmm0
call rdx
mov ebx, dword [rbp + 0x4c]
mov r12, qword [rbp + 0x40]
mov qword [rbp - 0x58], r12
lea r13d, [rbx - 1]
cmp dword [rbp + 0x48], r13d
cmovl r13d, dword [rbp + 0x48]
cmp r13d, ebx
jle 0x18002ef28
mov r8d, 0xf49
lea rdx, [0x180041ef0]
lea rcx, str.apply_new_text_length___buf_size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
jmp 0x18002ef28
mov ebx, 0x20
lea eax, [r13 + 1]
cmp eax, ebx
cmovl ebx, eax
movsxd rbx, ebx
cmp rbx, 1
jb 0x18002ef52
jbe 0x18002ef4c
lea r8, [rbx - 1]
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + r12 - 1], 0
mov byte [rsp + 0x78], 1
mov r13, qword [rsp + 0x68]
xor r15d, r15d
mov edi, dword [rbp - 0x68]
mov dword [rsi + 0xe78], r15d
mov qword [rsi + 0xe80], r15
mov qword [rsi + 0xe88], r15
cmp byte [rsp + 0x64], 0
je 0x18002efe1
cmp dword [r13 + 0x1a60], edi
jne 0x18002efe1
mov rdx, qword [0x18006f0e8]
mov ecx, dword [rdx + 0x1a60]
test ecx, ecx
setne al
mov byte [rdx + 0x1a6c], al
test ecx, ecx
je 0x18002efb3
mov dword [rdx + 0x1a68], r15d
mov word [rdx + 0x1a6e], 0
mov dword [rdx + 0x1a60], r15d
mov byte [rdx + 0x1a6d], 0
mov qword [rdx + 0x1a90], r15
mov byte [rdx + 0x1a70], 0
mov qword [rdx + 0x1a74], 0
mov qword [rdx + 0x1a80], r15
mov ebx, dword [rsp + 0x74]
test bl, bl
jne 0x18002f098
mov r8d, 1
lea rcx, [rbp - 0x20]
mov edx, edi
call fcn.1800045b0
movss xmm7, dword [0x180042b60]
mov ecx, 7
movaps xmm1, xmm7
call fcn.180002de0
movss xmm0, dword [r13 + 0x1598]
mov r8d, eax
mov rdx, qword [rbp - 0x18]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm15
unpcklps xmm0, xmm11
movq rcx, xmm0
call fcn.180003f00
mov r9, qword [rbp - 0x78]
movaps xmm0, xmm15
addss xmm0, dword [r13 + 0x1590]
movaps xmm12, xmm11
movss dword [rbp + 0x70], xmm15
addss xmm12, xmm14
movaps xmm1, xmm11
addss xmm1, dword [r13 + 0x1594]
movaps xmm13, xmm9
addss xmm13, xmm15
movss dword [rsp + 0x68], xmm0
movss dword [rbp + 0x7c], xmm12
movaps xmm15, xmm12
movss dword [rsp + 0x6c], xmm1
movss dword [rbp + 0x78], xmm13
movss dword [rbp + 0x60], xmm13
jmp 0x18002f0e3
mov r9, qword [rbp - 0x78]
movaps xmm1, xmm15
movss xmm7, dword [0x180042b60]
addss xmm1, xmm9
movss dword [rbp + 0x70], xmm15
movaps xmm15, xmm11
addss xmm15, xmm14
movsd xmm0, qword [r9 + 0xd0]
movsd qword [rsp + 0x68], xmm0
movss dword [rbp + 0x60], xmm1
movaps xmm13, xmm1
movss dword [rbp + 0x78], xmm1
movss dword [rbp + 0x7c], xmm15
movaps xmm12, xmm15
cmp byte [rbp - 0x70], 0
lea rax, [rsp + 0x68]
movss xmm8, dword [rax + 4]
xorps xmm5, xmm5
movss xmm14, dword [rax]
movss dword [rsp + 0x7c], xmm8
movss dword [rbp + 0x74], xmm11
movss dword [rbp - 0x6c], xmm5
movss dword [rbp - 0x60], xmm5
je 0x18002f11d
mov r8, qword [rsi + 0x28]
mov qword [rbp - 0x58], r8
jmp 0x18002f121
mov r8, qword [rbp - 0x58]
movzx r12d, byte [rsp + 0x50]
test r12b, r12b
jne 0x18002f373
test r14b, r14b
jne 0x18002f373
test bl, bl
je 0x18002f19f
movzx edx, byte [r8]
mov ecx, r15d
lea r15, [r8 + 1]
test dl, dl
je 0x18002f166
nop dword [rax]
cmp dl, 0xa
lea eax, [rcx + 1]
movzx edx, byte [r15]
cmovne eax, ecx
inc r15
mov ecx, eax
test dl, dl
jne 0x18002f150
movzx eax, byte [r15 - 1]
dec r15
cmp al, 0xa
je 0x18002f178
cmp al, 0xd
je 0x18002f178
inc ecx
movd xmm8, ecx
cvtdq2ps xmm8, xmm8
movss dword [rbp - 0x6c], xmm9
mulss xmm8, dword [r13 + 0x1910]
movss dword [rbp - 0x60], xmm8
movss xmm8, dword [rsp + 0x7c]
jmp 0x18002f1d4
cmp dword [r13 + 0x1a60], edi
jne 0x18002f1ae
movsxd r15, dword [rsi + 8]
jmp 0x18002f1bf
mov r15, 0xffffffffffffffff
inc r15
cmp byte [r8 + r15], 0
jne 0x18002f1b5
add r15, r8
mov rax, r15
sub rax, r8
cmp rax, 0x200000
jge 0x18002fc9c
movaps xmm1, xmm7
xor ecx, ecx
call fcn.180002de0
movss xmm6, dword [r13 + 0x1910]
lea rsi, [rbp + 0x70]
mov r14, qword [r13 + 0x1908]
test bl, bl
mov rdi, qword [r9 + 0x2a8]
mov r12d, eax
mov eax, 0
mov rbx, r15
cmovne rsi, rax
test r12d, 0xff000000
je 0x18002fc5a
test r15, r15
jne 0x18002f22f
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r8 + rbx], al
jne 0x18002f223
add rbx, r8
cmp r8, rbx
je 0x18002fc5a
test r14, r14
jne 0x18002f245
mov rax, qword [rdi + 0x38]
mov r14, qword [rax + 8]
xorps xmm12, xmm12
ucomiss xmm6, xmm12
jp 0x18002f25a
jne 0x18002f25a
mov rax, qword [rdi + 0x38]
movss xmm6, dword [rax + 0x10]
cmp dword [rdi + 0x70], 0
jg 0x18002f27a
mov r8d, 0x502
lea rdx, [0x1800395c0]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rdx, dword [rdi + 0x70]
mov rax, qword [rdi + 0x78]
mov rcx, qword [r14 + 0x48]
mov rax, qword [rax + rdx*8 - 8]
cmp qword [rcx + 8], rax
je 0x18002f2ab
mov r8d, 0x485
lea rdx, [0x180040a30]
lea rcx, str.font__ContainerAtlas__TexID___TextureIdStack.back__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp dword [rdi + 0x60], 0
jg 0x18002f2cb
mov r8d, 0x502
lea rdx, [0x1800395c0]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rcx, dword [rdi + 0x60]
mov rax, qword [rdi + 0x68]
add rcx, rcx
movups xmm1, xmmword [rax + rcx*8 - 0x10]
movups xmmword [rbp - 0x20], xmm1
test rsi, rsi
je 0x18002f329
movss xmm0, dword [rsi]
comiss xmm1, xmm0
jae 0x18002f2f2
movss dword [rbp - 0x20], xmm0
movss xmm1, dword [rsi + 4]
movss xmm0, dword [rbp - 0x1c]
comiss xmm0, xmm1
jae 0x18002f306
movss dword [rbp - 0x1c], xmm1
movss xmm0, dword [rsi + 8]
comiss xmm0, dword [rbp - 0x18]
ja 0x18002f316
movss dword [rbp - 0x18], xmm0
movss xmm0, dword [rsi + 0xc]
comiss xmm0, dword [rbp - 0x14]
ja 0x18002f326
movss dword [rbp - 0x14], xmm0
test rsi, rsi
setne al
movaps xmm0, xmm14
mov byte [rsp + 0x48], al
movaps xmm2, xmm6
mov rax, qword [rbp - 0x58]
mov rdx, rdi
movss dword [rsp + 0x40], xmm12
mov rcx, r14
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x20]
unpcklps xmm0, xmm8
mov qword [rsp + 0x28], rax
movq r9, xmm0
mov dword [rsp + 0x20], r12d
call fcn.180024c20
jmp 0x18002fc5e
test rsi, rsi
jne 0x18002f395
mov r8d, 0xf76
lea rdx, [0x180041ef0]
lea rcx, str.state___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xorps xmm5, xmm5
movsxd r15, dword [rsi + 8]
xor r10d, r10d
add r15, qword [rbp - 0x58]
mov r8d, 0xfffffc18
mov rsi, qword [rsi + 0x18]
xorps xmm7, xmm7
mov r14, qword [rsp + 0x58]
xorps xmm6, xmm6
mov r9d, r10d
mov edi, r10d
mov ebx, r8d
mov edx, r10d
test r12b, r12b
je 0x18002f3d6
movsxd rax, dword [r14 + 0x4c]
lea edx, [r10 + 1]
lea r8d, [r10 - 1]
lea r9, [rsi + rax*2]
mov r12d, dword [rbp - 0x80]
test r12b, r12b
je 0x18002f3fa
mov ecx, dword [r14 + 0x54]
mov ebx, 0xffffffff
cmp dword [r14 + 0x50], ecx
cmovl ecx, dword [r14 + 0x50]
inc edx
movsxd rax, ecx
lea rdi, [rsi + rax*2]
movzx eax, byte [rsp + 0x74]
mov r11d, r10d
movzx ecx, word [rsi]
add edx, eax
mov rax, rsi
test cx, cx
je 0x18002f44d
nop
cmp cx, 0xa
jne 0x18002f440
inc r11d
cmp r8d, 0xffffffff
jne 0x18002f42d
cmp rax, r9
jb 0x18002f42d
dec edx
mov r8d, r11d
test edx, edx
jle 0x18002f44d
cmp ebx, 0xffffffff
jne 0x18002f440
cmp rax, rdi
jb 0x18002f440
dec edx
mov ebx, r11d
test edx, edx
jle 0x18002f44d
movzx ecx, word [rax + 2]
add rax, 2
test cx, cx
jne 0x18002f410
inc r11d
mov rdx, r9
cmp r8d, 0xffffffff
mov r10d, r11d
cmovne r10d, r8d
cmp ebx, 0xffffffff
cmove ebx, r11d
cmp r9, rsi
jbe 0x18002f483
nop word [rax + rax]
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x18002f483
mov rdx, rax
cmp rax, rsi
ja 0x18002f470
mov rax, qword [0x18006f0e8]
movaps xmm1, xmm5
movaps xmm10, xmm5
mov r8, qword [rax + 0x1908]
movss xmm2, dword [rax + 0x1910]
divss xmm2, dword [r8 + 0x14]
cmp rdx, r9
jae 0x18002f4f3
nop dword [rax + rax]
movzx eax, word [rdx]
add rdx, 2
cmp eax, 0xa
jne 0x18002f4c7
maxss xmm1, xmm10
movaps xmm10, xmm5
jmp 0x18002f4ee
cmp eax, 0xd
je 0x18002f4ee
mov rcx, rax
cmp eax, dword [r8]
jge 0x18002f4df
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x18002f4e5
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm10, xmm0
cmp rdx, r9
jb 0x18002f4b0
movss xmm0, dword [r13 + 0x1910]
maxss xmm10, xmm1
movd xmm11, r10d
cvtdq2ps xmm11, xmm11
movss dword [rbp - 0x50], xmm10
mulss xmm11, xmm0
movss dword [rbp - 0x80], xmm11
test ebx, ebx
js 0x18002f5c8
mov rdx, rdi
cmp rdi, rsi
jbe 0x18002f543
nop dword [rax + rax]
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x18002f543
mov rdx, rax
cmp rax, rsi
ja 0x18002f530
mov rax, qword [0x18006f0e8]
movaps xmm1, xmm5
movaps xmm6, xmm5
mov r8, qword [rax + 0x1908]
movss xmm2, dword [rax + 0x1910]
divss xmm2, dword [r8 + 0x14]
cmp rdx, rdi
jae 0x18002f5b0
nop word [rax + rax]
movzx eax, word [rdx]
add rdx, 2
cmp eax, 0xa
jne 0x18002f585
maxss xmm1, xmm6
movaps xmm6, xmm5
jmp 0x18002f5ab
cmp eax, 0xd
je 0x18002f5ab
mov rcx, rax
cmp eax, dword [r8]
jge 0x18002f59d
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x18002f5a3
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm6, xmm0
cmp rdx, rdi
jb 0x18002f570
movss xmm0, dword [r13 + 0x1910]
maxss xmm6, xmm1
movd xmm7, ebx
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm0
mov r9d, dword [rsp + 0x74]
test r9b, r9b
je 0x18002f5e9
movd xmm3, r11d
cvtdq2ps xmm3, xmm3
movss dword [rbp - 0x6c], xmm9
mulss xmm3, xmm0
movss dword [rbp - 0x60], xmm3
movzx r8d, byte [rsp + 0x50]
test r8b, r8b
je 0x18002f6b7
cmp byte [r14 + 0xe74], 0
je 0x18002f6b7
test dword [rbp + 0x198], 0x1000
jne 0x18002f65c
movss xmm2, dword [r14 + 0x48]
movaps xmm0, xmm9
comiss xmm2, xmm10
mulss xmm0, dword [0x180042b20]
movaps xmm1, xmm10
jbe 0x18002f63b
subss xmm1, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x18002f649
subss xmm1, xmm9
comiss xmm1, xmm2
jb 0x18002f664
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r14 + 0x48], xmm0
jmp 0x18002f664
mov dword [r14 + 0x48], 0
test r9b, r9b
je 0x18002f6af
mov rax, qword [rbp - 0x78]
movaps xmm2, xmm11
subss xmm2, dword [r13 + 0x1910]
movss xmm1, dword [rax + 0x58]
comiss xmm1, xmm2
jbe 0x18002f68d
movaps xmm0, xmm5
maxss xmm0, xmm2
jmp 0x18002f69a
movaps xmm0, xmm11
subss xmm0, dword [rbp - 0x30]
maxss xmm0, xmm1
subss xmm1, xmm0
movss dword [rax + 0x58], xmm0
addss xmm8, xmm1
movss dword [rsp + 0x7c], xmm8
mov byte [r14 + 0xe74], 0
movss xmm9, dword [r14 + 0x48]
test r12b, r12b
je 0x18002f92a
mov edx, dword [r14 + 0x54]
mov eax, edx
mov ecx, dword [r14 + 0x50]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cdqe
lea rbx, [rsi + rax*2]
movsxd rax, edx
lea rdi, [rsi + rax*2]
test r8b, r8b
je 0x18002f6f4
movss xmm1, dword [0x180042b60]
jmp 0x18002f6fc
movss xmm1, dword [0x180042b38]
mov ecx, 0x2a
call fcn.180002de0
mov esi, eax
xorps xmm5, xmm5
test r9b, r9b
je 0x18002f71b
movss dword [rbp - 0x34], xmm5
xorps xmm8, xmm8
jmp 0x18002f724
movss xmm8, dword [0x180042b80]
movaps xmm4, xmm14
addss xmm4, xmm6
movss xmm6, dword [rsp + 0x7c]
addss xmm6, xmm7
subss xmm4, xmm9
subss xmm6, xmm5
cmp rbx, rdi
jae 0x18002f923
movss xmm10, dword [rbp + 0x60]
movss xmm7, dword [0x180042b34]
movss xmm11, dword [rbp - 0x44]
movss xmm1, dword [rsp + 0x70]
mov r14, qword [rbp - 0x78]
nop word [rax + rax]
movaps xmm0, xmm12
addss xmm0, dword [r13 + 0x1910]
comiss xmm6, xmm0
ja 0x18002f907
comiss xmm1, xmm6
jbe 0x18002f7af
cmp rbx, rdi
jae 0x18002f8ec
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x18002f8ec
cmp rbx, rdi
jb 0x18002f794
jmp 0x18002f8ec
mov rax, qword [0x18006f0e8]
movaps xmm3, xmm5
movaps xmm1, xmm5
mov rdx, qword [rax + 0x1908]
movss xmm2, dword [rax + 0x1910]
divss xmm2, dword [rdx + 0x14]
cmp rbx, rdi
jae 0x18002f820
nop word [rax + rax]
movzx eax, word [rbx]
add rbx, 2
cmp eax, 0xa
je 0x18002f816
cmp eax, 0xd
je 0x18002f80f
mov ecx, eax
cmp eax, dword [rdx]
jge 0x18002f802
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x18002f807
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rbx, rdi
jb 0x18002f7e0
jmp 0x18002f820
movaps xmm3, xmm5
maxss xmm3, xmm1
movaps xmm1, xmm5
maxss xmm1, xmm3
comiss xmm5, xmm1
jb 0x18002f857
mov rax, qword [r13 + 0x1908]
cmp dword [rax], 0x20
jle 0x18002f843
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x18002f848
movss xmm0, dword [rax + 0x10]
mulss xmm0, xmm7
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [rbp - 0x34]
addss xmm1, xmm4
subss xmm2, dword [r13 + 0x1910]
movaps xmm0, xmm8
movaps xmm3, xmm4
addss xmm0, xmm6
addss xmm3, xmm5
minss xmm1, xmm13
addss xmm2, xmm6
minss xmm0, xmm12
maxss xmm3, xmm11
movss dword [rbp - 0x18], xmm1
maxss xmm2, dword [rsp + 0x70]
comiss xmm0, dword [rsp + 0x70]
movss dword [rbp - 0x1c], xmm2
movss dword [rbp - 0x20], xmm3
movss dword [rbp - 0x14], xmm0
jbe 0x18002f8e6
comiss xmm12, xmm2
jbe 0x18002f8e6
comiss xmm1, xmm11
jbe 0x18002f8e6
comiss xmm13, xmm3
jbe 0x18002f8e6
mov rcx, qword [r14 + 0x2a8]
lea r8, [rbp - 0x18]
mov dword [rsp + 0x28], 0xf
lea rdx, [rbp - 0x20]
mov r9d, esi
movss dword [rsp + 0x20], xmm5
call fcn.180020400
xorps xmm5, xmm5
movss xmm1, dword [rsp + 0x70]
movaps xmm4, xmm14
subss xmm4, xmm9
addss xmm6, dword [r13 + 0x1910]
cmp rbx, rdi
jb 0x18002f770
movss xmm11, dword [rbp - 0x80]
mov r14, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x74]
movss dword [rbp + 0x60], xmm10
movss xmm10, dword [rbp - 0x50]
movss xmm8, dword [rsp + 0x7c]
mov r8, qword [rbp - 0x58]
test r9b, r9b
jne 0x18002f945
mov rax, r15
sub rax, r8
cmp rax, 0x200000
jge 0x18002fb4d
movss xmm1, dword [0x180042b60]
xor ecx, ecx
call fcn.180002de0
movss xmm6, dword [r13 + 0x1910]
lea rsi, [rbp + 0x70]
mov r14, qword [r13 + 0x1908]
mov r12d, eax
test r9b, r9b
mov eax, 0
movaps xmm7, xmm14
xorps xmm12, xmm12
cmovne rsi, rax
subss xmm7, xmm9
mov rax, qword [rbp - 0x78]
subss xmm8, xmm12
mov rbx, r15
mov rdi, qword [rax + 0x2a8]
test r12d, 0xff000000
je 0x18002faf7
test r15, r15
jne 0x18002f9bd
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r8 + rbx], 0
jne 0x18002f9b0
add rbx, r8
cmp r8, rbx
je 0x18002faf7
test r14, r14
jne 0x18002f9d3
mov rax, qword [rdi + 0x38]
mov r14, qword [rax + 8]
ucomiss xmm6, xmm12
jp 0x18002f9e4
jne 0x18002f9e4
mov rax, qword [rdi + 0x38]
movss xmm6, dword [rax + 0x10]
cmp dword [rdi + 0x70], 0
jg 0x18002fa04
mov r8d, 0x502
lea rdx, [0x1800395c0]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rdx, dword [rdi + 0x70]
mov rax, qword [rdi + 0x78]
mov rcx, qword [r14 + 0x48]
mov rax, qword [rax + rdx*8 - 8]
cmp qword [rcx + 8], rax
je 0x18002fa35
mov r8d, 0x485
lea rdx, [0x180040a30]
lea rcx, str.font__ContainerAtlas__TexID___TextureIdStack.back__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp dword [rdi + 0x60], 0
jg 0x18002fa55
mov r8d, 0x502
lea rdx, [0x1800395c0]
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rcx, dword [rdi + 0x60]
mov rax, qword [rdi + 0x68]
add rcx, rcx
movups xmm1, xmmword [rax + rcx*8 - 0x10]
movups xmmword [rbp - 0x20], xmm1
test rsi, rsi
je 0x18002fab3
movss xmm0, dword [rsi]
comiss xmm1, xmm0
jae 0x18002fa7c
movss dword [rbp - 0x20], xmm0
movss xmm1, dword [rsi + 4]
movss xmm0, dword [rbp - 0x1c]
comiss xmm0, xmm1
jae 0x18002fa90
movss dword [rbp - 0x1c], xmm1
movss xmm0, dword [rsi + 8]
comiss xmm0, dword [rbp - 0x18]
ja 0x18002faa0
movss dword [rbp - 0x18], xmm0
movss xmm0, dword [rsi + 0xc]
comiss xmm0, dword [rbp - 0x14]
ja 0x18002fab0
movss dword [rbp - 0x14], xmm0
test rsi, rsi
setne al
movaps xmm0, xmm7
mov byte [rsp + 0x48], al
movaps xmm2, xmm6
mov rax, qword [rbp - 0x58]
mov rdx, rdi
movss dword [rsp + 0x40], xmm12
mov rcx, r14
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x20]
unpcklps xmm0, xmm8
mov qword [rsp + 0x28], rax
movq r9, xmm0
mov dword [rsp + 0x20], r12d
call fcn.180024c20
mov r14, qword [rsp + 0x58]
cmp byte [rsp + 0x50], 0
je 0x18002fc42
movss xmm0, dword [r13 + 0x18]
addss xmm0, dword [r14 + 0xe70]
movss dword [r14 + 0xe70], xmm0
cmp byte [r13 + 0xca], 0
je 0x18002fb53
comiss xmm12, xmm0
jae 0x18002fb53
movss xmm1, dword [0x180042b68]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x180042b54]
comiss xmm1, xmm0
jae 0x18002fb53
xor al, al
jmp 0x18002fb55
xorps xmm12, xmm12
jmp 0x18002fafc
mov al, 1
movss xmm8, dword [rsp + 0x7c]
addss xmm14, xmm10
movss xmm7, dword [0x180042b60]
movaps xmm6, xmm8
addss xmm6, xmm11
movss xmm11, dword [rsp + 0x70]
subss xmm14, xmm9
subss xmm6, xmm12
movss dword [rbp - 0x20], xmm14
movaps xmm2, xmm14
addss xmm2, xmm7
movaps xmm0, xmm6
movaps xmm1, xmm6
subss xmm0, dword [r13 + 0x1910]
subss xmm1, dword [0x180042b78]
movss dword [rbp - 0x18], xmm2
addss xmm0, dword [0x180042b34]
movss dword [rbp - 0x14], xmm1
movss dword [rbp - 0x1c], xmm0
test al, al
je 0x18002fc19
comiss xmm1, xmm11
jbe 0x18002fc19
comiss xmm15, xmm0
jbe 0x18002fc19
comiss xmm2, dword [rbp - 0x44]
jbe 0x18002fc19
movss xmm0, dword [rbp + 0x60]
comiss xmm0, xmm14
jbe 0x18002fc19
movss dword [rsp + 0x6c], xmm1
xor ecx, ecx
movaps xmm1, xmm7
movss dword [rsp + 0x68], xmm14
call fcn.180002de0
mov r9d, eax
movss dword [rsp + 0x20], xmm7
mov rax, qword [rbp - 0x78]
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x20]
mov rcx, qword [rax + 0x2a8]
call fcn.180020190
cmp byte [rsp + 0x60], 0
jne 0x18002fc5e
subss xmm6, dword [r13 + 0x1910]
subss xmm14, xmm7
movss dword [r13 + 0x2ee8], xmm6
movss dword [r13 + 0x2ee4], xmm14
jmp 0x18002fc5e
movss xmm8, dword [rsp + 0x7c]
movss xmm7, dword [0x180042b60]
movss xmm11, dword [rsp + 0x70]
jmp 0x18002fc5e
xorps xmm12, xmm12
cmp byte [rsp + 0x74], 0
je 0x18002fca0
movss xmm0, dword [rbp - 0x6c]
lea rcx, [rbp - 0x78]
addss xmm0, xmm12
movss dword [rbp - 0x78], xmm0
movss xmm0, dword [rbp - 0x60]
addss xmm0, dword [r13 + 0x1910]
movss dword [rbp - 0x74], xmm0
call fcn.180029af0
call fcn.180008f60
call fcn.18000ef70
jmp 0x18002fca0
xorps xmm12, xmm12
mov eax, dword [rbp - 0x48]
test al, al
je 0x18002fcaf
call fcn.18000e7f0
mov eax, dword [rbp - 0x48]
cmp byte [r13 + 0x2f30], 0
je 0x18002fe04
test al, al
jne 0x18002fe04
mov rsi, qword [0x18006f0e8]
mov rdx, qword [rbp - 0x58]
mov r14, qword [rsi + 0x1a18]
test r15, r15
jne 0x18002fd03
mov r15, rdx
cmp rdx, 0xffffffffffffffff
jae 0x18002fd03
movzx ecx, byte [r15]
test cl, cl
je 0x18002fd03
lea rax, [r15 + 1]
cmp cl, 0x23
jne 0x18002fcfa
cmp byte [rax], cl
je 0x18002fd03
mov r15, rax
cmp rax, 0xffffffffffffffff
jb 0x18002fce5
movss xmm0, dword [rsi + 0x2f50]
addss xmm0, xmm7
movss dword [rsi + 0x2f50], xmm8
comiss xmm8, xmm0
jbe 0x18002fd2a
mov r12b, 1
mov byte [rsi + 0x2f54], r12b
jmp 0x18002fd2d
xor r12b, r12b
mov ecx, dword [rsi + 0x2f58]
mov rbx, rdx
mov eax, dword [r14 + 0x108]
cmp ecx, eax
jle 0x18002fd49
mov dword [rsi + 0x2f58], eax
mov ecx, eax
mov r14d, dword [r14 + 0x108]
sub r14d, ecx
nop dword [rax]
nop word [rax + rax]
mov r8, r15
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
mov rdi, r15
cmovne rdi, rax
cmp rdi, r15
jne 0x18002fd87
cmp rbx, rdi
je 0x18002fdf3
mov r9d, edi
sub r9d, ebx
test r12b, r12b
jne 0x18002fdbe
cmp rbx, qword [rbp - 0x58]
jne 0x18002fdbe
cmp byte [rsi + 0x2f54], r12b
je 0x18002fdaa
lea rcx, str._s_.s
jmp 0x18002fdc5
mov r8, rbx
lea rcx, str.__.s
mov edx, r9d
call fcn.180013fa0
jmp 0x18002fdde
lea rcx, str._r_n_s_.s
lea r8, [0x1800398ca]
mov qword [rsp + 0x20], rbx
lea edx, [r14*4]
call fcn.180013fa0
mov byte [rsi + 0x2f54], 0
cmp rdi, r15
je 0x18002fe04
lea rbx, [rdi + 1]
jmp 0x18002fd60
test r12b, r12b
je 0x18002fe04
lea rcx, [0x18003bfb8]
call fcn.180013fa0
movss xmm0, dword [rbp - 0x38]
comiss xmm0, xmm12
jbe 0x18002fe3e
movss xmm0, dword [rbp - 0x3c]
mov r9b, 1
addss xmm0, dword [r13 + 0x15a8]
addss xmm11, dword [r13 + 0x1594]
mov rdx, qword [rbp - 0x28]
xor r8d, r8d
unpcklps xmm0, xmm11
movq rcx, xmm0
call fcn.180003130
movzx edi, byte [rsp + 0x78]
mov r13, qword [rsp + 0x278]
mov esi, dword [rbp + 0x198]
test dil, dil
je 0x18002feac
bt esi, 0x15
jb 0x18002feac
mov rbx, qword [0x18006f0e8]
mov eax, dword [rbx + 0x1a60]
cmp eax, dword [rbp - 0x68]
je 0x18002fe95
test eax, eax
je 0x18002fe95
cmp byte [rbx + 0x1e94], 0
jne 0x18002fe95
mov r8d, 0xae8
lea rdx, [0x1800397d0]
lea rcx, str.g.ActiveId__id__g.ActiveId__0__g.DragDropActive
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rbx + 0x1a18]
mov word [rbx + 0x1a6f], 0x101
or dword [rax + 0x114], 4
movzx ecx, byte [rsp + 0x52]
test sil, 0x20
mov eax, edi
cmovne eax, ecx
jmp 0x18002cd8b