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

Disassembly:
push 8
push 0x178
mov eax, 0x100f4074
call fcn.100e36f0
mov dword [ebp - 0xc8], ecx
mov edx, dword [0x101d36fc]
xor ecx, ecx
inc ecx
mov eax, dword [edx + 0x3e28]
mov byte [eax + 0x90], cl
mov edi, dword [edx + 0x3e28]
mov dword [ebp - 0x54], edi
cmp byte [edi + 0x93], 0
jne 0x100c31c6
cmp dword [ebx + 8], 0
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
je 0x100c2f32
cmp dword [ebx + 0xc], 0
jge 0x100c2f46
push 0xf6a
push 0x10134310
push str.buf___0__buf_size___0
call esi
add esp, 0xc
mov ecx, dword [ebx + 0x14]
mov edx, 0x4000080
mov eax, ecx
and eax, edx
cmp eax, edx
jne 0x100c2f6d
push 0xf6b
push 0x10134310
push str.___flags__ImGuiInputTextFlags_CallbackHistory____flags__ImGuiInputTextFlags_Multiline__
call esi
mov ecx, dword [ebx + 0x14]
add esp, 0xc
mov edx, 0x440
mov eax, ecx
and eax, edx
cmp eax, edx
jne 0x100c2f91
push 0xf6c
push 0x10134310
push str.___flags__ImGuiInputTextFlags_CallbackCompletion____flags__ImGuiInputTextFlags_AllowTabInput__
call esi
mov ecx, dword [ebx + 0x14]
add esp, 0xc
xor edx, edx
mov esi, dword [0x101d36fc]
inc edx
mov dword [ebp - 0x44], esi
mov eax, ecx
shr eax, 0x1a
and al, dl
mov dword [ebp - 0x28], eax
mov eax, ecx
shr eax, 0xe
and al, dl
mov dword [ebp - 0x3c], eax
mov eax, ecx
shr eax, 0xf
and al, dl
mov dword [ebp - 0xb0], eax
mov eax, ecx
shr eax, 0x10
not al
and al, dl
mov dword [ebp - 0x4c], eax
mov eax, ecx
shr eax, 0x12
and al, dl
mov dword [ebp - 0x60], eax
je 0x100c2fee
push 0xf79
push 0x10134310
push str.callback___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp byte [ebp - 0x28], 0
je 0x100c2ff9
call fcn.100a293d
push ecx
push dword [ebp - 0xc8]
mov ecx, edi
call fcn.1009815f
movss xmm0, dword [0x101376fc]
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x18], eax
xor eax, eax
push ecx
inc eax
mov dword [esp], 0xbf800000
push eax
push 0
lea ecx, [ebp - 0xe8]
movss dword [ebp - 0xcc], xmm0
call fcn.1009b6a9
add esp, 0xc
cmp byte [ebp - 0x28], 0
je 0x100c3054
movss xmm0, dword [esi + 0x3bb4]
mulss xmm0, dword [0x101375b8]
jmp 0x100c305c
movss xmm0, dword [ebp - 0xe4]
movss xmm2, dword [esi + 0x37d8]
addss xmm2, xmm2
addss xmm2, xmm0
call fcn.100a2769
mov eax, dword [ebx + 0x10]
lea ecx, [ebp - 0x68]
movaps xmm1, xmm0
push dword [eax + 4]
push dword [eax]
call fcn.100a27ce
movss xmm1, dword [ebp - 0xe8]
xorps xmm0, xmm0
comiss xmm1, xmm0
pop ecx
pop ecx
jbe 0x100c30a0
addss xmm1, dword [esi + 0x37ec]
jmp 0x100c30a3
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x64]
lea ecx, [ebp - 0x184]
addss xmm0, dword [edi + 0xd8]
movss xmm2, dword [ebp - 0x68]
mov eax, dword [edi + 0xd8]
addss xmm1, xmm2
mov edx, dword [edi + 0xd4]
movaps xmm3, xmm2
addss xmm3, dword [edi + 0xd4]
movss dword [ebp - 0xa0], xmm0
mov dword [ebp - 0xa8], eax
movss xmm0, dword [ebp - 0xa8]
addss xmm0, dword [ebp - 0x64]
mov dword [ebp - 0xac], edx
addss xmm1, dword [ebp - 0xac]
movss dword [ebp - 0x90], xmm2
movss dword [ebp - 0xb4], xmm3
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x48], eax
movss dword [ebp - 0xa4], xmm3
movss dword [ebp - 0x2c], xmm1
movss dword [ebp - 0x50], xmm0
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], eax
movss dword [ebp - 0xbc], xmm1
movss dword [ebp - 0xb8], xmm0
mov dword [ebp - 0x58], edi
call fcn.10093e23
cmp byte [ebp - 0x28], 0
lea ecx, [ebp - 0x80]
movss xmm1, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x2c]
subss xmm1, dword [ebp - 0xc0]
subss xmm0, dword [ebp - 0xc4]
movss dword [ebp - 0x7c], xmm1
movss xmm1, dword [esi + 0x37d8]
movss dword [ebp - 0x80], xmm0
je 0x100c332c
mov eax, dword [edi + 0xd4]
mov dword [ebp - 0x88], eax
mov eax, dword [edi + 0xd8]
mov dword [ebp - 0xb4], eax
call fcn.100a2370
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0xac]
push 0x400
push eax
lea ecx, [ebp - 0xc4]
call fcn.100a24c4
pop ecx
pop ecx
test al, al
jne 0x100c31ce
call fcn.100a2a4a
xor al, al
call fcn.100e366d
ret
mov eax, dword [esi + 0x4690]
lea edi, [ebp - 0x184]
push 0xf
pop ecx
add esi, 0x4688
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x88]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x44]
push 3
mov dword [ecx + 0xd4], eax
mov eax, dword [ebp - 0xb4]
lea edx, [esi + 0x38d0]
mov dword [ecx + 0xd8], eax
pop ecx
call fcn.10096ec6
movss xmm1, dword [esi + 0x37dc]
push 7
pop ecx
call fcn.10096fca
movss xmm1, dword [esi + 0x37e0]
push 8
pop ecx
call fcn.10096fca
and dword [ebp - 0x80], 0
lea edx, [ebp - 0x80]
and dword [ebp - 0x7c], 0
push 2
pop eax
mov ecx, eax
call fcn.10097040
movss xmm1, dword [ebp - 0xa4]
lea eax, [ebp - 0x80]
movss xmm0, dword [ebp - 0xa0]
subss xmm0, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x18]
movss dword [ebp - 0xb4], xmm1
subss xmm1, dword [ebp - 0xac]
push 4
push ecx
mov ecx, dword [ebp - 0xc8]
push eax
movss dword [ebp - 0x80], xmm1
movss dword [ebp - 0x7c], xmm0
call fcn.1009ba1d
add esp, 0xc
mov byte [ebp - 0x34], al
push 3
pop ecx
call fcn.100970cc
call fcn.10096f0e
cmp byte [ebp - 0x34], 0
jne 0x100c32b3
call fcn.1009bc08
jmp 0x100c31c1
mov edx, dword [esi + 0x3e28]
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x74], edi
movsx ecx, word [edx + 0x132]
mov eax, dword [edx + 0x12c]
bts ecx, eax
mov eax, dword [ebp - 0xa8]
mov word [edx + 0x132], cx
movss xmm0, dword [esi + 0x37d4]
addss xmm0, dword [edx + 0xd4]
mov dword [ebp - 0x48], eax
movss dword [edx + 0xd4], xmm0
movss xmm0, dword [esi + 0x37d8]
addss xmm0, dword [edx + 0xd8]
movss dword [edx + 0xd8], xmm0
movss xmm0, dword [ebp - 0x68]
subss xmm0, dword [edx + 0x84]
movss dword [ebp - 0x90], xmm0
jmp 0x100c3389
call fcn.100a2370
test dword [ebx + 0x14], 0x10000000
jne 0x100c3380
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0xac]
push 0x400
push eax
lea ecx, [ebp - 0xc4]
call fcn.100a24c4
pop ecx
pop ecx
test al, al
je 0x100c31c6
mov eax, dword [ebp - 0xa8]
movss xmm1, dword [ebp - 0xa4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xac]
movss dword [ebp - 0xb4], xmm1
mov dword [ebp - 0x74], eax
mov eax, dword [esi + 0x4690]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0xac]
call fcn.1009872c
mov cl, al
mov byte [ebp - 0x3d], cl
test cl, cl
je 0x100c33a9
xor eax, eax
inc eax
mov dword [esi + 0x4918], eax
mov edx, dword [ebp - 0x18]
test edx, edx
je 0x100c33c3
mov edi, dword [0x101d36fc]
add edi, 0x4a5c
mov dword [ebp - 0x78], edi
cmp dword [edi], edx
je 0x100c33c8
xor edi, edi
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x38]
shr eax, 8
and al, 1
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x3e60]
cmp eax, edx
je 0x100c3400
cmp dword [esi + 0x47ac], edx
je 0x100c33f8
cmp dword [esi + 0x47a0], edx
jne 0x100c3400
push 2
pop edx
cmp dword [esi + 0x47c8], edx
jne 0x100c3400
xor edx, edx
inc edx
mov byte [ebp - 0x19], dl
jmp 0x100c3407
xor edx, edx
mov byte [ebp - 0x19], 0
inc edx
test cl, cl
je 0x100c3417
cmp byte [esi + 0x36f8], 0
mov byte [ebp - 0x13], dl
jne 0x100c341b
mov byte [ebp - 0x13], 0
cmp byte [ebp - 0x28], 0
je 0x100c3447
test edi, edi
je 0x100c3447
test eax, eax
jne 0x100c3447
push ecx
mov ecx, dword [ebp - 0x58]
push str.SCROLLY
call fcn.1009815f
cmp dword [esi + 0x3e88], eax
jne 0x100c3447
xor eax, eax
inc eax
mov byte [ebp - 0x14], al
jmp 0x100c345a
mov eax, dword [ebp - 0x28]
xor edx, edx
mov byte [ebp - 0x14], dl
test al, al
je 0x100c3488
mov byte [ebp - 0x14], dl
test edi, edi
je 0x100c3488
push ecx
mov ecx, dword [ebp - 0x58]
push str.SCROLLY
call fcn.1009815f
cmp dword [esi + 0x3e60], eax
jne 0x100c3483
xor eax, eax
mov byte [ebp - 0x21], al
mov byte [ebp - 0x20], al
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x11], cl
jmp 0x100c3497
mov eax, dword [ebp - 0x28]
xor edx, edx
mov byte [ebp - 0x21], dl
mov cl, dl
mov byte [ebp - 0x20], dl
mov byte [ebp - 0x11], cl
test al, al
je 0x100c34a3
mov edx, dword [ebp - 0x58]
movss xmm0, dword [edx + 0x60]
xor edx, edx
jmp 0x100c34b0
movss xmm0, dword [0x101376d0]
mov cl, dl
mov byte [ebp - 0x11], cl
movss dword [ebp - 0x94], xmm0
test edi, edi
je 0x100c34cb
xor al, 1
cmp byte [edi + 0x53], al
je 0x100c34cb
xor eax, eax
inc eax
mov byte [ebp - 0x33], al
jmp 0x100c34d0
mov al, dl
mov byte [ebp - 0x33], dl
cmp byte [ebp - 0x13], 0
jne 0x100c34f4
cmp byte [ebp - 0x14], 0
jne 0x100c34f4
cmp byte [ebp - 0x19], 0
jne 0x100c34f4
cmp byte [ebp - 0x38], 0
jne 0x100c34f4
mov byte [ebp - 0x12], dl
test cl, cl
jne 0x100c34fc
mov byte [ebp - 0x32], dl
jmp 0x100c350d
xor ecx, ecx
inc ecx
mov byte [ebp - 0x12], cl
jmp 0x100c34ff
xor ecx, ecx
inc ecx
mov byte [ebp - 0x32], cl
mov ecx, dword [ebp - 0x18]
cmp dword [esi + 0x3e60], ecx
jne 0x100c3515
test al, al
je 0x100c36b3
mov edx, dword [ebx + 8]
lea edi, [esi + 0x4a5c]
mov dword [ebp - 0x78], edi
mov dword [edi + 0xe68], 0xbe99999a
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x100c352e
sub edx, ecx
lea ecx, [edi + 0x24]
mov dword [ebp - 0x88], edx
lea esi, [edx + 1]
push esi
call fcn.100aaedf
push esi
push dword [ebx + 8]
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [ebp - 0x18]
add esp, 0xc
cmp dword [edi], esi
jne 0x100c3590
cmp byte [ebp - 0x33], 0
jne 0x100c3590
xor eax, eax
inc eax
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x88]
cmp dword [edi + 8], eax
jne 0x100c3590
cmp byte [edi + 0x30], 0
je 0x100c3594
push eax
push dword [ebx + 8]
push dword [edi + 0x20]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x100c3594
mov byte [ebp - 0x14], 0
mov eax, dword [ebx + 0xc]
lea ecx, [edi + 0xc]
and dword [ebp - 0x2c], 0
inc eax
push eax
mov dword [edi], esi
call fcn.1001efb5
lea ecx, [edi + 0x18]
push 0
call fcn.100aaedf
mov esi, dword [ebx + 8]
lea eax, [ebp - 0x2c]
mov edx, dword [ebx + 0xc]
mov ecx, dword [edi + 0x14]
push eax
push 0
push esi
mov byte [edi + 0x30], 0
call fcn.100966aa
mov ecx, dword [ebp - 0x2c]
add esp, 0xc
sub ecx, esi
mov edx, eax
mov dword [edi + 8], ecx
mov cl, byte [ebp - 0x14]
mov dword [edi + 4], edx
test cl, cl
je 0x100c3600
cmp dword [edi + 0x3c], edx
cmovl eax, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], eax
mov eax, edx
cmovl eax, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 0x40], eax
cmovl edx, dword [edi + 0x44]
jmp 0x100c364c
and dword [edi + 0x38], 0
xor eax, eax
mov word [edi + 0xe5a], ax
xor edx, edx
and dword [edi + 0x58], edx
push 0x63
pop eax
mov word [edi + 0xe5c], ax
xor eax, eax
inc eax
mov dword [edi + 0xe60], edx
mov byte [edi + 0x51], al
mov al, byte [ebp - 0x28]
xor al, 1
mov dword [edi + 0xe64], 0x3e7
mov dword [edi + 0x40], edx
mov dword [edi + 0x3c], edx
mov byte [edi + 0x52], dl
mov byte [edi + 0x50], dl
mov byte [edi + 0x53], al
mov byte [edi + 0x48], dl
mov dword [edi + 0x4c], edx
cmp byte [ebp - 0x28], 0
mov dword [edi + 0x44], edx
jne 0x100c36a1
mov edx, dword [ebp - 0x20]
test byte [ebx + 0x14], 0x10
push 1
pop eax
movzx edx, dl
cmovne edx, eax
cmp byte [ebp - 0x19], 0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x20], edx
je 0x100c3684
test cl, cl
je 0x100c367e
test byte [eax + 0x47b0], 4
jne 0x100c3684
xor ecx, ecx
inc ecx
mov byte [ebp - 0x20], cl
cmp byte [ebp - 0x38], 0
jne 0x100c3699
cmp byte [ebp - 0x13], 0
je 0x100c36a1
cmp byte [eax + 0xdd0], 0
je 0x100c36a1
xor eax, eax
inc eax
mov byte [ebp - 0x20], al
jmp 0x100c36a4
xor eax, eax
inc eax
test dword [ebx + 0x14], 0x2000
mov esi, dword [ebp - 0x44]
je 0x100c36b3
mov byte [edi + 0x48], al
mov ecx, dword [ebp - 0x18]
cmp dword [esi + 0x3e60], ecx
je 0x100c3711
cmp byte [ebp - 0x12], 0
je 0x100c3705
test edi, edi
je 0x100c36cc
cmp dword [edi], ecx
je 0x100c36e7
push 0xfff
push 0x10134310
push str.state__state__ID__id
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov edx, dword [ebp - 0x54]
call fcn.1009839a
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x18]
call fcn.100a4241
mov ecx, dword [ebp - 0x54]
call fcn.100a037f
mov ecx, dword [ebp - 0x18]
cmp dword [esi + 0x3e60], ecx
jne 0x100c37fb
cmp byte [ebp - 0x13], 0
je 0x100c3728
push ecx
mov edx, ecx
mov ecx, 0x281
call fcn.100a1e0d
pop ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [esi + 0x465c]
or eax, 3
cmp byte [ebp - 0x28], 0
mov dword [esi + 0x465c], eax
jne 0x100c3743
test byte [ebx + 0x14], 0x80
je 0x100c374c
or eax, 0xc
mov dword [esi + 0x465c], eax
push ecx
mov edx, ecx
mov ecx, 0x20e
call fcn.100a1e0d
mov edx, dword [ebp - 0x18]
mov ecx, 0x26c
call fcn.100a1e0d
mov edx, dword [ebp - 0x18]
mov ecx, 0x207
call fcn.100a1e0d
mov edx, dword [ebp - 0x18]
mov ecx, 0x208
call fcn.100a1e0d
cmp byte [ebp - 0x28], 0
pop ecx
je 0x100c37a3
mov edx, dword [ebp - 0x18]
push ecx
mov ecx, 0x205
call fcn.100a1e0d
mov edx, dword [ebp - 0x18]
mov ecx, 0x206
call fcn.100a1e0d
pop ecx
test dword [ebx + 0x14], 0x440
je 0x100c37bb
mov edx, dword [ebp - 0x18]
push ecx
mov ecx, 0x200
call fcn.100a1e0d
pop ecx
mov ecx, dword [ebp - 0x18]
cmp dword [esi + 0x3e60], ecx
jne 0x100c37fb
test edi, edi
jne 0x100c37d6
xor edx, edx
xor ecx, ecx
call fcn.1009839a
mov ecx, dword [ebp - 0x18]
cmp dword [esi + 0x3e60], ecx
jne 0x100c37fb
xor eax, eax
inc eax
cmp byte [esi + 0x36f8], 0
je 0x100c3808
cmp byte [ebp - 0x32], 0
jne 0x100c3808
cmp byte [ebp - 0x12], 0
jne 0x100c3808
mov byte [ebp - 0x21], al
jmp 0x100c3808
test edi, edi
je 0x100c380c
cmp byte [ebp - 0x11], 0
je 0x100c380c
xor eax, eax
inc eax
mov dl, al
jmp 0x100c380e
xor dl, dl
mov byte [ebp - 0x11], dl
test edi, edi
je 0x100c382e
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100c3823
cmp byte [ebp - 0x20], 0
je 0x100c382e
test dl, dl
je 0x100c382e
xor eax, eax
lea edx, [eax + 1]
jmp 0x100c3830
xor dl, dl
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edx
mov byte [ebp - 0x34], dl
mov byte [ebp - 0x32], 0
mov byte [ebp - 0x33], 0
test al, al
je 0x100c38c3
test edi, edi
je 0x100c38c3
cmp byte [ebp - 0x11], 0
jne 0x100c3853
test dl, dl
je 0x100c38cd
mov eax, dword [ebx + 0xc]
lea ecx, [edi + 0xc]
and dword [ebp - 0x2c], 0
inc eax
push eax
call fcn.1001efb5
mov edx, dword [edi + 0xc]
lea eax, [ebp - 0x2c]
mov ecx, dword [edi + 0x14]
push eax
push 0
push dword [ebx + 8]
call fcn.100966aa
mov ecx, dword [ebp - 0x2c]
mov edx, eax
sub ecx, dword [ebx + 8]
add esp, 0xc
cmp dword [edi + 0x3c], edx
movzx eax, byte [ebp - 0x34]
mov esi, dword [ebp - 0x44]
mov dword [edi + 8], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 4], edx
cmovl edx, dword [edi + 0x44]
cmp ecx, edx
mov dword [edi + 0x44], edx
push 0
pop edx
cmovne edx, eax
mov dword [edi + 0x40], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edx
cmp byte [ebp - 0x11], 0
jne 0x100c38d5
test dl, dl
jne 0x100c38d5
cmp dword [esi + 0x3e60], ecx
jne 0x100c38ea
test al, al
jne 0x100c38ea
test edi, edi
je 0x100c38ea
cmp byte [edi + 0x30], al
je 0x100c38ea
xor eax, eax
inc eax
mov byte [ebp - 0x34], al
jmp 0x100c38ee
mov byte [ebp - 0x34], 0
cmp byte [ebp - 0xb0], 0
je 0x100c3988
mov ecx, dword [esi + 0x3bb0]
push 0x2a
call fcn.100b924e
mov ecx, dword [ecx + 0x10]
mov edx, eax
lea eax, [esi + 0x58d0]
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x3bb0]
mov ecx, dword [ecx + 0x44]
mov dword [eax + 0x44], ecx
mov ecx, dword [esi + 0x3bb0]
mov ecx, dword [ecx + 0x48]
mov dword [eax + 0x48], ecx
lea ecx, [esi + 0x58d0]
mov eax, dword [esi + 0x3bb0]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [esi + 0x3bb0]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x2c], edx
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
xor eax, eax
cmp dword [ecx + 0x20], eax
jne 0x100c3965
cmp dword [ecx], eax
jne 0x100c3965
cmp dword [ecx + 0x14], eax
je 0x100c3983
push 0x1045
push 0x10134310
push str.password_font__Glyphs.empty____password_font__IndexAdvanceX.empty____password_font__IndexLookup.empty__
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
lea ecx, [esi + 0x58d0]
call fcn.100a05cf
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xe0], 0xa
cmp dword [esi + 0x3e60], eax
jne 0x100c3d0d
test edi, edi
jne 0x100c39c4
push 0x104d
push 0x10134310
push str.state___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov eax, dword [edi + 8]
mov ecx, dword [ebx + 0x14]
mov byte [edi + 0xe6e], 0
mov dword [edi + 0xe70], ecx
mov dword [ebp - 0x88], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x34], eax
cmp byte [esi + 0xdc0], 0
sete al
xor edx, edx
inc edx
mov byte [esi + 0x3e6d], al
cmp byte [ebp - 0x28], 0
mov dword [esi + 0x5bac], edx
movss xmm2, dword [esi + 0xdb8]
subss xmm2, dword [ebp - 0xac]
subss xmm2, dword [esi + 0x37d4]
addss xmm2, dword [edi + 0x38]
je 0x100c3a34
mov eax, dword [ebp - 0x58]
movss xmm3, dword [esi + 0xdbc]
subss xmm3, dword [eax + 0xd8]
jmp 0x100c3a44
movss xmm3, dword [esi + 0x3bb4]
mulss xmm3, dword [0x10137414]
cmp byte [ebp - 0x20], 0
mov al, byte [esi + 0x61]
mov byte [ebp - 0x13], al
je 0x100c3a6f
mov eax, dword [edi + 4]
and dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov al, byte [ebp - 0x13]
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6d], dl
jmp 0x100c3c02
mov cl, byte [ebp - 0x3d]
test cl, cl
je 0x100c3b76
push 2
pop edi
cmp word [esi + 0x3702], di
mov edi, dword [ebp - 0x78]
jb 0x100c3b76
cmp byte [esi + 0xdd1], 0
jne 0x100c3b76
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c17c9
movzx eax, word [esi + 0x3702]
mov edx, dword [edi + 0x3c]
push 2
pop ecx
sub eax, ecx
xor ecx, ecx
inc ecx
test cl, al
jne 0x100c3b1c
test edx, edx
je 0x100c3ad2
dec edx
mov ecx, edi
call fcn.100c120c
push 0xa
pop ecx
cmp ax, cx
je 0x100c3ad2
xor cl, cl
jmp 0x100c3ad7
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100c3ae3
test cl, cl
jne 0x100c3af0
mov eax, 0x20000c
mov ecx, edi
push eax
call fcn.100c29d2
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100c3b00
lea ecx, [edi + 0x3c]
call fcn.100c1aad
lea esi, [edi + 0x3c]
mov ecx, edi
mov edx, dword [esi]
call fcn.100c141a
mov edx, esi
mov dword [esi], eax
mov ecx, edi
mov dword [edi + 0x44], eax
call fcn.100c1982
jmp 0x100c3b6e
mov ecx, edi
call fcn.100c120c
push 0x200004
mov ecx, edi
mov si, ax
call fcn.100c29d2
push 0x600005
mov ecx, edi
call fcn.100c29d2
push 0x600001
mov ecx, edi
call fcn.100c29d2
push 0xa
pop eax
cmp si, ax
je 0x100c3b67
cmp byte [ebp - 0x28], 0
je 0x100c3b67
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x44]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov byte [edi + 0xe6c], 0
mov esi, dword [ebp - 0x44]
xor edx, edx
inc edx
jmp 0x100c3bf2
cmp byte [esi + 0x36f8], 0
je 0x100c3ba8
cmp byte [edi + 0xe6d], 0
jne 0x100c3ba8
test cl, cl
je 0x100c3bff
cmp byte [esi + 0xdd1], 0
lea edx, [edi + 0x3c]
mov ecx, edi
je 0x100c3ba1
call fcn.100c180d
jmp 0x100c3b71
call fcn.100c17c9
jmp 0x100c3b71
cmp byte [esi + 0xdc0], 0
je 0x100c3bff
cmp byte [edi + 0xe6d], 0
jne 0x100c3bff
movss xmm0, dword [esi + 0xb4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100c3bdf
movss xmm0, dword [esi + 0xb8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100c3bff
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c180d
xor edx, edx
inc edx
mov byte [edi + 0xe6c], dl
mov al, byte [ebp - 0x13]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [ebx + 0x14]
cmp byte [edi + 0xe6d], 0
je 0x100c3c1b
cmp byte [esi + 0xdc0], 0
jne 0x100c3c1b
mov byte [edi + 0xe6d], 0
cmp byte [esi + 0xdd0], 0
je 0x100c3c2d
cmp byte [esi + 0xdd2], 0
je 0x100c3c3a
test al, al
je 0x100c3c3f
cmp byte [esi + 0xdd3], 0
je 0x100c3c3f
mov byte [ebp - 0x12], dl
jmp 0x100c3c43
mov byte [ebp - 0x12], 0
test ecx, 0x400
je 0x100c3c9c
push edx
xor edx, edx
mov ecx, 0x200
call fcn.100a13d9
mov edx, dword [ebp - 0x3c]
test al, al
mov al, byte [ebp - 0x12]
pop ecx
je 0x100c3ca2
test al, al
jne 0x100c3ca2
cmp byte [esi + 0xdd1], al
jne 0x100c3ca2
test dl, dl
jne 0x100c3ca2
mov edx, dword [ebx + 0x14]
push 2
pop eax
push eax
push ecx
push ecx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], 9
call fcn.100c2bd5
add esp, 0xc
test al, al
je 0x100c3c9c
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.100c29d2
mov edx, dword [ebp - 0x3c]
mov al, byte [ebp - 0x12]
lea ecx, [esi + 0x3770]
cmp dword [ecx], 0
mov dword [ebp - 0x50], ecx
jle 0x100c3d0a
test al, al
jne 0x100c3cfd
test dl, dl
jne 0x100c3cfd
cmp byte [ebp - 0x19], dl
jne 0x100c3cfd
xor esi, esi
push esi
call fcn.100ab030
movzx eax, word [eax]
mov dword [ebp - 0x2c], eax
cmp eax, 9
je 0x100c3cf2
mov edx, dword [ebx + 0x14]
push 2
pop eax
push eax
push ecx
push ecx
lea ecx, [ebp - 0x2c]
call fcn.100c2bd5
add esp, 0xc
test al, al
je 0x100c3cf2
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.100c29d2
mov ecx, dword [ebp - 0x50]
inc esi
cmp esi, dword [ecx]
jl 0x100c3cbf
mov esi, dword [ebp - 0x44]
lea ecx, [esi + 0x3770]
push 0
call fcn.1001efb5
mov eax, dword [ebp - 0x18]
mov byte [ebp - 0x14], 0
cmp dword [esi + 0x3e60], eax
jne 0x100c45c8
cmp byte [esi + 0x3e6c], 0
jne 0x100c45c8
cmp byte [ebp - 0x21], 0
jne 0x100c45c8
test edi, edi
jne 0x100c3d50
push 0x10bb
push 0x10134310
push str.state___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
movss xmm0, dword [ebp - 0x64]
xor edx, edx
subss xmm0, dword [esi + 0x37d8]
inc edx
mov ecx, edx
divss xmm0, dword [esi + 0x3bb4]
cvttss2si eax, xmm0
cmp eax, edx
cmovge ecx, eax
xor eax, eax
mov dword [edi + 0x4c], ecx
cmp byte [esi + 0xdd1], al
mov dword [ebp - 0x2c], ecx
mov ecx, 0x400000
cmovne eax, ecx
mov dword [ebp - 0x20], eax
mov al, byte [esi + 0x61]
mov byte [ebp - 0x69], al
test al, al
je 0x100c3dc3
cmp byte [esi + 0xdd3], 0
mov al, byte [esi + 0xdd2]
mov byte [ebp - 0x12], al
je 0x100c3dcc
cmp byte [esi + 0xdd0], 0
mov byte [ebp - 0x12], al
jne 0x100c3dcc
mov byte [ebp - 0x12], al
test al, al
jne 0x100c3dcc
mov byte [ebp - 0x13], dl
mov byte [ebp - 0x12], al
jmp 0x100c3dd0
mov al, byte [esi + 0xdd0]
mov byte [ebp - 0x12], al
mov byte [ebp - 0x13], 0
mov edx, dword [ebp - 0x18]
mov ecx, 0x1239
push 0x101
call fcn.100a1e4d
pop ecx
test al, al
jne 0x100c3dfe
mov edx, dword [ebp - 0x18]
mov ecx, 0x220a
push 0x101
call fcn.100a1e4d
pop ecx
test al, al
je 0x100c3e23
cmp byte [ebp - 0x3c], 0
jne 0x100c3e23
cmp byte [ebp - 0xb0], 0
jne 0x100c3e23
cmp byte [ebp - 0x28], 0
je 0x100c3e1b
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100c3e23
xor eax, eax
inc eax
mov byte [ebp - 0x19], al
jmp 0x100c3e27
mov byte [ebp - 0x19], 0
mov edx, dword [ebp - 0x18]
mov ecx, 0x1224
push 0x100
call fcn.100a1e4d
pop ecx
test al, al
jne 0x100c3e55
mov edx, dword [ebp - 0x18]
mov ecx, 0x1209
push 0x100
call fcn.100a1e4d
pop ecx
test al, al
je 0x100c3e74
cmp byte [ebp - 0xb0], 0
jne 0x100c3e74
cmp byte [ebp - 0x28], 0
je 0x100c3e6c
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100c3e74
xor eax, eax
inc eax
mov byte [ebp - 0x6d], al
jmp 0x100c3e78
mov byte [ebp - 0x6d], 0
mov edx, dword [ebp - 0x18]
mov ecx, 0x1237
push 0x101
call fcn.100a1e4d
pop ecx
test al, al
jne 0x100c3ea6
mov edx, dword [ebp - 0x18]
mov ecx, 0x2209
push 0x101
call fcn.100a1e4d
pop ecx
test al, al
je 0x100c3eb4
cmp byte [ebp - 0x3c], 0
jne 0x100c3eb4
xor eax, eax
inc eax
mov byte [ebp - 0x3d], al
jmp 0x100c3eb8
mov byte [ebp - 0x3d], 0
mov edx, dword [ebp - 0x18]
mov ecx, 0x123b
push 0x101
call fcn.100a1e4d
pop ecx
test al, al
je 0x100c3ee0
cmp byte [ebp - 0x3c], 0
jne 0x100c3ee0
cmp byte [ebp - 0x4c], 0
je 0x100c3ee0
xor eax, eax
inc eax
jmp 0x100c3ee2
xor al, al
mov edx, dword [ebp - 0x18]
mov ecx, 0x123a
push 0x101
mov byte [ebp - 0x6b], al
call fcn.100a1e4d
pop ecx
test al, al
jne 0x100c3f18
cmp byte [ebp - 0x69], al
je 0x100c3f2c
mov edx, dword [ebp - 0x18]
mov ecx, 0x323b
push 0x101
call fcn.100a1e4d
pop ecx
test al, al
je 0x100c3f2c
cmp byte [ebp - 0x3c], 0
jne 0x100c3f2c
cmp byte [ebp - 0x4c], 0
je 0x100c3f2c
xor eax, eax
inc eax
mov byte [ebp - 0x6c], al
jmp 0x100c3f30
mov byte [ebp - 0x6c], 0
mov edx, dword [ebp - 0x18]
mov ecx, 0x1222
push 0x100
call fcn.100a1e4d
mov byte [ebp - 0x59], al
xor eax, eax
inc eax
test byte [esi + 8], 2
pop ecx
je 0x100c3f57
mov byte [ebp - 0x31], al
test byte [esi + 0xc], al
jne 0x100c3f5b
mov byte [ebp - 0x31], 0
push eax
xor edx, edx
mov ecx, 0x20d
call fcn.100a13d9
pop ecx
test al, al
jne 0x100c3f87
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x267
push eax
call fcn.100a13d9
pop ecx
test al, al
jne 0x100c3f87
mov byte [ebp - 0x6a], al
jmp 0x100c3f8d
xor eax, eax
inc eax
mov byte [ebp - 0x6a], al
cmp byte [ebp - 0x31], 0
je 0x100c3fc1
push 0
xor edx, edx
mov ecx, 0x26e
call fcn.100a13d9
pop ecx
test al, al
jne 0x100c3fb9
push 0
xor edx, edx
mov ecx, 0x26d
call fcn.100a13d9
pop ecx
test al, al
je 0x100c3fc1
xor eax, eax
inc eax
mov byte [ebp - 0x22], al
jmp 0x100c3fc5
mov byte [ebp - 0x22], 0
mov edx, dword [ebp - 0x18]
mov ecx, 0x20e
push 0x101
call fcn.100a1e4d
pop ecx
test al, al
jne 0x100c3ffd
cmp byte [ebp - 0x31], al
je 0x100c3ff4
push 0
xor edx, edx
mov ecx, 0x26c
call fcn.100a13d9
pop ecx
test al, al
jne 0x100c3ffd
xor eax, eax
mov byte [ebp - 0x31], 0
inc eax
jmp 0x100c4003
xor eax, eax
inc eax
mov byte [ebp - 0x31], al
push eax
xor edx, edx
mov ecx, 0x201
call fcn.100a13d9
pop ecx
test al, al
je 0x100c4040
cmp byte [ebp - 0x12], 0
mov eax, 0x200000
lea ecx, [eax + 0xc]
cmovne eax, ecx
cmp byte [ebp - 0x13], 0
mov ecx, 0x200004
cmovne eax, ecx
or eax, dword [ebp - 0x20]
push eax
mov ecx, edi
call fcn.100c29d2
jmp 0x100c45aa
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x202
push eax
call fcn.100a13d9
pop ecx
test al, al
je 0x100c4070
cmp byte [ebp - 0x12], 0
mov eax, 0x200001
lea ecx, [eax + 0xc]
cmovne eax, ecx
lea edx, [ecx - 8]
cmp byte [ebp - 0x13], 0
cmovne eax, edx
jmp 0x100c4030
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x203
push eax
call fcn.100a13d9
pop ecx
test al, al
je 0x100c40d1
cmp byte [ebp - 0x28], 0
je 0x100c40d1
cmp byte [esi + 0xdd0], 0
je 0x100c40c1
mov eax, dword [ebp - 0x58]
movss xmm0, dword [eax + 0x60]
subss xmm0, dword [esi + 0x3bb4]
and dword [eax + 0x78], 0
and dword [eax + 0x80], 0
maxss xmm0, dword [0x10137364]
movss dword [eax + 0x70], xmm0
jmp 0x100c45aa
movzx eax, byte [ebp - 0x13]
lea eax, [eax*4 + 0x200002]
jmp 0x100c4030
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x204
push eax
call fcn.100a13d9
pop ecx
test al, al
je 0x100c413a
cmp byte [ebp - 0x28], 0
je 0x100c413a
cmp byte [esi + 0xdd0], 0
je 0x100c412a
mov ecx, dword [ebp - 0x58]
movss xmm0, dword [esi + 0x3bb4]
mov eax, dword [0x101d36fc]
addss xmm0, dword [ecx + 0x60]
mov eax, dword [eax + 0x3e28]
minss xmm0, dword [eax + 0x68]
and dword [ecx + 0x78], 0
and dword [ecx + 0x80], 0
movss dword [ecx + 0x70], xmm0
jmp 0x100c45aa
movzx eax, byte [ebp - 0x13]
lea eax, [eax*4 + 0x200003]
jmp 0x100c4030
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x205
push eax
call fcn.100a13d9
pop ecx
test al, al
je 0x100c418f
cmp byte [ebp - 0x28], 0
je 0x100c418f
mov ecx, dword [ebp - 0x20]
or ecx, 0x20000e
push ecx
mov ecx, edi
call fcn.100c29d2
movd xmm0, dword [ebp - 0x2c]
movss xmm1, dword [ebp - 0x94]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x3bb4]
subss xmm1, xmm0
movss dword [ebp - 0x94], xmm1
jmp 0x100c45aa
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x206
push eax
call fcn.100a13d9
pop ecx
test al, al
je 0x100c41e0
cmp byte [ebp - 0x28], 0
je 0x100c41e0
mov ecx, dword [ebp - 0x20]
or ecx, 0x20000f
push ecx
mov ecx, edi
call fcn.100c29d2
movd xmm0, dword [ebp - 0x2c]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x3bb4]
addss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0x94], xmm0
jmp 0x100c45aa
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x207
push eax
call fcn.100a13d9
pop ecx
test al, al
je 0x100c4209
cmp byte [esi + 0xdd0], 0
mov ecx, 0x200006
lea eax, [ecx - 2]
jmp 0x100c402d
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x208
push eax
call fcn.100a13d9
pop ecx
test al, al
je 0x100c4232
cmp byte [esi + 0xdd0], 0
mov eax, 0x200005
lea ecx, [eax + 2]
jmp 0x100c402d
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x20a
push eax
call fcn.100a13d9
pop ecx
test al, al
je 0x100c4262
cmp byte [ebp - 0x3c], 0
jne 0x100c4262
cmp byte [ebp - 0x19], 0
jne 0x100c4262
mov ecx, dword [ebp - 0x20]
or ecx, 0x200008
push ecx
jmp 0x100c4034
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x20b
push eax
call fcn.100a13d9
pop ecx
test al, al
je 0x100c42ca
cmp byte [ebp - 0x3c], 0
jne 0x100c42ca
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100c42bf
cmp byte [ebp - 0x12], 0
je 0x100c4292
push 0x60000c
jmp 0x100c42b8
cmp byte [ebp - 0x69], 0
je 0x100c42bf
cmp byte [esi + 0xdd3], 0
je 0x100c42bf
cmp byte [esi + 0xdd2], 0
jne 0x100c42bf
cmp byte [esi + 0xdd0], 0
jne 0x100c42bf
push 0x600004
mov ecx, edi
call fcn.100c29d2
mov ecx, dword [ebp - 0x20]
or ecx, 0x200009
jmp 0x100c425c
cmp byte [ebp - 0x6a], 0
mov cl, byte [ebp - 0x22]
jne 0x100c4531
test cl, cl
jne 0x100c4531
cmp byte [ebp - 0x31], cl
je 0x100c4320
test dword [ebx + 0x14], 0x100000
je 0x100c430b
mov eax, dword [edi + 8]
test eax, eax
jg 0x100c4302
mov byte [ebp - 0x30], cl
mov byte [ebp - 0x11], cl
xor ecx, ecx
inc ecx
test eax, eax
mov byte [ebp - 0x21], cl
setg byte [ebp - 0x14]
jmp 0x100c45aa
xor eax, eax
xor cl, cl
inc eax
xor dl, dl
mov byte [ebp - 0x14], al
mov byte [ebp - 0x21], al
mov byte [ebp - 0x11], dl
jmp 0x100c45b0
mov al, byte [ebp - 0x6b]
test al, al
jne 0x100c4511
cmp byte [ebp - 0x6c], al
jne 0x100c4511
cmp byte [ebp - 0x59], al
je 0x100c4358
mov eax, dword [edi + 4]
and dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
xor eax, eax
inc eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6c], al
jmp 0x100c45aa
mov al, byte [ebp - 0x19]
test al, al
jne 0x100c444c
cmp byte [ebp - 0x6d], al
jne 0x100c444c
cmp byte [ebp - 0x3d], al
je 0x100c45aa
mov eax, dword [0x101d36fc]
mov ecx, dword [eax + 0x80]
test ecx, ecx
je 0x100c439a
push dword [eax + 0x88]
call ecx
mov dword [ebp - 0x4c], eax
pop ecx
test eax, eax
je 0x100c45aa
jmp 0x100c43a2
mov eax, 0x100fa4b4
mov dword [ebp - 0x4c], eax
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c43a7
sub ecx, edx
lea ecx, [ecx*2 + 2]
call fcn.1009890b
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x54], ecx
cmp byte [eax], cl
je 0x100c441c
mov esi, eax
mov edi, ecx
push 0
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.1009654c
add esi, eax
cmp dword [ebp - 0x4c], 0
pop ecx
je 0x100c440d
mov edx, dword [ebx + 0x14]
push 4
push ecx
push ecx
lea ecx, [ebp - 0x4c]
call fcn.100c2bd5
add esp, 0xc
test al, al
je 0x100c4408
mov ecx, dword [ebp - 0x38]
mov ax, word [ebp - 0x4c]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100c43d1
mov esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x54], edi
mov edi, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x54]
xor eax, eax
mov word [edx + ecx*2], ax
test ecx, ecx
jle 0x100c4440
push ecx
push edx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c2916
mov edx, dword [ebp - 0x38]
xor eax, eax
pop ecx
inc eax
pop ecx
mov byte [edi + 0xe6c], al
mov ecx, edx
call fcn.10098923
jmp 0x100c45aa
cmp dword [esi + 0x84], 0
je 0x100c44c8
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x44]
cmp eax, ecx
je 0x100c4469
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x100c446e
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x50], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.10096899
mov edi, eax
lea ecx, [edi + 1]
call fcn.1009890b
mov esi, dword [ebp - 0x78]
lea edx, [edi + 1]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
mov esi, dword [esi + 0x14]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x50]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, eax
call fcn.1009682d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4c]
call fcn.1009895e
mov ecx, dword [ebp - 0x4c]
call fcn.10098923
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x44]
mov al, byte [ebp - 0x19]
test al, al
je 0x100c45aa
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100c44e9
mov eax, dword [edi + 4]
and dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
xor eax, eax
inc eax
mov byte [edi + 0xe6c], al
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100c45aa
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c1a14
mov byte [edi + 0x52], 0
jmp 0x100c45aa
xor ecx, ecx
movzx eax, al
inc ecx
xor eax, ecx
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.100c29d2
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
jmp 0x100c45aa
mov eax, dword [ebx + 0x14]
xor edx, edx
inc edx
shr eax, 0xb
and al, dl
mov edx, dword [ebp - 0x28]
test dl, dl
je 0x100c4553
test cl, cl
jne 0x100c4553
test al, al
je 0x100c4572
cmp byte [esi + 0xdd0], cl
jne 0x100c457b
xor eax, eax
inc eax
cmp byte [esi + 0x64], 0
mov byte [ebp - 0x33], al
je 0x100c45a7
test dl, dl
jne 0x100c45a7
mov eax, dword [edi + 4]
and dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
jmp 0x100c4508
cmp byte [esi + 0xdd0], 0
jne 0x100c4553
cmp byte [ebp - 0x3c], 0
jne 0x100c45aa
mov edx, dword [ebx + 0x14]
push 0xa
pop eax
push 2
mov dword [ebp - 0x2c], eax
pop eax
push eax
push ecx
push ecx
lea ecx, [ebp - 0x2c]
call fcn.100c2bd5
add esp, 0xc
test al, al
je 0x100c45aa
push dword [ebp - 0x2c]
jmp 0x100c4034
mov byte [ebp - 0x21], al
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x11]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100c45c1
test dl, dl
je 0x100c45c1
xor eax, eax
inc eax
jmp 0x100c45c3
xor al, al
or cl, al
mov dword [ebp - 0x30], ecx
and dword [ebp - 0x38], 0
xor edx, edx
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x18]
cmp dword [esi + 0x3e60], edx
jne 0x100c4844
test edi, edi
jne 0x100c45fc
push 0x1154
push 0x10134310
push str.state___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp byte [ebp - 0x3c], 0
jne 0x100c4733
cmp byte [ebp - 0x14], 0
je 0x100c4708
test dword [ebx + 0x14], 0x100000
je 0x100c463a
xor edx, edx
mov dword [ebp - 0x38], 0x100fa4b4
push edx
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x20], edx
push eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c2961
pop ecx
jmp 0x100c4707
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebx + 8]
push 2
pop esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4661
test dl, dl
je 0x100c465d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4661
add eax, esi
add ecx, esi
test dl, dl
jne 0x100c4643
xor eax, eax
jmp 0x100c4668
sbb eax, eax
xor ecx, ecx
inc ecx
or eax, ecx
test eax, eax
je 0x100c4708
mov ecx, dword [edi + 0x24]
xor eax, eax
mov edx, dword [edi + 0x2c]
dec ecx
and dword [ebp - 0x80], 0
xor esi, esi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x7c], esi
and dword [ebp - 4], esi
test ecx, ecx
jle 0x100c46ce
lea esi, [ecx + edx]
mov ecx, dword [ebp - 0x38]
mov edx, esi
call fcn.10096711
inc eax
lea ecx, [ebp - 0x84]
push eax
call fcn.1001efb5
mov edx, dword [ebp - 0x84]
push 0
push esi
push dword [ebp - 0x38]
mov esi, dword [ebp - 0x7c]
mov ecx, esi
call fcn.100966aa
mov eax, dword [ebp - 0x84]
add esp, 0xc
mov edx, dword [ebp - 0x20]
lea ecx, [eax - 1]
xor eax, eax
test edx, edx
lea edx, [edi + 0x3c]
cmovg eax, ecx
mov ecx, edi
push eax
push esi
call fcn.100c2961
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x100c4708
mov eax, dword [0x101d36fc]
test eax, eax
je 0x100c4700
dec dword [eax + 0xb0]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
xor eax, eax
lea ecx, [edi + 0x18]
inc eax
mov byte [edi + 0x30], al
mov eax, dword [edi + 0xc]
lea eax, [eax*4 + 1]
push eax
call fcn.100aaedf
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.1009682d
pop ecx
pop ecx
cmp byte [ebp - 0x14], 0
je 0x100c4923
cmp byte [ebp - 0x33], 0
je 0x100c474f
mov ecx, dword [ebx + 0x14]
test cl, 0x20
jne 0x100c4926
mov esi, dword [ebp - 0x20]
cmp dword [ebp - 0x38], 0
je 0x100c483e
test esi, esi
jns 0x100c4778
push 0x11e0
push 0x10134310
push str.apply_new_text_length___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp byte [ebp - 0x60], 0
je 0x100c4820
mov eax, dword [ebx + 0x14]
xorps xmm0, xmm0
mov dword [ebp - 0x144], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x134], eax
lea eax, [esi + 1]
cmp dword [ebx + 0xc], eax
movlpd qword [ebp - 0x13c], xmm0
cmovge eax, dword [ebx + 0xc]
and dword [ebp - 0x140], 0
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x148]
push eax
xor eax, eax
movlpd qword [ebp - 0x128], xmm0
movlpd qword [ebp - 0x120], xmm0
mov dword [ebp - 0x148], 0x40000
mov dword [ebp - 0x130], esi
call eax
mov eax, dword [ebp - 0x134]
pop ecx
mov ecx, dword [ebp - 0x12c]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
lea esi, [ecx - 1]
cmp dword [ebp - 0x130], esi
cmovl esi, dword [ebp - 0x130]
cmp esi, ecx
jle 0x100c4823
push 0x11ee
push 0x10134310
push str.apply_new_text_length___buf_size
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x38]
lea eax, [esi + 1]
cmp eax, ecx
cmovl ecx, eax
push ecx
mov ecx, dword [ebx + 8]
call fcn.10096052
xor eax, eax
inc eax
pop ecx
mov byte [ebp - 0x32], al
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x44]
cmp byte [ebp - 0x21], 0
je 0x100c485b
cmp dword [esi + 0x3e60], edx
jne 0x100c485b
xor edx, edx
xor ecx, ecx
call fcn.1009839a
mov ecx, dword [ebp - 0x28]
test cl, cl
jne 0x100c48b7
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0xac]
xor eax, eax
inc eax
push eax
call fcn.100976e5
movss xmm1, dword [0x10137464]
pop ecx
push 7
pop ecx
call fcn.10096e66
movss xmm0, dword [esi + 0x37dc]
push ecx
movss dword [esp], xmm0
xor ecx, ecx
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
lea edx, [ecx + 1]
mov ecx, eax
push dword [ebp - 0x48]
push dword [ebp - 0x74]
call fcn.100974eb
mov ecx, dword [ebp - 0x28]
add esp, 0x14
movss xmm1, dword [ebp - 0xac]
movss xmm7, dword [ebp - 0x90]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0xa8]
addss xmm0, xmm7
movss dword [ebp - 0xdc], xmm1
movss dword [ebp - 0xd8], xmm2
movss dword [ebp - 0xd4], xmm0
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x64]
movss dword [ebp - 0xd0], xmm0
test cl, cl
je 0x100c4cc4
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 0xd4]
mov ecx, dword [ecx + 0xd8]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x80], eax
jmp 0x100c4ce1
mov ecx, dword [ebx + 0x14]
test ecx, 0x801c0
je 0x100c4c76
push 0x1185
push 0x10134310
push str.callback___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebx + 0x14]
add esp, 0xc
xor esi, esi
test cl, 0x40
je 0x100c4976
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x200
push eax
call fcn.100a13d9
pop ecx
mov ecx, dword [ebx + 0x14]
test al, al
je 0x100c4976
push 0x40
pop eax
mov esi, 0x200
jmp 0x100c49e1
test cl, cl
jns 0x100c49c2
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x203
push eax
call fcn.100a13d9
pop ecx
test al, al
je 0x100c499e
mov ecx, dword [ebx + 0x14]
mov eax, 0x80
mov esi, 0x203
jmp 0x100c49e1
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x204
push eax
call fcn.100a13d9
pop ecx
mov ecx, dword [ebx + 0x14]
test al, al
je 0x100c49c2
mov eax, 0x80
mov esi, 0x204
jmp 0x100c49e1
mov eax, 0x80000
test eax, ecx
je 0x100c49d4
cmp byte [edi + 0xe6e], 0
jne 0x100c49e1
mov edx, 0x100
push 0
test edx, ecx
pop eax
cmovne eax, edx
test eax, eax
je 0x100c4c76
and dword [ebp - 0x10c], 0
xor edx, edx
mov dword [ebp - 0x118], eax
mov eax, dword [ebx + 8]
mov word [ebp - 0xf7], dx
mov byte [ebp - 0xf5], dl
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x110], edx
cmp byte [ebp - 0x3c], dl
jne 0x100c4a1c
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x104], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x100], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x108], esi
mov esi, dword [edi + 0x14]
mov ecx, esi
mov dword [ebp - 0xfc], eax
mov eax, dword [edi + 0x3c]
mov byte [ebp - 0xf8], dl
lea edx, [esi + eax*2]
call fcn.10096899
mov edx, dword [edi + 0x40]
mov ecx, esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xf4], eax
lea edx, [esi + edx*2]
call fcn.10096899
mov edx, dword [edi + 0x44]
mov ecx, esi
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xf0], eax
lea edx, [esi + edx*2]
call fcn.10096899
mov esi, eax
lea eax, [ebp - 0x118]
push eax
xor eax, eax
mov dword [ebp - 0xec], esi
call eax
cmp byte [ebp - 0x3c], 0
mov eax, dword [ebx + 8]
pop ecx
jne 0x100c4a9c
mov eax, dword [edi + 0x20]
mov ecx, dword [ebp - 0x104]
cmp ecx, eax
je 0x100c4ac4
push 0x11bc
push 0x10134310
push str.callback_data.Buf__callback_buf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp - 0x104]
add esp, 0xc
mov eax, dword [ebp - 0xfc]
cmp eax, dword [edi + 0x34]
je 0x100c4aed
push 0x11bd
push 0x10134310
push str.callback_data.BufSize__state__BufCapacityA
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp - 0x104]
add esp, 0xc
mov eax, dword [ebx + 0x14]
cmp dword [ebp - 0x114], eax
je 0x100c4b16
push 0x11be
push 0x10134310
push str.callback_data.Flags__flags
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp - 0x104]
add esp, 0xc
mov al, byte [ebp - 0xf8]
mov edx, dword [ebp - 0xf4]
mov byte [ebp - 0x22], al
cmp edx, dword [ebp - 0x2c]
jne 0x100c4b2e
test al, al
je 0x100c4b4d
add edx, ecx
call fcn.10096711
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x104]
mov dword [edi + 0x3c], eax
xor eax, eax
inc eax
mov byte [edi + 0xe6c], al
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0x50]
jne 0x100c4b5e
cmp byte [ebp - 0x22], 0
je 0x100c4b80
cmp eax, edx
jne 0x100c4b67
mov edx, dword [edi + 0x3c]
jmp 0x100c4b7d
lea edx, [eax + ecx]
call fcn.10096711
mov ecx, dword [ebp - 0x104]
mov edx, eax
mov eax, dword [ebp - 0xf0]
mov dword [edi + 0x40], edx
mov edx, dword [ebp - 0xec]
cmp edx, esi
jne 0x100c4b94
cmp byte [ebp - 0x22], 0
je 0x100c4c76
cmp edx, eax
jne 0x100c4b9d
mov eax, dword [edi + 0x40]
jmp 0x100c4baa
add edx, ecx
call fcn.10096711
mov ecx, dword [ebp - 0x104]
cmp byte [ebp - 0x22], 0
mov dword [edi + 0x44], eax
je 0x100c4c76
test dword [ebx + 0x14], 0x4000
je 0x100c4bde
push 0x11c5
push 0x10134310
push str._flags__ImGuiInputTextFlags_ReadOnly___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp - 0x104]
add esp, 0xc
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x100c4be3
mov eax, dword [ebp - 0x100]
sub edx, esi
cmp eax, edx
je 0x100c4c1a
push 0x11c6
push 0x10134310
push str.callback_data.BufTextLen___int_strlen_callback_data.Buf_
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [ebp - 0x100]
add esp, 0xc
mov ecx, dword [ebp - 0x104]
mov edx, ecx
mov ecx, edi
push eax
call fcn.100c2dac
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0x88]
pop ecx
cmp eax, edx
jle 0x100c4c48
cmp byte [ebp - 0x60], 0
je 0x100c4c48
lea ecx, [edi + 0xc]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.1001efb5
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 0x14]
push 0
push 0
push dword [ebp - 0x104]
call fcn.100966aa
mov dword [edi + 4], eax
add esp, 0xc
mov eax, dword [ebp - 0x100]
mov dword [edi + 8], eax
mov dword [edi + 0xe68], 0xbe99999a
cmp byte [ebp - 0x3c], 0
jne 0x100c474f
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x20]
push 2
pop esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4ca7
test dl, dl
je 0x100c4ca3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4ca7
add eax, esi
add ecx, esi
test dl, dl
jne 0x100c4c89
xor eax, eax
jmp 0x100c4cae
sbb eax, eax
xor ecx, ecx
inc ecx
or eax, ecx
test eax, eax
je 0x100c474f
mov esi, dword [edi + 0x20]
mov dword [ebp - 0x38], esi
mov esi, dword [edi + 8]
jmp 0x100c4752
addss xmm1, dword [esi + 0x37d4]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x37d8]
movss dword [ebp - 0x80], xmm1
movss dword [ebp - 0x7c], xmm0
cmp byte [ebp - 0x34], 0
lea eax, [ebp - 0x80]
movss xmm0, dword [eax]
movss dword [ebp - 0x9c], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x98], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
movss dword [ebp - 0x4c], xmm0
je 0x100c4d18
mov edx, dword [edi + 0x20]
mov dword [ebx + 8], edx
jmp 0x100c4d1b
mov edx, dword [ebx + 8]
cmp byte [ebp - 0x11], 0
jne 0x100c4e00
cmp byte [ebp - 0x30], 0
jne 0x100c4e00
test cl, cl
je 0x100c4d79
mov edi, dword [ebx + 8]
xor ecx, ecx
mov dl, byte [edx]
inc edi
jmp 0x100c4d4b
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x100c4d3d
dec edi
mov dword [ebp - 0x20], edi
mov al, byte [edi]
cmp al, 0xa
je 0x100c4d5e
cmp al, 0xd
je 0x100c4d5e
inc ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2c], xmm7
mulss xmm0, dword [esi + 0x3bb4]
movss dword [ebp - 0x4c], xmm0
jmp 0x100c4db1
mov eax, dword [ebp - 0x18]
cmp dword [esi + 0x3e60], eax
jne 0x100c4d8b
mov edi, dword [edi + 8]
add edi, edx
jmp 0x100c4d9f
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c4d90
sub ecx, edx
mov edx, dword [ebx + 8]
lea edi, [edx + ecx]
mov eax, edi
mov dword [ebp - 0x20], edi
sub eax, edx
cmp eax, 0x200000
jge 0x100c55b3
movss xmm1, dword [0x10137464]
xor ecx, ecx
call fcn.10096e66
movss xmm2, dword [esi + 0x3bb4]
lea ecx, [ebp - 0xdc]
xor edx, edx
cmp byte [ebp - 0x28], dl
cmovne ecx, edx
push ecx
push ecx
and dword [esp], edx
push edi
push dword [ebx + 8]
push eax
lea eax, [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x58]
push dword [esi + 0x3bb0]
mov ecx, dword [eax + 0x248]
call fcn.100b5bbd
jmp 0x100c55b3
test edi, edi
jne 0x100c4e1c
push 0x1216
push 0x10134310
push str.state___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov eax, dword [edi + 8]
xor ecx, ecx
add eax, dword [ebx + 8]
xorps xmm6, xmm6
and dword [ebp - 0x74], 0
xorps xmm5, xmm5
and dword [ebp - 0x50], 0
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x38], eax
mov eax, 0xfffffc18
mov edx, eax
mov dword [ebp - 0x5c], eax
cmp byte [ebp - 0x11], cl
je 0x100c4e5f
mov ecx, dword [ebp - 0x38]
mov eax, dword [edi + 0x3c]
or dword [ebp - 0x5c], 0xffffffff
lea eax, [ecx + eax*2]
mov dword [ebp - 0x74], eax
xor eax, eax
lea ecx, [eax + 1]
cmp byte [ebp - 0x30], 0
je 0x100c4e7c
mov eax, dword [edi + 0x44]
cmp dword [edi + 0x40], eax
mov edx, dword [ebp - 0x38]
cmovl eax, dword [edi + 0x40]
lea eax, [edx + eax*2]
or edx, 0xffffffff
mov dword [ebp - 0x50], eax
inc ecx
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
movzx eax, al
add ecx, eax
mov dword [ebp - 0x48], esi
movzx esi, word [esi]
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x60], esi
test si, si
je 0x100c4ef5
mov edi, dword [ebp - 0x54]
mov eax, esi
movzx eax, ax
push 0xa
pop esi
cmp ax, si
mov esi, dword [ebp - 0x5c]
jne 0x100c4ed4
mov eax, dword [ebp - 0x48]
inc edi
cmp esi, 0xffffffff
jne 0x100c4ec3
cmp eax, dword [ebp - 0x74]
jb 0x100c4ec3
dec ecx
mov dword [ebp - 0x5c], edi
test ecx, ecx
jle 0x100c4eec
cmp edx, 0xffffffff
jne 0x100c4ed4
cmp eax, dword [ebp - 0x50]
jb 0x100c4ed4
dec ecx
mov edx, edi
test ecx, ecx
jle 0x100c4eec
mov eax, dword [ebp - 0x48]
push 2
pop esi
add eax, esi
mov dword [ebp - 0x48], eax
movzx eax, word [eax]
mov esi, eax
mov dword [ebp - 0x60], esi
test ax, ax
jne 0x100c4ea2
mov dword [ebp - 0x54], edi
mov edi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x74]
inc eax
cmp dword [ebp - 0x5c], 0xffffffff
mov esi, eax
mov dword [ebp - 0x54], eax
cmovne esi, dword [ebp - 0x5c]
cmp edx, 0xffffffff
mov dword [ebp - 0x48], esi
mov esi, dword [ebp - 0x44]
cmove edx, eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x60], edx
mov edx, ecx
cmp ecx, eax
jbe 0x100c4f3b
push 0xa
pop esi
lea edi, [edx - 2]
mov dword [ebp - 0x88], edi
cmp word [edi], si
je 0x100c4f35
mov edx, edi
cmp edx, eax
ja 0x100c4f21
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x44]
push 0
push ecx
push 0
push ecx
lea ecx, [ebp - 0x80]
call fcn.100c1146
movd xmm3, dword [ebp - 0x48]
add esp, 0x10
cmp dword [ebp - 0x60], 0
movss xmm0, dword [esi + 0x3bb4]
movss xmm7, dword [eax]
cvtdq2ps xmm3, xmm3
movss dword [ebp - 0x7c], xmm7
mulss xmm3, xmm0
movss dword [ebp - 0x5c], xmm3
jl 0x100c4fce
mov ecx, dword [ebp - 0x50]
mov edx, ecx
mov eax, dword [ebp - 0x38]
cmp ecx, eax
jbe 0x100c4f9d
push 0xa
pop esi
lea edi, [edx - 2]
mov dword [ebp - 0x88], edi
cmp word [edi], si
je 0x100c4f97
mov edx, edi
cmp edx, eax
ja 0x100c4f83
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x44]
push 0
push ecx
push 0
push ecx
lea ecx, [ebp - 0x8c]
call fcn.100c1146
movd xmm5, dword [ebp - 0x60]
add esp, 0x10
movss xmm0, dword [esi + 0x3bb4]
movss xmm3, dword [ebp - 0x5c]
movss xmm6, dword [eax]
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm0
mov ecx, dword [ebp - 0x28]
movss xmm1, dword [ebp - 0x90]
test cl, cl
je 0x100c4ff5
movd xmm4, dword [ebp - 0x54]
cvtdq2ps xmm4, xmm4
movss dword [ebp - 0x2c], xmm1
mulss xmm4, xmm0
movss dword [ebp - 0x4c], xmm4
jmp 0x100c4ffa
movss xmm4, dword [ebp - 0x4c]
cmp byte [ebp - 0x11], 0
je 0x100c5121
cmp byte [edi + 0xe6c], 0
je 0x100c5121
test dword [ebx + 0x14], 0x1000
jne 0x100c5075
movaps xmm2, xmm1
subss xmm1, dword [esi + 0x37d4]
mulss xmm2, dword [0x101373e8]
movss dword [ebp - 0x90], xmm1
movss xmm1, dword [edi + 0x38]
comiss xmm1, xmm7
jbe 0x100c504f
movaps xmm1, xmm7
xorps xmm0, xmm0
subss xmm1, xmm2
maxss xmm0, xmm1
jmp 0x100c5063
movaps xmm0, xmm7
subss xmm0, dword [ebp - 0x90]
comiss xmm0, xmm1
jb 0x100c5079
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100c5079
and dword [edi + 0x38], 0
test cl, cl
je 0x100c511a
movss xmm7, dword [ebp - 0x94]
movaps xmm0, xmm3
subss xmm0, dword [esi + 0x3bb4]
comiss xmm7, xmm0
jbe 0x100c50a2
xorps xmm7, xmm7
maxss xmm7, xmm0
jmp 0x100c50cf
movss xmm2, dword [esi + 0x37d8]
movaps xmm0, xmm3
movss xmm1, dword [ebp - 0x64]
addss xmm2, xmm2
subss xmm1, xmm2
subss xmm0, xmm1
comiss xmm0, xmm7
jb 0x100c50cf
movaps xmm7, xmm3
subss xmm7, dword [ebp - 0x64]
addss xmm7, xmm2
movss xmm1, dword [esi + 0x37d8]
xorps xmm0, xmm0
comiss xmm0, xmm7
jbe 0x100c50e4
xorps xmm1, xmm1
jmp 0x100c50f9
addss xmm1, xmm1
addss xmm1, xmm4
subss xmm1, dword [ebp - 0x64]
maxss xmm1, xmm0
minss xmm1, xmm7
mov eax, dword [ebp - 0x58]
movss xmm0, dword [eax + 0x60]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0x98]
movss dword [ebp - 0x98], xmm0
movss dword [eax + 0x60], xmm1
mov byte [edi + 0xe6c], 0
cmp byte [ebp - 0x30], 0
movss xmm7, dword [edi + 0x38]
movss dword [ebp - 0x74], xmm7
je 0x100c5385
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov edi, dword [ebp - 0x38]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x11], 0
lea eax, [edi + eax*2]
mov dword [ebp - 0x48], eax
mov eax, edi
lea eax, [eax + edx*2]
mov dword [ebp - 0x50], eax
je 0x100c5166
movss xmm1, dword [0x10137464]
jmp 0x100c516e
movss xmm1, dword [0x10137418]
push 0x2f
pop ecx
call fcn.10096e66
cmp byte [ebp - 0x28], 0
mov dword [ebp - 0x54], eax
je 0x100c5191
xorps xmm0, xmm0
movss dword [ebp - 0xcc], xmm0
movss dword [ebp - 0x60], xmm0
jmp 0x100c51a1
movss xmm0, dword [0x101374e8]
movss dword [ebp - 0x60], xmm0
xorps xmm0, xmm0
addss xmm5, dword [ebp - 0x98]
addss xmm6, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov edi, dword [ebp - 0x78]
mov dword [ebp - 0x48], ecx
subss xmm5, xmm0
subss xmm6, xmm7
movss dword [ebp - 0x88], xmm5
cmp ecx, edx
jae 0x100c5382
movss xmm2, dword [ebp - 0xd0]
movss xmm4, dword [ebp - 0xd8]
mov edi, dword [ebp - 0x54]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x3bb4]
comiss xmm5, xmm0
ja 0x100c537f
comiss xmm4, xmm5
ja 0x100c5253
xor eax, eax
inc eax
push eax
push ecx
lea eax, [ebp - 0x48]
push eax
push edx
mov edx, ecx
lea ecx, [ebp - 0x68]
call fcn.100c1146
movss xmm0, dword [ebp - 0x68]
xorps xmm1, xmm1
add esp, 0x10
comiss xmm1, xmm0
jb 0x100c5279
mov eax, dword [esi + 0x3bb0]
cmp dword [eax], 0x20
jle 0x100c525c
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100c5261
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 0x48], ecx
cmp ax, word [ebp - 0xe0]
je 0x100c535b
cmp ecx, edx
jb 0x100c523d
jmp 0x100c535b
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10137414]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x68], xmm0
movss xmm4, dword [ebp - 0xd8]
movaps xmm3, xmm6
movss xmm2, dword [ebp - 0xd0]
addss xmm3, xmm1
movss xmm1, dword [ebp - 0xcc]
addss xmm6, xmm0
subss xmm1, dword [esi + 0x3bb4]
movss xmm7, dword [ebp - 0xd4]
movaps xmm0, xmm5
addss xmm0, dword [ebp - 0x60]
maxss xmm3, dword [ebp - 0xdc]
minss xmm6, xmm7
addss xmm1, xmm5
minss xmm0, xmm2
movss dword [ebp - 0xc4], xmm3
movss dword [ebp - 0xbc], xmm6
maxss xmm1, xmm4
comiss xmm0, xmm4
movss dword [ebp - 0xc0], xmm1
movss dword [ebp - 0xb8], xmm0
jbe 0x100c5350
comiss xmm2, xmm1
jbe 0x100c5350
comiss xmm6, dword [ebp - 0xdc]
jbe 0x100c5350
comiss xmm7, xmm3
jbe 0x100c5350
push 0
push ecx
and dword [esp], 0
lea eax, [ebp - 0xbc]
push edi
push eax
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x248]
call fcn.100b5a7d
movss xmm1, dword [ebp - 0xcc]
movss xmm2, dword [ebp - 0xd0]
movss xmm4, dword [ebp - 0xd8]
movss xmm5, dword [ebp - 0x88]
movss dword [ebp - 0xcc], xmm1
mov edx, dword [ebp - 0x50]
movss xmm7, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x48]
movss xmm6, dword [ebp - 0x9c]
subss xmm6, xmm7
addss xmm5, dword [esi + 0x3bb4]
movss dword [ebp - 0x88], xmm5
cmp ecx, edx
jb 0x100c51e8
mov edi, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x28]
test cl, cl
jne 0x100c5396
mov eax, dword [ebp - 0x20]
sub eax, dword [ebx + 8]
cmp eax, 0x200000
jge 0x100c5405
movss xmm1, dword [0x10137464]
xor ecx, ecx
call fcn.10096e66
movss xmm0, dword [ebp - 0x9c]
lea ecx, [ebp - 0xdc]
movss xmm2, dword [esi + 0x3bb4]
subss xmm0, xmm7
xor edx, edx
cmp byte [ebp - 0x28], dl
cmovne ecx, edx
push ecx
push ecx
and dword [esp], edx
push dword [ebp - 0x20]
movss dword [ebp - 0x68], xmm0
push dword [ebx + 8]
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [0x10137364]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x58]
push dword [esi + 0x3bb0]
movss dword [ebp - 0x64], xmm0
mov ecx, dword [eax + 0x248]
call fcn.100b5bbd
cmp byte [ebp - 0x11], 0
je 0x100c55b3
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0x63], 0
je 0x100c5465
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x100c5465
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x68], xmm0
fld qword [ebp - 0x68]
fld qword [0x101374d8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10137444]
fstp qword [ebp - 0x68]
movsd xmm1, qword [ebp - 0x68]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x100c5465
xor cl, cl
jmp 0x100c546a
xor eax, eax
lea ecx, [eax + 1]
movss xmm0, dword [ebp - 0x7c]
movss xmm4, dword [0x10137464]
addss xmm0, dword [ebp - 0x9c]
subss xmm0, dword [ebp - 0x74]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [ebp - 0x98]
movd xmm5, eax
cvtdq2ps xmm5, xmm5
subss xmm0, dword [0x10137364]
movss dword [ebp - 0x7c], xmm5
movaps xmm3, xmm5
movss dword [ebp - 0xc4], xmm5
addss xmm3, xmm4
cvttss2si eax, xmm0
movss dword [ebp - 0xbc], xmm3
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0xe0], xmm2
movaps xmm1, xmm2
movaps xmm6, xmm2
subss xmm1, dword [esi + 0x3bb4]
subss xmm6, dword [0x10137490]
addss xmm1, dword [0x10137414]
movss dword [ebp - 0xb8], xmm6
movss dword [ebp - 0xc0], xmm1
test cl, cl
je 0x100c557c
comiss xmm6, dword [ebp - 0xd8]
jbe 0x100c557c
movss xmm0, dword [ebp - 0xd0]
comiss xmm0, xmm1
jbe 0x100c557c
comiss xmm3, dword [ebp - 0xdc]
jbe 0x100c557c
movss xmm0, dword [ebp - 0xd4]
comiss xmm0, xmm5
jbe 0x100c557c
movaps xmm1, xmm4
xor ecx, ecx
call fcn.10096e66
push ecx
mov dword [esp], 0x3f800000
push eax
lea eax, [ebp - 0x68]
movss dword [ebp - 0x68], xmm5
push eax
lea eax, [ebp - 0xc4]
movss dword [ebp - 0x64], xmm6
push eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x248]
call fcn.100b58f9
movss xmm5, dword [ebp - 0x7c]
movss xmm2, dword [ebp - 0xe0]
movss xmm4, dword [0x10137464]
cmp byte [ebp - 0x3c], 0
jne 0x100c55b3
movss xmm0, dword [esi + 0x3bb4]
subss xmm5, xmm4
subss xmm2, xmm0
movss dword [esi + 0x59c0], xmm0
xor eax, eax
inc eax
mov byte [esi + 0x59b4], al
movss dword [esi + 0x59b8], xmm5
movss dword [esi + 0x59bc], xmm2
cmp byte [ebp - 0xb0], 0
je 0x100c55c1
call fcn.100a061f
cmp byte [ebp - 0x28], 0
je 0x100c5656
movss xmm0, dword [ebp - 0x2c]
lea ecx, [ebp - 0x68]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [esi + 0x37d8]
movss dword [ebp - 0x64], xmm0
call fcn.100bef85
mov esi, dword [esi + 0x466c]
mov eax, esi
mov edi, dword [ebp - 0x44]
or eax, 0x401
mov dword [edi + 0x466c], eax
call fcn.1009bc08
mov eax, dword [edi + 0x4690]
mov ecx, dword [ebp - 0x17c]
and eax, 0x80
or ecx, eax
mov dword [edi + 0x466c], esi
mov dword [ebp - 0x7c], ecx
call fcn.100a2a4a
mov esi, edi
mov edi, dword [ebp - 0x18]
cmp dword [esi + 0x4688], 0
jne 0x100c5659
mov eax, dword [ebp - 0x180]
mov dword [esi + 0x468c], eax
mov eax, dword [ebp - 0x7c]
mov dword [esi + 0x4688], edi
mov dword [esi + 0x4690], eax
jmp 0x100c5659
mov edi, dword [ebp - 0x18]
cmp byte [esi + 0x5a1c], 0
je 0x100c5696
cmp byte [ebp - 0xb0], 0
jne 0x100c5696
mov eax, dword [0x101d36fc]
lea ecx, [ebp - 0x9c]
push dword [ebp - 0x20]
mov edx, dword [ebx + 8]
mov dword [eax + 0x5a34], 0x10134794
mov dword [eax + 0x5a38], 0x10134790
call fcn.100a76a8
pop ecx
movss xmm0, dword [ebp - 0xe8]
comiss xmm0, dword [0x10137364]
jbe 0x100c56f7
movss xmm0, dword [ebp - 0xb4]
xor eax, eax
addss xmm0, dword [esi + 0x37ec]
mov ecx, dword [ebp - 0xc8]
inc eax
xor edx, edx
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xa8]
addss xmm0, dword [esi + 0x37d8]
movss dword [ebp - 0xe4], xmm0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push eax
call fcn.100971da
add esp, 0xc
cmp byte [ebp - 0x32], 0
mov eax, dword [ebx + 0x14]
je 0x100c5711
test eax, 0x8000000
jne 0x100c5711
mov ecx, edi
call fcn.10098508
mov eax, dword [ebx + 0x14]
movzx ecx, byte [ebp - 0x33]
test al, 0x20
movzx eax, byte [ebp - 0x32]
cmovne eax, ecx
jmp 0x100c31c8