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

Disassembly:
push 0x174
mov eax, 0x1003e97f
call fcn.1003cf17
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xe4], eax
call fcn.1000d534
mov esi, eax
mov dword [ebp - 0xc0], esi
cmp byte [esi + 0x87], 0
jne 0x1002f15e
test edi, edi
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
je 0x1002eec8
cmp dword [ebp + 0x14], 0
jge 0x1002eedc
push 0xebf
push 0x10099598
push str.buf___0__buf_size___0
call edi
add esp, 0xc
mov ecx, dword [ebp + 0x1c]
mov edx, 0x100080
mov eax, ecx
and eax, edx
cmp eax, edx
jne 0x1002ef03
push 0xec0
push 0x100996b0
push str.___flags__ImGuiInputTextFlags_CallbackHistory____flags__ImGuiInputTextFlags_Multiline__
call edi
mov ecx, dword [ebp + 0x1c]
add esp, 0xc
mov edx, 0x440
mov eax, ecx
and eax, edx
mov dword [ebp - 0x114], eax
cmp eax, edx
jne 0x1002ef2d
push 0xec1
push 0x10099880
push str.___flags__ImGuiInputTextFlags_CallbackCompletion____flags__ImGuiInputTextFlags_AllowTabInput__
call edi
mov ecx, dword [ebp + 0x1c]
add esp, 0xc
xor edx, edx
mov edi, dword [0x100a6f00]
inc edx
mov dword [ebp - 0xd8], edi
mov eax, ecx
shr eax, 0x14
and al, dl
mov dword [ebp - 0xc4], eax
mov eax, ecx
shr eax, 0xe
and al, dl
mov dword [ebp - 0xd4], eax
mov eax, ecx
shr eax, 0xf
and al, dl
mov dword [ebp - 0x134], eax
mov eax, ecx
shr eax, 0x10
not al
and al, dl
mov dword [ebp - 0x14c], eax
mov eax, ecx
shr eax, 0x12
and al, dl
mov dword [ebp - 0xf8], eax
je 0x1002efa2
cmp dword [ebp - 0xe0], 0
jne 0x1002efa2
push 0xece
push 0x10099a60
push 0x10099074
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp byte [ebp - 0xc4], 0
je 0x1002efb0
call fcn.1000a1b8
push 0
push dword [ebp - 0x148]
mov ecx, esi
call fcn.1000d63d
movss xmm0, dword [0x1007df70]
mov dword [ebp - 0xcc], eax
xor eax, eax
push ecx
mov dword [esp], 0xbf800000
inc eax
push eax
push 0
push dword [ebp - 0x148]
lea eax, [ebp - 0x58]
movss dword [ebp - 0x12c], xmm0
push eax
call fcn.1000a9d3
add esp, 0x14
cmp byte [ebp - 0xc4], 0
je 0x1002f010
movss xmm1, dword [edi + 0x18d8]
mulss xmm1, dword [0x1007df44]
jmp 0x1002f015
movss xmm1, dword [ebp - 0x54]
movss xmm0, dword [edi + 0x1554]
addss xmm0, xmm0
addss xmm0, xmm1
movss dword [ebp - 0x140], xmm0
call fcn.1000a62f
movss xmm0, dword [ebp - 0x140]
mov eax, dword [ebp - 0x104]
push ecx
push ecx
movss dword [esp + 4], xmm0
fstp dword [ebp - 0x124]
movss xmm0, dword [ebp - 0x124]
movss dword [esp], xmm0
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.1000a53f
movss xmm1, dword [ebp - 0x58]
xorps xmm0, xmm0
add esp, 0x14
comiss xmm1, xmm0
jbe 0x1002f083
addss xmm1, dword [edi + 0x1568]
jmp 0x1002f086
xorps xmm1, xmm1
addss xmm1, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x2c]
push ecx
push ecx
movss dword [esp + 4], xmm0
lea ecx, [ebp - 0x144]
movss dword [esp], xmm1
call fcn.10004789
lea eax, [ebp - 0x30]
add esi, 0xd0
push eax
lea eax, [ebp - 0x128]
push esi
push eax
call fcn.10007f49
add esp, 0xc
lea ecx, [ebp - 0x80]
push eax
push esi
call fcn.10007748
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.10007f49
add esp, 0xc
lea ecx, [ebp - 0x68]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.10007748
cmp byte [ebp - 0xc4], 0
movss xmm0, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc0]
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0x2c]
mov dword [ebp - 0xe8], eax
movss dword [ebp - 0x110], xmm0
je 0x1002f242
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0xcc]
lea eax, [ebp - 0x68]
push eax
call fcn.1000f0fa
add esp, 0xc
test al, al
jne 0x1002f166
movss xmm0, dword [edi + 0x1554]
lea eax, [ebp - 0x68]
push ecx
movss dword [esp], xmm0
push eax
call fcn.1000f2c7
pop ecx
pop ecx
call fcn.1000bea2
xor al, al
call fcn.1003ced5
ret
mov esi, edi
lea eax, [esi + 0x1644]
push eax
push 3
call fcn.10012ba5
movss xmm0, dword [esi + 0x1558]
pop ecx
movss dword [esp], xmm0
push 6
call fcn.10012c74
movss xmm0, dword [esi + 0x155c]
pop ecx
movss dword [esp], xmm0
push 7
call fcn.10012c74
lea eax, [esi + 0x1550]
push eax
xor eax, eax
inc eax
push eax
call fcn.10012bfb
add esp, 0x10
lea ecx, [ebp - 0x80]
xor eax, eax
inc eax
push 0x10004
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.1000dc0f
mov edi, dword [ebp - 0xcc]
push eax
push edi
push dword [ebp - 0x148]
call fcn.10009f99
push 3
mov byte [ebp - 0xb7], al
call fcn.10012a41
xor eax, eax
inc eax
push eax
call fcn.100129ec
add esp, 0x1c
cmp byte [ebp - 0xb7], 0
jne 0x1002f20a
call fcn.1000ba33
jmp 0x1002f159
mov edx, dword [esi + 0x1a10]
movss xmm0, dword [ebp - 0x15c]
mov dword [ebp - 0xe8], edx
subss xmm0, dword [edx + 0x78]
mov ecx, dword [edx + 0x144]
mov eax, dword [edx + 0x13c]
bts ecx, eax
mov dword [edx + 0x144], ecx
movss dword [ebp - 0x15c], xmm0
jmp 0x1002f27a
mov esi, edi
lea eax, [ebp - 0x68]
push ecx
movss xmm0, dword [esi + 0x1554]
movss dword [esp], xmm0
push eax
call fcn.1000f2c7
mov edi, dword [ebp - 0xcc]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x68]
push edi
push eax
call fcn.1000f0fa
add esp, 0x14
test al, al
je 0x1002f15e
lea eax, [ebp - 0x80]
push edi
push eax
call fcn.1000f1d9
mov byte [ebp - 0xc7], al
pop ecx
pop ecx
test al, al
je 0x1002f299
xor eax, eax
inc eax
mov dword [esi + 0x1de4], eax
push edi
call fcn.1002e996
push dword [ebp - 0xcc]
mov edi, eax
push dword [ebp - 0xc0]
mov dword [ebp - 0x100], edi
call fcn.1000d1e1
mov dl, al
add esp, 0xc
mov byte [ebp - 0xb7], dl
test dl, dl
je 0x1002f2ee
mov eax, dword [ebp - 0xc0]
cmp dword [esi + 0x1c68], eax
jne 0x1002f2ee
mov ecx, dword [esi + 0x1c70]
cmp ecx, dword [eax + 0x1a0]
jne 0x1002f2ee
xor edx, edx
inc edx
mov byte [ebp - 0xb4], dl
jmp 0x1002f30e
mov byte [ebp - 0xb4], 0
test dl, dl
je 0x1002f30b
xor edx, edx
mov byte [ebp - 0xb4], 0
inc edx
mov byte [ebp - 0xc6], dl
jmp 0x1002f315
xor edx, edx
inc edx
mov byte [ebp - 0xc6], 0
cmp byte [ebp - 0xc7], 0
je 0x1002f32d
cmp byte [esi + 0x3d8], 0
mov byte [ebp - 0xb1], dl
jne 0x1002f334
mov byte [ebp - 0xb1], 0
mov eax, dword [esi + 0x1a48]
mov ecx, dword [ebp - 0xcc]
cmp eax, ecx
je 0x1002f365
cmp dword [esi + 0x1b60], ecx
je 0x1002f35d
cmp dword [esi + 0x1b54], ecx
jne 0x1002f365
cmp dword [esi + 0x1b78], 3
jne 0x1002f365
mov byte [ebp - 0xb3], dl
jmp 0x1002f36c
mov byte [ebp - 0xb3], 0
cmp byte [ebp - 0xc4], 0
je 0x1002f39e
test edi, edi
je 0x1002f39e
test eax, eax
jne 0x1002f39e
push edx
push dword [ebp - 0xe8]
call fcn.1002e9b1
xor edx, edx
pop ecx
inc edx
pop ecx
cmp dword [esi + 0x1a84], eax
jne 0x1002f39e
mov byte [ebp - 0xb2], dl
jmp 0x1002f3b9
cmp byte [ebp - 0xc4], 0
mov byte [ebp - 0xb2], 0
je 0x1002f3dc
mov byte [ebp - 0xb2], 0
test edi, edi
je 0x1002f3dc
push edx
push dword [ebp - 0xe8]
call fcn.1002e9b1
pop ecx
pop ecx
cmp dword [esi + 0x1a48], eax
jne 0x1002f3dc
xor eax, eax
inc eax
mov cl, al
mov byte [ebp - 0xb6], al
jmp 0x1002f3e4
xor cl, cl
mov byte [ebp - 0xb6], cl
mov eax, dword [esi + 0x1a48]
mov dl, byte [ebp - 0xb3]
mov byte [ebp - 0xc8], 0
cmp eax, dword [ebp - 0xcc]
je 0x1002f45d
test byte [ebp + 0x1c], 0x10
jne 0x1002f409
test dl, dl
je 0x1002f45d
cmp byte [ebp - 0xc4], 0
jne 0x1002f45d
mov byte [ebp - 0xec], 1
movss xmm0, dword [0x1007df6c]
cmp byte [ebp - 0xb7], 0
movss dword [ebp - 0x154], xmm0
jne 0x1002f480
cmp byte [ebp - 0xb1], 0
jne 0x1002f480
cmp byte [ebp - 0xb2], 0
jne 0x1002f480
test dl, dl
jne 0x1002f480
mov byte [ebp - 0xb2], dl
test cl, cl
jne 0x1002f48b
mov byte [ebp - 0xc5], cl
jmp 0x1002f573
cmp byte [ebp - 0xc4], 0
mov byte [ebp - 0xec], 0
je 0x1002f419
mov edi, dword [ebp - 0xe8]
movss xmm0, dword [edi + 0x54]
mov edi, dword [ebp - 0x100]
jmp 0x1002f421
xor ecx, ecx
inc ecx
mov byte [ebp - 0xb2], cl
jmp 0x1002f48e
xor ecx, ecx
inc ecx
mov byte [ebp - 0xc5], cl
cmp eax, dword [ebp - 0xcc]
je 0x1002f573
lea edi, [esi + 0x1eb8]
mov ecx, edi
mov dword [ebp - 0x100], edi
call fcn.1002dca0
mov esi, dword [ebp - 0xd0]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x1002f4bc
sub esi, ecx
lea ecx, [edi + 0x24]
inc esi
push esi
call fcn.10017935
push esi
mov esi, dword [ebp - 0xd0]
push esi
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
and dword [ebp - 0x6c], 0
lea ecx, [edi + 0xc]
mov eax, dword [ebp + 0x14]
add esp, 0xc
inc eax
push eax
call fcn.1001795a
lea ecx, [edi + 0x18]
push 0
call fcn.10017935
lea eax, [ebp - 0x6c]
mov byte [edi + 0x30], 0
push eax
push 0
push esi
push dword [ebp + 0x14]
push dword [edi + 0x14]
call fcn.1000e7fb
mov dword [edi + 4], eax
add esp, 0x14
mov eax, dword [ebp - 0x6c]
sub eax, esi
mov dword [edi + 8], eax
mov eax, dword [ebp - 0xcc]
cmp dword [edi], eax
jne 0x1002f6b5
mov ecx, edi
call fcn.1002dcab
mov edx, dword [ebp - 0xc4]
xor eax, eax
inc eax
test dword [ebp + 0x1c], 0x2000
je 0x1002f54b
mov byte [edi + 0x48], al
mov esi, dword [ebp - 0xd8]
test dl, dl
jne 0x1002f573
cmp byte [ebp - 0xc6], dl
jne 0x1002f56d
cmp byte [ebp - 0xb1], dl
je 0x1002f573
cmp byte [esi + 0xfc], dl
je 0x1002f573
mov byte [ebp - 0xec], al
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x138], 0x80
cmp dword [esi + 0x1a48], eax
je 0x1002f678
cmp byte [ebp - 0xb2], 0
je 0x1002f66c
test edi, edi
je 0x1002f5a4
cmp dword [edi], eax
je 0x1002f5c2
push 0xf41
push 0x10099b78
push str.state__state__ID__id
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [ebp - 0xcc]
add esp, 0xc
push dword [ebp - 0xc0]
push eax
call fcn.10014680
push dword [ebp - 0xc0]
push dword [ebp - 0xcc]
call fcn.10014959
push dword [ebp - 0xc0]
call fcn.1000d0f5
mov eax, dword [esi + 0x1a5c]
add esp, 0x14
mov edx, dword [ebp - 0xc4]
or eax, 3
mov dword [esi + 0x1a5c], eax
test dl, dl
jne 0x1002f60c
test byte [ebp + 0x1c], 0x80
je 0x1002f615
or eax, 0xc
mov dword [esi + 0x1a5c], eax
mov eax, dword [esi + 0x1a68]
or dword [esi + 0x1a60], 2
or eax, 0x180
mov ecx, dword [esi + 0x1a6c]
mov dword [esi + 0x1a68], eax
mov dword [esi + 0x1a6c], ecx
test dl, dl
je 0x1002f64c
or eax, 0x60
mov dword [esi + 0x1a6c], ecx
mov dword [esi + 0x1a68], eax
cmp dword [ebp - 0x114], 0
je 0x1002f666
xor edx, edx
mov dword [esi + 0x1a6c], ecx
inc edx
or eax, edx
mov dword [esi + 0x1a68], eax
mov eax, dword [ebp - 0xcc]
cmp dword [esi + 0x1a48], eax
jne 0x1002f70a
test edi, edi
jne 0x1002f687
call fcn.1000b262
mov eax, dword [ebp - 0xcc]
cmp dword [esi + 0x1a48], eax
jne 0x1002f70a
xor eax, eax
inc eax
cmp byte [esi + 0x3d8], 0
je 0x1002f71a
cmp byte [ebp - 0xc5], 0
jne 0x1002f71a
cmp byte [ebp - 0xb2], 0
jne 0x1002f71a
mov byte [ebp - 0xc8], al
jmp 0x1002f71a
and dword [edi + 0x38], 0
xor ecx, ecx
mov dword [edi], eax
inc ecx
mov eax, dword [ebp - 0xc4]
movzx eax, al
xor eax, ecx
push eax
lea eax, [edi + 0x3c]
push eax
call fcn.100346c3
mov edx, dword [ebp - 0xc4]
pop ecx
pop ecx
test dl, dl
jne 0x1002f53c
mov edx, dword [ebp - 0xec]
cmp byte [ebp - 0xb4], 0
push 1
movzx edx, dl
pop eax
cmovne edx, eax
mov dword [ebp - 0xec], edx
mov edx, dword [ebp - 0xc4]
jmp 0x1002f53f
test edi, edi
je 0x1002f722
cmp byte [ebp - 0xb6], 0
je 0x1002f722
xor eax, eax
inc eax
mov byte [ebp - 0xb5], al
jmp 0x1002f729
mov byte [ebp - 0xb5], 0
test edi, edi
je 0x1002f747
mov ecx, edi
call fcn.1002eb03
test al, al
mov al, byte [ebp - 0xb5]
je 0x1002f74d
test al, al
je 0x1002f74d
xor ecx, ecx
inc ecx
jmp 0x1002f74f
mov al, byte [ebp - 0xb5]
xor cl, cl
mov edx, dword [ebp - 0xd4]
mov byte [ebp - 0xb8], cl
mov byte [ebp - 0xc5], 0
mov byte [ebp - 0xc6], 0
test dl, dl
je 0x1002f7db
test edi, edi
je 0x1002f7db
test al, al
jne 0x1002f779
test cl, cl
je 0x1002f7e8
and dword [ebp - 0x6c], 0
lea ecx, [edi + 0xc]
mov eax, dword [ebp + 0x14]
inc eax
push eax
call fcn.1001795a
lea eax, [ebp - 0x6c]
push eax
push 0
push dword [ebp - 0xd0]
push dword [edi + 0xc]
push dword [edi + 0x14]
call fcn.1000e7fb
mov dword [edi + 4], eax
add esp, 0x14
mov eax, dword [ebp - 0x6c]
mov ecx, edi
sub eax, dword [ebp - 0xd0]
mov dword [edi + 8], eax
call fcn.1002dcab
mov ecx, edi
call fcn.1002eb03
mov cl, byte [ebp - 0xb8]
mov esi, dword [ebp - 0xd8]
and cl, al
mov edx, dword [ebp - 0xd4]
mov byte [ebp - 0xb8], cl
cmp byte [ebp - 0xb5], 0
jne 0x1002f7f6
test cl, cl
jne 0x1002f7f6
mov eax, dword [ebp - 0xcc]
cmp dword [esi + 0x1a48], eax
jne 0x1002f80a
test dl, dl
jne 0x1002f80a
test edi, edi
je 0x1002f80a
cmp byte [edi + 0x30], dl
je 0x1002f80a
xor ecx, ecx
inc ecx
mov al, cl
jmp 0x1002f80f
xor ecx, ecx
xor al, al
inc ecx
cmp dword [ebp - 0x11c], 0
mov byte [ebp - 0xb7], al
je 0x1002f83c
test al, al
je 0x1002f827
mov eax, dword [edi + 0x20]
jmp 0x1002f82d
mov eax, dword [ebp - 0xd0]
cmp byte [eax], 0
jne 0x1002f83c
mov al, cl
mov byte [ebp - 0xb9], cl
jmp 0x1002f844
xor al, al
mov byte [ebp - 0xb9], al
cmp byte [ebp - 0x134], 0
je 0x1002f908
test al, al
jne 0x1002f908
mov ecx, dword [esi + 0x18d4]
push 0x2a
call fcn.1001a885
mov ecx, dword [esi + 0x18d4]
mov edx, eax
lea eax, [esi + 0x2d34]
mov ecx, dword [ecx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x18d4]
mov ecx, dword [ecx + 0x40]
mov dword [eax + 0x40], ecx
mov ecx, dword [esi + 0x18d4]
mov eax, dword [ecx + 0x44]
lea ecx, [esi + 0x2d34]
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0x18d4]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 0x18d4]
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
add ecx, 0x20
call fcn.100172f0
test al, al
je 0x1002f8e3
lea ecx, [esi + 0x2d34]
call fcn.100172f0
test al, al
je 0x1002f8e3
lea ecx, [esi + 0x2d48]
call fcn.100172f0
test al, al
jne 0x1002f8fb
push 0xf7d
push 0x10099ce0
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 eax, [esi + 0x2d34]
push eax
call fcn.10012b0e
pop ecx
and dword [ebp - 0x124], 0
mov edx, 0x20000c
mov eax, dword [ebp - 0xcc]
cmp dword [esi + 0x1a48], eax
jne 0x1002fc7e
test edi, edi
jne 0x1002f947
push 0xf85
push 0x10099ed0
push 0x10099fe8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov edx, 0x20000c
mov eax, dword [edi + 8]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x34], eax
mov eax, dword [ebp + 0x1c]
mov dword [edi + 0xe70], eax
mov eax, dword [ebp - 0xe0]
mov dword [edi + 0xe74], eax
mov eax, dword [ebp - 0xe4]
mov dword [edi + 0xe78], eax
mov byte [edi + 0xe6e], 0
cmp byte [esi + 0xec], 0
sete al
mov byte [esi + 0x1a55], al
xor eax, eax
inc eax
cmp byte [ebp - 0xc4], 0
mov dword [esi + 0x3060], eax
movss xmm2, dword [esi + 0xe4]
subss xmm2, dword [ebp - 0x80]
subss xmm2, dword [esi + 0x1550]
addss xmm2, dword [edi + 0x38]
je 0x1002f9da
mov eax, dword [ebp - 0xe8]
movss xmm1, dword [esi + 0xe8]
subss xmm1, dword [eax + 0xd4]
subss xmm1, dword [esi + 0x1554]
jmp 0x1002f9ea
movss xmm1, dword [esi + 0x18d8]
mulss xmm1, dword [0x1007df0c]
cmp byte [ebp - 0xec], 0
mov al, byte [esi + 0xb1]
mov byte [ebp - 0xd9], al
jne 0x1002fb50
mov cl, byte [ebp - 0xc7]
test cl, cl
je 0x1002fa21
test al, al
jne 0x1002fab6
cmp byte [esi + 0x3dd], al
jne 0x1002fb50
cmp byte [esi + 0x3d8], 0
lea edx, [edi + 0xe6d]
mov al, byte [edx]
je 0x1002fadf
test al, al
jne 0x1002fadf
test cl, cl
je 0x1002fa69
push ecx
push ecx
movss dword [esp + 4], xmm1
lea eax, [edi + 0x3c]
movss dword [esp], xmm2
push eax
push edi
call fcn.1003425d
add esp, 0x10
mov ecx, edi
call fcn.1002dca0
lea edx, [edi + 0xe6d]
mov ecx, edx
xor eax, eax
inc eax
cmp byte [ecx], 0
je 0x1002fa7f
cmp byte [esi + 0xec], 0
jne 0x1002fa7f
mov byte [ecx], 0
cmp byte [esi + 0xfc], 0
je 0x1002fa91
cmp byte [esi + 0xfe], 0
je 0x1002faab
cmp byte [ebp - 0xd9], 0
je 0x1002fb67
cmp byte [esi + 0xff], 0
je 0x1002fb67
mov byte [ebp - 0xb1], al
jmp 0x1002fb6e
cmp byte [esi + 0x3dd], 0
je 0x1002fa21
push edx
mov ecx, edi
call fcn.10031ad7
push 0x60000d
mov ecx, edi
call fcn.10031ad7
lea ecx, [edi + 0xe6d]
jmp 0x1002fa6b
cmp byte [esi + 0xec], 0
mov ecx, edx
je 0x1002fa6b
test al, al
jne 0x1002fa6b
movss xmm0, dword [esi + 0x374]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1002fb1b
movss xmm0, dword [esi + 0x378]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1002fa6b
push ecx
push ecx
movss dword [esp + 4], xmm1
lea eax, [edi + 0x3c]
movss dword [esp], xmm2
push eax
push edi
call fcn.10034512
add esp, 0x10
mov ecx, edi
call fcn.1002dca0
xor eax, eax
lea ecx, [edi + 0xe6d]
inc eax
mov byte [edi + 0xe6c], al
jmp 0x1002fa6e
mov ecx, edi
call fcn.10032561
xor eax, eax
lea ecx, [edi + 0xe6d]
inc eax
mov byte [ecx], al
jmp 0x1002fa6e
mov byte [ebp - 0xb1], 0
test dword [ebp + 0x1c], 0x400
je 0x1002fbf1
push eax
push 0
call fcn.1000ecba
mov edx, dword [ebp - 0xd4]
test al, al
mov al, byte [ebp - 0xb1]
pop ecx
pop ecx
je 0x1002fbfd
test al, al
jne 0x1002fbfd
cmp byte [esi + 0xfd], al
jne 0x1002fbfd
test dl, dl
jne 0x1002fbfd
lea eax, [ebp - 0x140]
mov dword [ebp - 0x140], 9
lea ecx, [esi + 0x1508]
push eax
call fcn.10033c2c
test al, al
jne 0x1002fbf1
push dword [ebp - 0xe4]
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 9
push dword [ebp - 0xe0]
push dword [ebp + 0x1c]
push eax
call fcn.10031938
add esp, 0x10
test al, al
je 0x1002fbf1
push dword [ebp - 0x6c]
mov ecx, edi
call fcn.10031ad7
mov edx, dword [ebp - 0xd4]
mov al, byte [ebp - 0xb1]
lea ecx, [esi + 0x1508]
cmp dword [ecx], 0
jle 0x1002fc78
test al, al
jne 0x1002fc71
test dl, dl
jne 0x1002fc71
cmp byte [ebp - 0xb3], dl
jne 0x1002fc71
xor eax, eax
mov dword [ebp - 0x14], eax
push eax
call fcn.10007cc3
movzx eax, word [eax]
mov dword [ebp - 0x6c], eax
cmp eax, 9
jne 0x1002fc37
cmp byte [esi + 0xfd], 0
jne 0x1002fc60
push dword [ebp - 0xe4]
lea eax, [ebp - 0x6c]
push dword [ebp - 0xe0]
push dword [ebp + 0x1c]
push eax
call fcn.10031938
add esp, 0x10
test al, al
je 0x1002fc60
push dword [ebp - 0x6c]
mov ecx, edi
call fcn.10031ad7
mov eax, dword [ebp - 0x14]
lea ecx, [esi + 0x1508]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ecx]
jl 0x1002fc1d
push 0
call fcn.1001795a
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 0xd9], 0
mov dword [ebp - 0x140], 0xa
cmp dword [esi + 0x1a48], eax
jne 0x10030870
cmp byte [esi + 0x1a54], 0
jne 0x1003060f
cmp byte [ebp - 0xc8], 0
jne 0x1003060f
test edi, edi
jne 0x1002fcd1
push 0xfd6
push 0x1009a000
push 0x1009a118
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
call fcn.1000d743
cmp dword [esi + 0x37c], eax
je 0x1002fcf6
push 0xfd7
push 0x1009a178
push str.io.KeyMods__GetMergedKeyModFlags_____Mismatching_io.KeyCtrl_io.KeyShift_io.KeyAlt_io.KeySuper_vs_io.KeyMods_
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
movss xmm0, dword [ebp - 0x110]
xor eax, eax
subss xmm0, dword [esi + 0x1554]
inc eax
push eax
divss xmm0, dword [esi + 0x18d8]
cvttss2si eax, xmm0
push eax
call fcn.10017bcd
mov dword [edi + 0x4c], eax
add esp, 8
mov dl, byte [esi + 0xb1]
mov ecx, 0x400000
mov dword [ebp - 0x114], eax
xor eax, eax
cmp byte [esi + 0xfd], al
mov byte [ebp - 0xf3], dl
cmovne eax, ecx
mov dword [ebp - 0xc0], eax
test dl, dl
je 0x1002fd5e
push 0xa
pop ecx
cmp dword [esi + 0x37c], ecx
jne 0x1002fd5e
xor eax, eax
inc eax
jmp 0x1002fd6e
mov ecx, dword [esi + 0x37c]
xor al, al
test dl, dl
je 0x1002fe00
cmp byte [esi + 0xff], 0
lea edx, [esi + 0xfe]
lea edi, [esi + 0xfc]
mov dword [ebp - 0x104], edx
mov dl, byte [edx]
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x100]
mov byte [ebp - 0xb1], dl
mov byte [ebp - 0xb4], al
mov dword [ebp - 0xec], ecx
je 0x1002fe31
cmp byte [esi + 0xfc], 0
mov byte [ebp - 0xb1], dl
mov byte [ebp - 0xb4], al
mov dword [ebp - 0xec], ecx
jne 0x1002fe31
cmp byte [esi + 0xfe], 0
mov byte [ebp - 0xb1], dl
mov byte [ebp - 0xb4], al
mov dword [ebp - 0xec], ecx
jne 0x1002fe31
mov byte [ebp - 0xb4], al
mov eax, ecx
mov byte [ebp - 0xb2], 1
mov byte [ebp - 0xb1], dl
mov dword [ebp - 0xec], eax
jmp 0x1002fe3e
lea edx, [esi + 0xfc]
mov byte [ebp - 0xb4], 0
mov al, byte [edx]
mov byte [ebp - 0xb1], al
lea eax, [esi + 0xfe]
mov dword [ebp - 0x104], eax
mov eax, ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0xec], eax
jmp 0x1002fe37
mov eax, dword [ebp - 0xec]
mov byte [ebp - 0xb2], 0
cmp byte [esi + 0xb1], 0
je 0x1002fe52
cmp eax, 8
sete cl
xor edx, edx
inc edx
jmp 0x1002fe5a
xor edx, edx
inc edx
cmp eax, edx
sete cl
mov byte [ebp - 0xb3], cl
test cl, cl
je 0x1002fe78
push edx
push 0x13
call fcn.1000ecba
pop ecx
pop ecx
test al, al
jne 0x1002fe90
mov eax, dword [ebp - 0xec]
cmp eax, 2
jne 0x1002fec1
xor eax, eax
inc eax
push eax
push 0xa
pop eax
push eax
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x1002fec1
cmp byte [ebp - 0xd4], 0
jne 0x1002fec1
cmp byte [ebp - 0x134], 0
jne 0x1002fec1
cmp byte [ebp - 0xc4], 0
je 0x1002feb6
mov ecx, edi
call fcn.1002eb03
test al, al
je 0x1002fec1
xor eax, eax
inc eax
mov byte [ebp - 0xb6], al
jmp 0x1002fecb
xor eax, eax
mov byte [ebp - 0xb6], 0
inc eax
cmp byte [ebp - 0xb3], 0
je 0x1002fee2
push eax
push 0x11
call fcn.1000ecba
pop ecx
pop ecx
test al, al
jne 0x1002fefb
xor eax, eax
inc eax
cmp dword [ebp - 0xec], eax
jne 0x1002ff26
push eax
push 9
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x1002ff23
cmp byte [ebp - 0x134], 0
jne 0x1002ff23
cmp byte [ebp - 0xc4], 0
je 0x1002ff18
mov ecx, edi
call fcn.1002eb03
test al, al
je 0x1002ff23
xor eax, eax
inc eax
mov byte [ebp - 0xf1], al
jmp 0x1002ff2d
xor eax, eax
inc eax
mov byte [ebp - 0xf1], 0
cmp byte [ebp - 0xb3], 0
je 0x1002ff47
push eax
push 0x12
call fcn.1000ecba
pop ecx
pop ecx
test al, al
jne 0x1002ff5e
xor eax, eax
inc eax
cmp dword [ebp - 0xec], 2
jne 0x1002ff72
push eax
push 9
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x1002ff72
cmp byte [ebp - 0xd4], 0
jne 0x1002ff72
xor eax, eax
inc eax
mov byte [ebp - 0xf2], al
jmp 0x1002ff7c
xor eax, eax
mov byte [ebp - 0xf2], 0
inc eax
cmp byte [ebp - 0xb3], 0
je 0x1002ffb0
push eax
push 0x15
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x1002ffb0
cmp byte [ebp - 0xd4], 0
jne 0x1002ffb0
cmp byte [ebp - 0x14c], 0
je 0x1002ffb0
xor eax, eax
inc eax
mov byte [ebp - 0xc7], al
jmp 0x1002ffc0
xor al, al
mov byte [ebp - 0xc7], al
cmp byte [ebp - 0xb3], al
je 0x1002ffd1
xor eax, eax
inc eax
push eax
push 0x14
call fcn.1000ecba
pop ecx
pop ecx
test al, al
jne 0x1002ffeb
cmp byte [ebp - 0xb4], 0
je 0x10030008
xor eax, eax
inc eax
push eax
push 0x15
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x10030008
cmp byte [ebp - 0xd4], 0
jne 0x10030008
cmp byte [ebp - 0x14c], 0
je 0x10030008
xor eax, eax
inc eax
mov byte [ebp - 0xb4], al
jmp 0x10030012
xor eax, eax
mov byte [ebp - 0xb4], 0
inc eax
push eax
push eax
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x1003002c
mov eax, 0x200000
lea ecx, [eax + 0xc]
lea edx, [eax + 4]
jmp 0x10030048
xor eax, eax
inc eax
push eax
push 2
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x1003005e
mov eax, 0x200001
lea ecx, [eax + 0xc]
lea edx, [eax + 4]
cmp byte [ebp - 0xb1], 0
cmovne eax, ecx
cmp byte [ebp - 0xb2], 0
jmp 0x10030221
xor eax, eax
inc eax
push eax
push 3
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x100300c8
cmp byte [ebp - 0xc4], 0
je 0x100300c8
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0
je 0x100300b5
mov eax, dword [ebp - 0xe8]
push ecx
push ecx
and dword [esp + 4], 0
movss xmm0, dword [eax + 0x54]
subss xmm0, dword [esi + 0x18d8]
movss dword [esp], xmm0
call fcn.100064d1
add esp, 4
fstp dword [esp]
push eax
call fcn.10014dd8
jmp 0x1003054d
movzx eax, byte [ebp - 0xb2]
lea eax, [eax*4 + 0x200002]
jmp 0x10030224
xor eax, eax
inc eax
push eax
push 4
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x10030137
cmp byte [ebp - 0xc4], 0
je 0x10030137
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0
je 0x10030124
call fcn.1000dc00
mov eax, dword [ebp - 0xe8]
fstp dword [ebp - 0x104]
movss xmm0, dword [ebp - 0x104]
push ecx
movss xmm1, dword [eax + 0x54]
addss xmm1, dword [esi + 0x18d8]
push ecx
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.100064f7
jmp 0x100300a4
movzx eax, byte [ebp - 0xb2]
lea eax, [eax*4 + 0x200003]
jmp 0x10030224
xor eax, eax
inc eax
push eax
push 5
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x10030191
cmp byte [ebp - 0xc4], 0
je 0x10030191
mov ecx, dword [ebp - 0xc0]
or ecx, 0x20000e
push ecx
mov ecx, edi
call fcn.10031ad7
movd xmm0, dword [ebp - 0x114]
movss xmm1, dword [ebp - 0x154]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x18d8]
subss xmm1, xmm0
movss dword [ebp - 0x154], xmm1
jmp 0x100305a3
xor eax, eax
inc eax
push eax
push 6
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x100301e7
cmp byte [ebp - 0xc4], 0
je 0x100301e7
mov ecx, dword [ebp - 0xc0]
or ecx, 0x20000f
push ecx
mov ecx, edi
call fcn.10031ad7
movd xmm0, dword [ebp - 0x114]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x18d8]
addss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0x154], xmm0
jmp 0x100305a3
xor eax, eax
inc eax
push eax
push 7
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x10030202
mov eax, 0x200004
lea edx, [eax + 2]
jmp 0x1003021b
xor eax, eax
inc eax
push eax
push 8
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x10030230
mov eax, 0x200005
lea edx, [eax + 2]
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0
cmovne eax, edx
or eax, dword [ebp - 0xc0]
push eax
jmp 0x100305f8
xor eax, eax
inc eax
push eax
push 0xa
pop eax
push eax
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x1003025a
cmp byte [ebp - 0xd4], 0
jne 0x1003025a
mov ecx, dword [ebp - 0xc0]
or ecx, 0x200008
jmp 0x100302cb
xor eax, eax
inc eax
push eax
push 0xb
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x100302d1
cmp byte [ebp - 0xd4], 0
jne 0x100302d1
mov ecx, edi
call fcn.1002eb03
test al, al
jne 0x100302bf
cmp byte [ebp - 0xb1], al
je 0x1003028e
push 0x60000c
jmp 0x100302b8
cmp byte [ebp - 0xf3], 0
je 0x100302bf
cmp byte [esi + 0xff], 0
je 0x100302bf
mov eax, dword [ebp - 0x104]
cmp byte [eax], 0
jne 0x100302bf
mov eax, dword [ebp - 0x6c]
cmp byte [eax], 0
jne 0x100302bf
push 0x600004
mov ecx, edi
call fcn.10031ad7
mov ecx, dword [ebp - 0xc0]
or ecx, 0x200009
push ecx
jmp 0x100305f8
xor eax, eax
inc eax
push eax
push 0xd
call fcn.1000ecba
pop ecx
pop ecx
test al, al
jne 0x10030571
xor eax, eax
inc eax
push eax
push 0xf
call fcn.1000ecba
pop ecx
pop ecx
test al, al
jne 0x10030571
xor eax, eax
inc eax
push eax
push 0xe
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x1003031a
xor eax, eax
inc eax
mov byte [ebp - 0xd9], al
jmp 0x1003059d
mov al, byte [ebp - 0xc7]
test al, al
jne 0x10030553
cmp byte [ebp - 0xb4], al
jne 0x10030553
cmp byte [ebp - 0xb3], al
je 0x10030362
xor eax, eax
inc eax
push eax
push 0x10
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x10030362
mov ecx, edi
call fcn.10032561
xor eax, eax
inc eax
mov byte [edi + 0xe6c], al
jmp 0x100305a3
mov al, byte [ebp - 0xb6]
test al, al
jne 0x10030468
cmp byte [ebp - 0xf1], al
jne 0x10030468
cmp byte [ebp - 0xf2], al
je 0x100305a3
call fcn.1000d3b4
mov dword [ebp - 0x104], eax
test eax, eax
je 0x100305a3
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100303a0
sub ecx, edx
lea eax, [ecx*2 + 2]
push eax
call fcn.1000fa01
mov edx, eax
mov eax, dword [ebp - 0x104]
pop ecx
xor ecx, ecx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x14], ecx
cmp byte [eax], cl
je 0x10030434
mov esi, eax
mov edi, ecx
push 0
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.1000e531
add esp, 0xc
add esi, eax
cmp dword [ebp - 0x14], 0
je 0x1003041c
push dword [ebp - 0xe4]
lea eax, [ebp - 0x14]
push dword [ebp - 0xe0]
push dword [ebp + 0x1c]
push eax
call fcn.10031938
add esp, 0x10
test al, al
je 0x10030417
mov ecx, dword [ebp - 0xc0]
mov ax, word [ebp - 0x14]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100303d2
mov esi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov word [edx + ecx*2], ax
test ecx, ecx
jle 0x1003045c
push ecx
push edx
lea eax, [edi + 0x3c]
push eax
push edi
call fcn.10034e79
mov edx, dword [ebp - 0xc0]
xor eax, eax
add esp, 0x10
inc eax
mov byte [edi + 0xe6c], al
push edx
call fcn.1000fa26
pop ecx
jmp 0x100305a3
cmp dword [esi + 0xd4], 0
je 0x10030524
mov ecx, edi
call fcn.1002eb03
test al, al
je 0x10030498
push dword [edi + 0x44]
push dword [edi + 0x40]
call fcn.100064e8
add esp, 8
mov dword [ebp - 0x114], eax
mov esi, eax
jmp 0x100304a0
xor esi, esi
mov dword [ebp - 0x114], esi
mov ecx, edi
call fcn.1002eb03
test al, al
je 0x100304bb
push dword [edi + 0x44]
push dword [edi + 0x40]
call fcn.10017bcd
add esp, 8
jmp 0x100304be
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x104], eax
lea eax, [ecx + eax*2]
push eax
lea eax, [ecx + esi*2]
push eax
call fcn.1000e7c0
lea esi, [eax + 1]
push esi
call fcn.1000fa01
mov edx, dword [ebp - 0x100]
mov edi, eax
mov eax, dword [ebp - 0x104]
mov edx, dword [edx + 0x14]
lea ecx, [edx + eax*2]
mov eax, dword [ebp - 0x114]
push ecx
lea ecx, [edx + eax*2]
push ecx
push esi
push edi
call fcn.1000e864
push edi
call fcn.10014732
push edi
call fcn.1000fa26
mov edi, dword [ebp - 0x100]
add esp, 0x24
mov esi, dword [ebp - 0xd8]
mov al, byte [ebp - 0xb6]
test al, al
je 0x100305a3
mov ecx, edi
call fcn.1002eb03
test al, al
jne 0x1003053a
mov ecx, edi
call fcn.10032561
xor eax, eax
inc eax
mov byte [edi + 0xe6c], al
lea eax, [edi + 0x3c]
push eax
push edi
call fcn.100342b6
pop ecx
jmp 0x10030462
xor ecx, ecx
movzx eax, al
inc ecx
xor eax, ecx
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.10031ad7
mov ecx, edi
call fcn.1002d854
jmp 0x100305a3
mov edx, dword [ebp + 0x1c]
xor ecx, ecx
mov eax, edx
inc ecx
shr eax, 0xb
and al, cl
cmp byte [ebp - 0xc4], 0
je 0x10030594
mov ecx, dword [ebp - 0x6c]
mov cl, byte [ecx]
test al, al
je 0x100305bc
test cl, cl
jne 0x100305c0
xor eax, eax
inc eax
mov byte [ebp - 0xc6], al
mov byte [ebp - 0xc8], al
mov ecx, edi
call fcn.1002eb03
test al, al
je 0x10030601
cmp byte [ebp - 0xb5], 0
je 0x10030601
xor eax, eax
inc eax
jmp 0x10030603
test cl, cl
jne 0x10030594
cmp byte [ebp - 0xd4], 0
jne 0x100305a3
push 0xa
pop eax
push dword [ebp - 0xe4]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x104]
push dword [ebp - 0xe0]
push edx
push eax
call fcn.10031938
add esp, 0x10
test al, al
je 0x100305a3
push dword [ebp - 0x104]
mov ecx, edi
call fcn.10031ad7
jmp 0x100305a3
xor al, al
or byte [ebp - 0xb8], al
mov eax, dword [ebp - 0xcc]
cmp dword [esi + 0x1a48], eax
jne 0x10030870
test edi, edi
jne 0x10030637
push 0x1053
push 0x1009a3b0
push 0x1009a4c8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
and dword [ebp - 0xec], 0
xor edx, edx
mov dword [ebp - 0xc0], edx
cmp byte [ebp - 0xd9], dl
je 0x10030964
cmp byte [ebp - 0xd4], dl
jne 0x10030733
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp - 0xd0]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10030687
test dl, dl
je 0x10030683
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10030687
add eax, 2
add ecx, 2
test dl, dl
jne 0x10030667
xor eax, eax
jmp 0x1003068e
sbb eax, eax
xor ecx, ecx
inc ecx
or eax, ecx
test eax, eax
je 0x10030733
mov esi, dword [edi + 0x24]
lea ecx, [ebp - 0x10c]
mov eax, dword [edi + 0x2c]
dec esi
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc0], esi
call fcn.10006559
and dword [ebp - 4], 0
test esi, esi
jle 0x100306fa
mov eax, dword [ebp - 0xec]
add esi, eax
push esi
push eax
call fcn.1000e74d
pop ecx
pop ecx
inc eax
lea ecx, [ebp - 0x10c]
push eax
call fcn.1001795a
push 0
push esi
push dword [ebp - 0xec]
mov esi, dword [ebp - 0x10c]
push esi
push dword [ebp - 0x104]
call fcn.1000e7fb
add esp, 0x14
jmp 0x10030700
mov esi, dword [ebp - 0x10c]
mov edx, dword [ebp - 0xc0]
lea ecx, [esi - 1]
xor eax, eax
test edx, edx
cmovg eax, ecx
push eax
push dword [ebp - 0x104]
lea eax, [edi + 0x3c]
push eax
push edi
call fcn.10034f01
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c]
add esp, 0x10
call fcn.100078b6
cmp byte [ebp - 0xc6], 0
je 0x10030748
mov ecx, dword [ebp + 0x1c]
test cl, 0x20
jne 0x10030967
mov esi, dword [ebp - 0xc0]
cmp dword [ebp - 0xec], 0
je 0x10030850
test esi, esi
jns 0x10030777
push 0x10d2
push 0x1009ab80
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 - 0xf8], 0
je 0x10030825
lea ecx, [ebp - 0xb0]
call fcn.1002cbf2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x9c], eax
lea eax, [esi + 1]
push eax
push dword [ebp + 0x14]
mov dword [ebp - 0xb0], 0x40000
mov dword [ebp - 0x98], esi
call fcn.10017bcd
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xb0]
push eax
call dword [ebp - 0xe0]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp + 0x14], eax
dec eax
push eax
push dword [ebp - 0x98]
call fcn.100064e8
mov esi, eax
add esp, 0x14
mov eax, dword [ebp + 0x14]
cmp esi, eax
jle 0x10030828
push 0x10e0
push 0x1009acd0
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 eax, dword [ebp + 0x14]
push eax
lea eax, [esi + 1]
push eax
call fcn.100064e8
push eax
push dword [ebp - 0xec]
push dword [ebp - 0xd0]
call fcn.1000e505
xor eax, eax
add esp, 0x14
inc eax
mov byte [ebp - 0xc5], al
mov esi, dword [ebp - 0xd8]
xor eax, eax
mov dword [edi + 0xe70], eax
mov dword [edi + 0xe74], eax
mov dword [edi + 0xe78], eax
mov eax, dword [ebp - 0xcc]
cmp byte [ebp - 0xc8], 0
je 0x10030886
cmp dword [esi + 0x1a48], eax
jne 0x10030886
call fcn.1000b262
cmp byte [ebp - 0xc4], 0
jne 0x100308ec
xor eax, eax
inc eax
push eax
push dword [ebp - 0xcc]
lea eax, [ebp - 0x80]
push eax
call fcn.10013039
movss xmm0, dword [esi + 0x1558]
add esp, 8
movss dword [ebp - 0xf8], xmm0
mov dword [esp], 0x3f800000
push 7
call fcn.1000d47e
movss xmm0, dword [ebp - 0xf8]
add esp, 4
xor ecx, ecx
inc ecx
movss dword [esp], xmm0
push ecx
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
call fcn.10012f0b
add esp, 0x1c
movss xmm2, dword [ebp - 0x7c]
lea ecx, [ebp - 0x50]
movss xmm1, dword [ebp - 0x80]
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x110]
sub esp, 0x10
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x15c]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.10004d83
cmp byte [ebp - 0xc4], 0
je 0x10030d2d
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ecx + 0xd0]
mov ecx, dword [ecx + 0xd4]
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0xfc]
mov dword [ebp - 0xf8], ecx
jmp 0x10030d47
mov ecx, dword [ebp + 0x1c]
cmp byte [ebp - 0xd4], 0
jne 0x1003099f
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.10017935
push 0
push dword [edi + 0x14]
push dword [edi + 0x18]
push dword [edi + 0x20]
call fcn.1000e864
mov ecx, dword [ebp + 0x1c]
add esp, 0x10
test ecx, 0x801c0
je 0x10030cd7
cmp dword [ebp - 0xe0], 0
jne 0x100309cf
push 0x107c
push 0x1009a4e0
push str.callback___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp + 0x1c]
add esp, 0xc
push 0x16
pop esi
test cl, 0x40
je 0x100309f9
xor eax, eax
inc eax
push eax
push 0
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x100309f6
mov dword [ebp - 0x138], 0x40
xor esi, esi
jmp 0x10030a61
mov ecx, dword [ebp + 0x1c]
test cl, cl
jns 0x10030a36
xor eax, eax
inc eax
push eax
push 3
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x10030a12
push 3
jmp 0x10030a30
xor eax, eax
inc eax
push eax
push 4
call fcn.1000ecba
pop ecx
pop ecx
test al, al
je 0x10030a33
mov eax, 0x80
mov dword [ebp - 0x138], eax
push 4
pop esi
jmp 0x10030a61
mov ecx, dword [ebp + 0x1c]
mov eax, 0x80000
mov dword [ebp - 0x138], eax
test eax, ecx
je 0x10030a4e
cmp byte [edi + 0xe6e], 0
jne 0x10030a61
mov eax, 0x100
mov dword [ebp - 0x138], eax
test eax, ecx
je 0x10030cd7
push 0x30
lea eax, [ebp - 0xb0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xa8], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x9c], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x94], eax
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xa0], esi
mov esi, dword [edi + 0x14]
mov byte [ebp - 0x90], 0
lea eax, [esi + eax*2]
push eax
push esi
call fcn.1000e7c0
mov ecx, dword [edi + 0x40]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x8c], eax
lea ecx, [esi + ecx*2]
push ecx
push esi
call fcn.1000e7c0
mov ecx, dword [edi + 0x44]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x88], eax
lea ecx, [esi + ecx*2]
push ecx
push esi
call fcn.1000e7c0
mov esi, eax
lea eax, [ebp - 0xb0]
push eax
mov dword [ebp - 0x84], esi
call dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x9c]
add esp, 0x28
cmp ecx, dword [edi + 0x20]
je 0x10030b3d
push 0x10b1
push 0x1009a5f8
push str.callback_data.Buf__state__TextA.Data
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp - 0x9c]
add esp, 0xc
mov eax, dword [ebp - 0x94]
cmp eax, dword [edi + 0x34]
je 0x10030b66
push 0x10b2
push 0x1009a760
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 - 0x9c]
add esp, 0xc
mov eax, dword [ebp + 0x1c]
cmp dword [ebp - 0xac], eax
je 0x10030b8f
push 0x10b3
push 0x1009a8d8
push str.callback_data.Flags__flags
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp - 0x9c]
add esp, 0xc
mov al, byte [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 0xb6], al
cmp edx, dword [ebp - 0x104]
jne 0x10030bad
test al, al
je 0x10030bd1
lea eax, [edx + ecx]
push eax
push ecx
call fcn.1000e74d
mov edx, dword [ebp - 0x8c]
mov dword [edi + 0x3c], eax
xor eax, eax
pop ecx
pop ecx
mov ecx, dword [ebp - 0x9c]
inc eax
mov byte [edi + 0xe6c], al
mov eax, dword [ebp - 0x88]
cmp eax, dword [ebp - 0x114]
jne 0x10030be8
cmp byte [ebp - 0xb6], 0
je 0x10030c0d
cmp eax, edx
jne 0x10030bf1
mov edx, dword [edi + 0x3c]
jmp 0x10030c0a
add eax, ecx
push eax
push ecx
call fcn.1000e74d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x9c]
mov edx, eax
mov eax, dword [ebp - 0x88]
mov dword [edi + 0x40], edx
mov edx, dword [ebp - 0x84]
cmp edx, esi
jne 0x10030c24
cmp byte [ebp - 0xb6], 0
je 0x10030cd7
cmp edx, eax
jne 0x10030c2d
mov eax, dword [edi + 0x40]
jmp 0x10030c3f
lea eax, [edx + ecx]
push eax
push ecx
call fcn.1000e74d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x9c]
cmp byte [ebp - 0xb6], 0
mov dword [edi + 0x44], eax
je 0x10030cd7
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10030c54
mov eax, dword [ebp - 0x98]
sub edx, esi
cmp eax, edx
je 0x10030c8b
push 0x10ba
push 0x1009a9f0
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 - 0x98]
add esp, 0xc
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x124]
cmp eax, edx
jle 0x10030cb1
cmp byte [ebp - 0xf8], 0
je 0x10030cb1
lea ecx, [edi + 0xc]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.1001795a
mov ecx, dword [ebp - 0x9c]
push 0
push 0
push ecx
push dword [edi + 0xc]
push dword [edi + 0x14]
call fcn.1000e7fb
add esp, 0x14
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x98]
mov ecx, edi
mov dword [edi + 8], eax
call fcn.1002dca0
cmp byte [ebp - 0xd4], 0
jne 0x10030748
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edi + 0x20]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10030d0d
test dl, dl
je 0x10030d09
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10030d0d
add eax, 2
add ecx, 2
test dl, dl
jne 0x10030ced
xor eax, eax
jmp 0x10030d14
sbb eax, eax
xor ecx, ecx
inc ecx
or eax, ecx
test eax, eax
je 0x10030748
mov esi, dword [edi + 0x20]
mov dword [ebp - 0xec], esi
mov esi, dword [edi + 8]
jmp 0x1003074e
lea eax, [esi + 0x1550]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.10007f49
add esp, 0xc
movss xmm0, dword [eax]
push ecx
push ecx
and dword [esp + 4], 0
lea ecx, [ebp - 0x28]
and dword [esp], 0
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x1c], xmm0
call fcn.10004789
cmp byte [ebp - 0xb7], 0
je 0x10030d7f
mov eax, dword [edi + 0x20]
mov dword [ebp - 0xd0], eax
xor eax, eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x6c], eax
mov al, byte [ebp - 0xb9]
test al, al
je 0x10030dc5
mov eax, dword [ebp - 0x11c]
mov ecx, eax
mov dword [ebp - 0xd0], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10030da5
mov eax, dword [ebp - 0x11c]
sub ecx, edx
add eax, ecx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x6c], eax
mov al, byte [ebp - 0xb9]
cmp byte [ebp - 0xb5], 0
jne 0x10030eea
cmp byte [ebp - 0xb8], 0
jne 0x10030eea
cmp byte [ebp - 0xc4], 0
je 0x10030e3c
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0xd0]
call fcn.1002ecfa
lea ecx, [ebp - 0x130]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x18d8]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x15c]
movss dword [esp], xmm0
call fcn.10004789
mov edi, dword [ebp - 0x6c]
movss xmm0, dword [eax]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x24], xmm0
jmp 0x10030e8a
test al, al
jne 0x10030e71
mov eax, dword [ebp - 0xcc]
cmp dword [esi + 0x1a48], eax
jne 0x10030e59
mov edi, dword [edi + 8]
add edi, dword [ebp - 0xd0]
jmp 0x10030e77
mov edi, dword [ebp - 0xd0]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10030e64
sub ecx, edx
add edi, ecx
jmp 0x10030e77
mov edi, dword [ebp - 0xe0]
mov eax, edi
sub eax, dword [ebp - 0xd0]
cmp eax, 0x200000
jge 0x10031837
movzx eax, byte [ebp - 0xb9]
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.1000d47e
movss xmm0, dword [esi + 0x18d8]
xor edx, edx
cmp byte [ebp - 0xc4], dl
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
cmovne ecx, edx
push ecx
push ecx
and dword [esp], edx
push edi
push dword [ebp - 0xd0]
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xe8]
push ecx
movss dword [esp], xmm0
push dword [esi + 0x18d4]
mov ecx, dword [eax + 0x294]
call fcn.10019cd7
jmp 0x10031837
test edi, edi
jne 0x10030f06
push 0x110e
push 0x1009ae30
push str.state___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp byte [ebp - 0xb9], 0
jne 0x10030f1e
mov eax, dword [edi + 8]
add eax, dword [ebp - 0xd0]
mov dword [ebp - 0xe0], eax
mov esi, dword [edi + 0x14]
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xc0], esi
call fcn.1000782a
lea ecx, [ebp - 0x118]
call fcn.1000782a
and dword [ebp - 0x14], 0
mov eax, 0xfffffc18
and dword [ebp - 0x11c], 0
xor ecx, ecx
mov edx, eax
mov dword [ebp - 0x138], eax
cmp byte [ebp - 0xb5], cl
je 0x10030f74
mov eax, dword [edi + 0x3c]
or dword [ebp - 0x138], 0xffffffff
lea eax, [esi + eax*2]
mov dword [ebp - 0x14], eax
xor eax, eax
lea ecx, [eax + 1]
cmp byte [ebp - 0xb8], 0
je 0x10030f98
push dword [edi + 0x44]
push dword [edi + 0x40]
call fcn.100064e8
add esp, 8
or edx, 0xffffffff
inc ecx
lea eax, [esi + eax*2]
mov dword [ebp - 0x11c], eax
mov edi, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
movzx eax, al
add ecx, eax
xor eax, eax
movzx edi, word [edi]
mov dword [ebp - 0xf8], edi
test di, di
mov edi, dword [ebp - 0x100]
mov dword [ebp - 0xe4], eax
je 0x10031036
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xe4]
movzx eax, ax
cmp ax, word [ebp - 0x140]
jne 0x10031011
inc edi
cmp dword [ebp - 0x138], 0xffffffff
mov dword [ebp - 0xe4], edi
jne 0x10030ffd
cmp esi, dword [ebp - 0x14]
jb 0x10030ffd
dec ecx
mov dword [ebp - 0x138], edi
test ecx, ecx
jle 0x1003102a
cmp edx, 0xffffffff
jne 0x10031011
cmp esi, dword [ebp - 0x11c]
jb 0x10031011
dec ecx
mov edx, edi
test ecx, ecx
jle 0x1003102a
add esi, 2
movzx eax, word [esi]
mov edi, eax
mov dword [ebp - 0xf8], edi
mov edi, dword [ebp - 0xe4]
test ax, ax
jne 0x10030fd4
mov edi, dword [ebp - 0x100]
mov eax, dword [ebp - 0xe4]
push dword [ebp - 0xc0]
inc eax
cmp dword [ebp - 0x138], 0xffffffff
push dword [ebp - 0x14]
mov esi, eax
mov dword [ebp - 0xe4], eax
cmovne esi, dword [ebp - 0x138]
cmp edx, 0xffffffff
cmove edx, eax
mov dword [ebp - 0xf8], edx
call fcn.1000e41f
xor ecx, ecx
push ecx
push ecx
push ecx
push dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.1002ed32
add esp, 0x20
cmp dword [ebp - 0xf8], 0
movss xmm0, dword [eax]
mov eax, dword [ebp - 0xd8]
movss dword [ebp - 0x124], xmm0
movss dword [ebp - 0xf0], xmm0
movd xmm0, esi
movss xmm1, dword [eax + 0x18d8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x104], xmm0
movss dword [ebp - 0xec], xmm0
jl 0x10031120
push dword [ebp - 0xc0]
mov esi, dword [ebp - 0x11c]
push esi
call fcn.1000e41f
xor ecx, ecx
push ecx
push ecx
push ecx
push esi
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.1002ed32
mov esi, dword [ebp - 0xd8]
add esp, 0x20
movss xmm0, dword [eax]
movss xmm1, dword [esi + 0x18d8]
movss dword [ebp - 0x118], xmm0
movd xmm0, dword [ebp - 0xf8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x114], xmm0
jmp 0x10031122
mov esi, eax
mov ecx, dword [ebp - 0xc4]
test cl, cl
je 0x10031174
movd xmm0, dword [ebp - 0xe4]
cvtdq2ps xmm0, xmm0
push ecx
push ecx
lea ecx, [ebp - 0xfc]
mulss xmm0, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x15c]
movss dword [esp], xmm0
call fcn.10004789
mov ecx, dword [ebp - 0xc4]
movss xmm0, dword [eax]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x24], xmm0
cmp byte [ebp - 0xb5], 0
je 0x100312eb
cmp byte [edi + 0xe6c], 0
je 0x100312eb
test dword [ebp + 0x1c], 0x1000
jne 0x10031203
movss xmm3, dword [ebp - 0x15c]
movss xmm2, dword [edi + 0x38]
movaps xmm1, xmm3
movss xmm0, dword [ebp - 0x124]
comiss xmm2, xmm0
mulss xmm1, dword [0x1007df04]
jbe 0x100311e4
subss xmm0, xmm1
push ecx
push ecx
movss dword [esp + 4], xmm0
and dword [esp], 0
call fcn.100064d1
fstp dword [ebp - 0xf8]
cvttss2si eax, dword [ebp - 0xf8]
add esp, 8
jmp 0x100311f5
subss xmm0, xmm3
comiss xmm0, xmm2
jb 0x10031207
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x10031207
and dword [edi + 0x38], 0
test cl, cl
je 0x100312e4
movss xmm0, dword [ebp - 0x104]
movss xmm2, dword [ebp - 0x154]
movaps xmm1, xmm0
subss xmm1, dword [esi + 0x18d8]
comiss xmm2, xmm1
jbe 0x1003125b
push ecx
push ecx
movss dword [esp + 4], xmm1
and dword [esp], 0
call fcn.100064d1
movss xmm1, dword [ebp - 0x110]
add esp, 8
fstp dword [ebp - 0x11c]
movss xmm2, dword [ebp - 0x11c]
jmp 0x1003127c
movss xmm1, dword [ebp - 0x110]
subss xmm0, xmm1
comiss xmm0, xmm2
jb 0x1003127c
movss xmm2, dword [esi + 0x1554]
addss xmm2, xmm2
addss xmm2, xmm0
movss xmm0, dword [esi + 0x1554]
addss xmm0, xmm0
push ecx
push ecx
and dword [esp + 4], 0
addss xmm0, dword [ebp - 0x24]
subss xmm0, xmm1
movss dword [esp], xmm0
call fcn.100064d1
fstp dword [esp + 4]
and dword [esp], 0
push ecx
movss dword [esp], xmm2
call fcn.1000648e
mov eax, dword [ebp - 0xe8]
add esp, 0xc
fstp dword [ebp - 0x11c]
movss xmm1, dword [ebp - 0x11c]
movss xmm0, dword [eax + 0x54]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x1c], xmm0
movss dword [eax + 0x54], xmm1
mov byte [edi + 0xe6c], 0
movss xmm0, dword [edi + 0x38]
push ecx
push ecx
and dword [esp + 4], 0
lea ecx, [ebp - 0x150]
movss dword [esp], xmm0
call fcn.10004789
cmp byte [ebp - 0xb8], 0
je 0x100315aa
push dword [edi + 0x44]
push dword [edi + 0x40]
call fcn.100064e8
mov ecx, dword [ebp - 0xc0]
push dword [edi + 0x44]
push dword [edi + 0x40]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x124], eax
call fcn.10017bcd
add esp, 0x10
cmp byte [ebp - 0xb5], 0
lea eax, [ecx + eax*2]
mov dword [ebp - 0x11c], eax
je 0x10031358
movss xmm0, dword [0x1003fd74]
jmp 0x10031360
movss xmm0, dword [0x1007df10]
push ecx
movss dword [esp], xmm0
push 0x2a
call fcn.1000d47e
cmp byte [ebp - 0xc4], 0
pop ecx
pop ecx
mov dword [ebp - 0x104], eax
je 0x1003138b
xorps xmm0, xmm0
movss dword [ebp - 0x12c], xmm0
jmp 0x10031393
movss xmm0, dword [0x1003fd78]
lea eax, [ebp - 0x150]
movss dword [ebp - 0xf8], xmm0
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.10007f49
add esp, 0xc
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.10007f14
mov ecx, dword [ebp - 0x124]
add esp, 0xc
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x110], ecx
cmp ecx, edx
jae 0x100315aa
movss xmm1, dword [ebp - 0x114]
mov edi, dword [ebp - 0x104]
movss dword [ebp - 0x6c], xmm1
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [esi + 0x18d8]
comiss xmm1, xmm0
ja 0x100315a4
movss xmm0, dword [ebp - 0x4c]
comiss xmm0, xmm1
ja 0x100316d1
xor eax, eax
inc eax
push eax
push 0
lea eax, [ebp - 0x110]
push eax
push edx
push ecx
lea eax, [ebp - 0x108]
push eax
call fcn.1002ed32
movss xmm0, dword [ebp - 0x108]
xorps xmm1, xmm1
add esp, 0x18
comiss xmm1, xmm0
jb 0x10031478
mov ecx, dword [esi + 0x18d4]
push 0x20
call fcn.1002e79d
fmul dword [0x1007df0c]
fstp dword [ebp - 0x124]
cvttss2si eax, dword [ebp - 0x124]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x108], xmm0
movss xmm1, dword [ebp - 0xf8]
push ecx
push ecx
movss dword [esp + 4], xmm1
lea ecx, [ebp - 0x13c]
movss dword [esp], xmm0
call fcn.10004789
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10007f49
movss xmm0, dword [ebp - 0x12c]
lea ecx, [ebp - 0x158]
mov esi, eax
add esp, 4
mov eax, dword [ebp - 0xd8]
subss xmm0, dword [eax + 0x18d8]
movss dword [esp + 4], xmm0
and dword [esp], 0
call fcn.10004789
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.10007f49
add esp, 0xc
lea ecx, [ebp - 0x40]
push esi
push eax
call fcn.10007748
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x180]
call fcn.1000776c
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x40]
call fcn.1000b2ff
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x170]
call fcn.1000776c
lea eax, [ebp - 0x170]
push eax
lea ecx, [ebp - 0x40]
call fcn.10012882
test al, al
je 0x1003155b
push 0xf
push ecx
and dword [esp], 0
lea eax, [ebp - 0x38]
push edi
push eax
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x294]
call fcn.10019c7c
mov edx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0xd8]
movss xmm1, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x110]
movss xmm0, dword [ebp - 0x20]
addss xmm1, dword [esi + 0x18d8]
subss xmm0, dword [ebp - 0x150]
movss dword [ebp - 0x6c], xmm1
movss dword [ebp - 0x118], xmm0
movss dword [ebp - 0x114], xmm1
cmp ecx, edx
jb 0x100313f6
mov edi, dword [ebp - 0x100]
cmp byte [ebp - 0xc4], 0
jne 0x100315ca
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0xd0]
cmp eax, 0x200000
jge 0x1003164f
movzx eax, byte [ebp - 0xb9]
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.1000d47e
mov esi, eax
mov eax, dword [ebp - 0xe8]
mov edi, dword [eax + 0x294]
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10007f14
add esp, 0x14
lea ecx, [ebp - 0x50]
xor edx, edx
cmp byte [ebp - 0xc4], dl
cmovne ecx, edx
push ecx
push ecx
and dword [esp], edx
push dword [ebp - 0xe0]
push dword [ebp - 0xd0]
push esi
mov esi, dword [ebp - 0xd8]
push eax
push ecx
mov ecx, edi
movss xmm0, dword [esi + 0x18d8]
movss dword [esp], xmm0
push dword [esi + 0x18d4]
call fcn.10019cd7
mov edi, dword [ebp - 0x100]
cmp byte [ebp - 0xb5], 0
je 0x10031831
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0xb2], 0
je 0x100316da
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x100316da
push ecx
push ecx
mov dword [esp + 4], 0x3f99999a
movss dword [esp], xmm0
call fcn.10017ac6
movss xmm0, dword [0x1007df2c]
fstp dword [ebp - 0x12c]
comiss xmm0, dword [ebp - 0x12c]
pop ecx
pop ecx
jae 0x100316da
mov byte [ebp - 0xb7], 0
jmp 0x100316e3
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 0x110], ecx
cmp ax, word [ebp - 0x140]
je 0x10031572
cmp ecx, edx
jb 0x100316b8
jmp 0x10031572
xor eax, eax
inc eax
mov byte [ebp - 0xb7], al
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.10007f49
add esp, 0xc
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.10007f14
movss xmm0, dword [ebp - 0x12c]
subss xmm0, dword [0x1009fac0]
movss xmm2, dword [ebp - 0x130]
movss dword [esp + 8], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x1003fd74]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x12c]
subss xmm0, dword [esi + 0x18d8]
addss xmm0, dword [0x1007df0c]
movss dword [esp], xmm0
push ecx
lea ecx, [ebp - 0x40]
movss dword [esp], xmm2
call fcn.100077b8
cmp byte [ebp - 0xb7], 0
je 0x100317df
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x170]
call fcn.1000776c
lea eax, [ebp - 0x170]
push eax
lea ecx, [ebp - 0x40]
call fcn.10012882
test al, al
je 0x100317df
mov eax, dword [ebp - 0xe8]
push ecx
mov dword [esp], 0x3f800000
push 0
mov edi, dword [eax + 0x294]
call fcn.1000d47e
pop ecx
pop ecx
mov esi, eax
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x144]
push eax
call fcn.1000d377
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push esi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.10018c20
mov esi, dword [ebp - 0xd8]
cmp byte [ebp - 0xd4], 0
jne 0x10031831
movss xmm0, dword [ebp - 0x12c]
subss xmm0, dword [esi + 0x18d8]
push ecx
push ecx
lea ecx, [ebp - 0x130]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x130]
subss xmm0, dword [0x1003fd74]
movss dword [esp], xmm0
call fcn.10004789
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x2de4], ecx
mov dword [esi + 0x2de8], eax
mov edi, dword [ebp - 0xe0]
cmp byte [ebp - 0x134], 0
je 0x1003184e
cmp byte [ebp - 0xb9], 0
jne 0x1003184e
call fcn.10012952
cmp byte [ebp - 0xc4], 0
je 0x1003186b
lea eax, [ebp - 0x28]
push eax
call fcn.1002e35e
pop ecx
call fcn.1000ba33
call fcn.1000bea2
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x2e2c], 0
je 0x100318a5
cmp byte [ebp - 0x134], 0
je 0x1003188c
cmp byte [ebp - 0xb9], 0
je 0x100318a5
push edi
push dword [ebp - 0xd0]
lea eax, [ebp - 0x20]
push eax
call fcn.1000f793
mov eax, dword [ebp - 0xd8]
add esp, 0xc
movss xmm0, dword [ebp - 0x58]
comiss xmm0, dword [0x1003f698]
jbe 0x100318fe
movss xmm0, dword [ebp - 0x7c]
addss xmm0, dword [eax + 0x1554]
push ecx
push ecx
lea ecx, [ebp - 0x120]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x78]
addss xmm0, dword [eax + 0x1568]
movss dword [esp], xmm0
call fcn.10004789
xor ecx, ecx
inc ecx
push ecx
push 0
push dword [ebp - 0x148]
push dword [eax + 4]
push dword [eax]
call fcn.100131fc
add esp, 0x14
cmp byte [ebp - 0xc5], 0
mov eax, dword [ebp + 0x1c]
je 0x10031920
test eax, 0x200000
jne 0x10031920
push dword [ebp - 0xcc]
call fcn.1000f9ae
mov eax, dword [ebp + 0x1c]
pop ecx
movzx ecx, byte [ebp - 0xc6]
test al, 0x20
movzx eax, byte [ebp - 0xc5]
cmovne eax, ecx
jmp 0x1002f160