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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc4
push ebx
mov eax, ecx
push esi
mov esi, dword [0x101faf00]
mov dword [ebp - 0xb0], eax
movss xmm1, dword [eax + 0x94]
push edi
mov eax, dword [esi + 0x19b0]
movss dword [ebp - 0x90], xmm1
mov dword [ebp - 0xc], esi
mov byte [eax + 0x8c], 1
mov edi, dword [esi + 0x19b0]
mov dword [ebp - 0x3c], edi
cmp byte [edi + 0x8f], 0
jne 0x10095bb7
movaps xmm0, xmm1
mov dword [ebp - 0x84], 0x3f800000
mulss xmm0, dword [0x10161a18]
lea eax, [ebp - 0x6c]
push eax
lea ecx, [esi + 0x1a9c]
mov dword [ebp - 0x80], 0x3f800000
mov dword [ebp - 0x7c], 0x3f800000
movss dword [ebp - 0x78], xmm0
movups xmm0, xmmword [esi + 0x15c0]
mov dword [ebp - 0x6c], 0
movups xmmword [ebp - 0x68], xmm0
call fcn.1001a840
movups xmm0, xmmword [ebp - 0x84]
xor edx, edx
movups xmmword [esi + 0x15c0], xmm0
mov ecx, dword [edi + 0xcc]
mov eax, dword [edi + 0xd4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp + 8]
call fcn.10009ef0
mov edx, dword [0x101faf00]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x18], ebx
cmp dword [edx + 0x19ec], ebx
jne 0x10093c7d
mov dword [edx + 0x19f0], ebx
cmp dword [edx + 0x1a20], ebx
jne 0x10093c8c
mov byte [edx + 0x1a24], 1
mov eax, dword [ebp + 8]
cmp eax, 0xffffffff
jae 0x10093d02
mov cl, byte [eax]
test cl, cl
je 0x10093caa
cmp cl, 0x23
jne 0x10093ca4
cmp byte [eax + 1], cl
je 0x10093caa
inc eax
cmp eax, 0xffffffff
jb 0x10093c94
mov ecx, dword [ebp + 8]
cmp ecx, eax
je 0x10093d02
movss xmm2, dword [edx + 0x18c4]
push ecx
push eax
push ecx
push ecx
mov ecx, dword [edx + 0x18c0]
lea eax, [ebp - 0x58]
mov dword [esp], 0xbf800000
push eax
call fcn.10027be0
movss xmm0, dword [ebp - 0x58]
addss xmm0, dword [0x10161a78]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0x54]
movss dword [ebp - 0xbc], xmm0
jmp 0x10093d0d
xorps xmm1, xmm1
movss dword [ebp - 0xb4], xmm1
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x58]
movss xmm1, dword [edi + 0xd8]
movss xmm0, dword [edi + 0xdc]
movss dword [ebp - 0x94], xmm1
movss xmm4, dword [eax]
movss xmm5, dword [eax + 4]
movaps xmm6, xmm4
mulss xmm6, dword [0x10161a18]
movaps xmm2, xmm5
addss xmm2, xmm0
movss dword [ebp - 0xc0], xmm1
movss dword [ebp - 0x98], xmm0
subss xmm6, dword [0x10161b78]
movss dword [ebp - 0xbc], xmm0
subss xmm4, xmm6
addss xmm4, xmm1
movss xmm1, dword [0x10161b5c]
subss xmm2, xmm1
addss xmm0, xmm1
subss xmm5, xmm1
movaps xmm3, xmm4
movss dword [ebp - 0x68], xmm4
addss xmm3, xmm6
movss dword [ebp - 0x5c], xmm2
addss xmm2, dword [0x10161b98]
subss xmm6, xmm1
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0x84], xmm4
movss dword [ebp - 0x80], xmm0
subss xmm3, xmm1
movss dword [ebp - 0x44], xmm5
movss xmm1, dword [esi + 0x154c]
movss dword [ebp - 0x78], xmm2
subss xmm2, xmm0
movss dword [ebp - 0x74], xmm6
movss dword [ebp - 0x60], xmm3
movss dword [ebp - 0x7c], xmm3
subss xmm3, xmm4
movss dword [ebp - 0x54], xmm2
movss dword [ebp - 0x58], xmm3
call fcn.1000cfb0
lea eax, [ebp - 0x68]
mov edx, ebx
push eax
lea ecx, [ebp - 0x84]
call fcn.1000d0d0
add esp, 4
test al, al
je 0x10095bb7
mov edx, ebx
lea ecx, [ebp - 0x68]
call fcn.1000d370
mov bh, al
mov byte [ebp - 4], bh
test bh, bh
je 0x10093e26
mov dword [esi + 0x1d38], 1
mov eax, dword [ebp - 0x18]
add esi, 0x1e08
xor ecx, ecx
mov dword [ebp - 0x50], esi
mov edi, esi
cmp dword [esi], eax
cmovne edi, ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edi
mov eax, dword [ecx + 0x174]
mov edx, dword [ecx + 0x17c]
lea eax, [eax + 1]
mov dword [ecx + 0x174], eax
and edx, 5
jne 0x10093e61
inc dword [ecx + 0x178]
mov ecx, dword [0x101faf00]
mov edi, dword [ebp - 0x3c]
cmp dword [ecx + 0x1be4], edi
jne 0x10093eca
cmp eax, dword [ecx + 0x1bec]
je 0x10093e95
test edx, edx
jne 0x10093eb6
mov eax, dword [edi + 0x178]
cmp eax, dword [ecx + 0x1bf0]
jne 0x10093eb6
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x1af0], eax
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1be4], edi
jne 0x10093ee7
mov eax, dword [ecx + 0x1bec]
cmp eax, dword [edi + 0x174]
jne 0x10093ee7
mov byte [ebp - 0xe], 1
mov al, 1
jmp 0x10093ed2
mov eax, dword [ebp - 0x18]
cmp dword [ecx + 0x19ec], eax
jne 0x10093eca
xor edx, edx
xor ecx, ecx
call fcn.1000ce10
mov ecx, dword [ebp - 0xc]
xor al, al
mov byte [ebp - 0xe], al
mov byte [ebp - 0x11], 0
test bh, bh
je 0x10093ef3
cmp byte [ecx + 0x3d8], 0
je 0x10093ef3
mov dl, 1
jmp 0x10093ef5
mov byte [ebp - 0xe], 0
mov al, 1
mov byte [ebp - 0x11], 1
jmp 0x10093ed6
xor dl, dl
mov ecx, dword [ecx + 0x19ec]
mov edi, dword [ebp - 0x30]
mov byte [ebp - 0x10], dl
cmp ecx, dword [ebp - 0x18]
je 0x10093f45
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x18]
cmp dword [edi + 0x1aec], esi
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x50]
je 0x10093f3d
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x18]
cmp dword [edi + 0x1ae0], esi
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x50]
jne 0x10093f45
mov edi, dword [ebp - 0xc]
cmp dword [edi + 0x1b00], 3
mov edi, dword [ebp - 0x30]
jne 0x10093f45
mov byte [ebp - 0x28], 1
mov bl, 1
jmp 0x10093f4b
mov byte [ebp - 0x28], 0
xor bl, bl
mov byte [ebp - 5], bl
mov dword [ebp - 0x50], 1
test al, al
jne 0x10093f65
test dl, dl
jne 0x10093f65
test bl, bl
je 0x1009415d
mov bl, 1
mov dword [ebp - 0x30], edi
mov byte [ebp - 0xd], bl
cmp ecx, dword [ebp - 0x18]
je 0x1009415d
mov ecx, dword [ebp + 0x10]
mov edi, esi
mov dword [ebp - 0x30], edi
mov dword [edi + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10093f90
mov ebx, dword [edi + 0x28]
lea eax, [edi + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, ebx
jle 0x10093fcf
test ebx, ebx
je 0x10093fb7
mov eax, ebx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, ebx
jmp 0x10093fbc
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [edi + 0x24]
push eax
call fcn.1001ac00
lea eax, [edi + 0x24]
push esi
push dword [ebp + 0x10]
mov dword [eax], esi
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov ebx, dword [ebp + 0x14]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc ebx
add esp, 0xc
cmp ebx, esi
jle 0x10094017
test esi, esi
je 0x10093fff
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x10094004
mov ecx, 8
cmp ecx, ebx
mov eax, ebx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.1001ac80
lea eax, [edi + 0xc]
mov dword [eax], ebx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x10094039
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x18]
call fcn.1001ac00
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
dec eax
mov dword [edi + 0x18], 0
mov ebx, edx
mov ecx, dword [edi + 0x14]
mov esi, ecx
mov byte [edi + 0x30], 0
mov dword [ebp - 0x24], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x100940a0
nop dword [eax]
cmp byte [ebx], 0
je 0x1009409d
push 0
mov edx, ebx
lea ecx, [ebp - 0x38]
call fcn.1000a230
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x1009409a
cmp eax, 0xffff
ja 0x1009408a
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x24]
dec eax
lea eax, [ecx + eax*2]
cmp esi, eax
jb 0x10094060
jmp 0x1009409d
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0x10]
xor eax, eax
sub ebx, edx
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x18]
sar esi, 1
mov dword [edi + 4], esi
mov dword [edi + 8], ebx
cmp dword [edi], eax
jne 0x100940dc
cmp dword [edi + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 0x40], ecx
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
jmp 0x1009413b
mov edx, dword [ebp - 0x28]
cmp byte [ebp - 0xe], 0
movzx edx, dl
cmovne edx, dword [ebp - 0x50]
mov dword [edi], eax
mov dword [edi + 0x38], 0
mov dword [edi + 0xe52], 0x630000
mov dword [edi + 0xe58], 0
mov dword [edi + 0xe5c], 0x3e7
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x48], 0x10000
mov dword [edi + 0x50], 0
mov byte [edi + 0x4c], 1
mov dword [ebp - 0x28], edx
cmp byte [ebp - 0x11], 0
jne 0x10094153
cmp byte [ebp - 0x10], 0
je 0x10094157
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x100], 0
je 0x10094157
mov byte [ebp - 0x28], 1
mov bl, byte [ebp - 0xd]
mov bh, byte [ebp - 4]
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x18]
mov eax, dword [edx + 0x19ec]
cmp eax, esi
je 0x100941b4
test bl, bl
je 0x100941b4
mov edx, dword [ebp - 0x3c]
mov ecx, esi
call fcn.1000ce10
call fcn.1000cef0
mov ecx, edx
call fcn.10014b30
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x1a0c]
or dword [edx + 0x1a00], 3
or dword [edx + 0x1a04], 2
or dword [edx + 0x1a08], 0x180
mov dword [edx + 0x1a0c], eax
mov eax, dword [edx + 0x19ec]
mov ecx, eax
cmp eax, esi
jne 0x100941f5
test edi, edi
jne 0x100941d6
xor edx, edx
xor ecx, ecx
call fcn.1000ce10
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x19ec]
mov eax, ecx
cmp eax, esi
jne 0x100941f5
cmp byte [edx + 0x3d8], 0
mov byte [ebp - 0x20], 0
je 0x100941f1
xor al, al
test bl, bl
movzx eax, al
cmove eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
mov bl, 1
jmp 0x100941fa
xor bl, bl
mov byte [ebp - 0x20], bl
mov byte [ebp - 4], bl
test edi, edi
je 0x10094213
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10094213
test bl, bl
je 0x10094217
mov byte [ebp - 3], 1
jmp 0x10094227
test bl, bl
jne 0x1009421f
mov byte [ebp - 3], 0
cmp ecx, esi
jne 0x10094231
mov byte [ebp - 3], 0
test edi, edi
je 0x10094231
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x2a], 1
jne 0x10094235
mov byte [ebp - 0x2a], 0
movss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x70], xmm0
cmp ecx, esi
jne 0x10094510
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x34], eax
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
mov cl, byte [edx + 0xf0]
movss xmm2, dword [edx + 0x18c4]
test cl, cl
mulss xmm2, dword [0x10161a18]
sete al
mov dword [edx + 0x2f84], 1
cmp byte [ebp - 0x28], 0
mov byte [edx + 0x19f9], al
movss xmm5, dword [edx + 0xe8]
mov bl, byte [edx + 0xb1]
subss xmm5, xmm0
subss xmm5, dword [edx + 0x1548]
addss xmm5, dword [edi + 0x38]
jne 0x10094415
test bh, bh
je 0x100942d5
mov al, byte [edx + 0x3e2]
test bl, bl
jne 0x1009433d
test al, al
jne 0x10094415
cmp byte [edx + 0x3d8], 0
mov al, byte [edi + 0xe65]
je 0x1009438f
test al, al
jne 0x1009438f
test bh, bh
je 0x10094430
cmp byte [edi + 0x4c], al
je 0x10094314
push 0
mov edx, edi
lea ecx, [ebp - 0x8c]
call fcn.1002b840
movss xmm2, dword [ebp - 0x80]
add esp, 4
movaps xmm1, xmm5
mov ecx, edi
call fcn.1002bb40
mov edx, dword [ebp - 0xc]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x4b], 0
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x10094430
test al, al
je 0x100942d5
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002bf20
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.1002bf20
mov edx, dword [ebp - 0xc]
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x10094430
test cl, cl
je 0x10094430
test al, al
jne 0x10094430
movss xmm0, dword [edx + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100943c4
movss xmm0, dword [edx + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10094430
cmp byte [edi + 0x4c], 0
je 0x100943e1
push 0
mov edx, edi
lea ecx, [ebp - 0x8c]
call fcn.1002b840
movss xmm2, dword [ebp - 0x80]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100943ef
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm5
mov ecx, edi
call fcn.1002bb40
mov edx, dword [ebp - 0xc]
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe60], 0xbe99999a
mov byte [edi + 0xe64], 1
jmp 0x10094430
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe65], 1
cmp byte [edi + 0xe65], 0
je 0x10094449
cmp byte [edx + 0xf0], 0
jne 0x10094449
mov byte [edi + 0xe65], 0
cmp byte [edx + 0x100], 0
je 0x1009445b
cmp byte [edx + 0x102], 0
je 0x10094468
test bl, bl
je 0x1009446c
cmp byte [edx + 0x103], 0
je 0x1009446c
mov al, 1
jmp 0x1009446e
xor al, al
cmp dword [edx + 0x1500], 0
lea ebx, [edx + 0x1500]
jle 0x10094510
test al, al
jne 0x100944e8
cmp byte [ebp - 5], al
jne 0x100944e8
xor esi, esi
nop dword [eax]
mov eax, dword [edx + 0x1508]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0x24], eax
cmp eax, 9
jne 0x100944ab
cmp byte [edx + 0x101], 0
jne 0x100944e3
sub esp, 8
lea ecx, [ebp - 0x24]
xor edx, edx
call fcn.10030dd0
add esp, 8
test al, al
je 0x100944e0
push dword [ebp - 0x24]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002bf20
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [ebx]
jl 0x10094490
mov ecx, dword [ebx + 4]
test ecx, ecx
jns 0x10094507
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, ebx
call fcn.1001ac80
mov edx, dword [ebp - 0xc]
mov dword [ebx], 0
mov eax, dword [edx + 0x19ec]
xor cl, cl
mov byte [ebp - 2], cl
mov byte [ebp - 1], cl
cmp eax, dword [ebp - 0x18]
jne 0x10094c10
mov byte [ebp - 1], cl
cmp byte [edx + 0x19f8], cl
jne 0x10094c5d
mov byte [ebp - 1], cl
cmp byte [ebp - 0x20], cl
jne 0x10094c5d
mov dl, byte [edx + 0x101]
xor esi, esi
test dl, dl
mov eax, 0x400000
cmovne esi, eax
mov eax, dword [ebp - 0xc]
mov ch, byte [eax + 0xb1]
mov bl, byte [eax + 0x100]
mov byte [ebp - 0x45], ch
mov byte [ebp - 0xe], bl
test ch, ch
je 0x1009458d
cmp byte [eax + 0x103], cl
je 0x10094580
test bl, bl
jne 0x10094580
mov eax, 1
jmp 0x10094584
xor eax, eax
mov cl, bl
test eax, eax
je 0x100945af
mov eax, dword [ebp - 0xc]
jmp 0x1009459c
test bl, bl
je 0x100945ad
cmp byte [eax + 0x103], 0
jne 0x100945ad
mov cl, bl
cmp byte [eax + 0x102], 0
jne 0x100945af
test dl, dl
jne 0x100945af
mov ah, 1
jmp 0x100945b1
mov cl, bl
xor ah, ah
mov byte [ebp - 1], ah
mov al, cl
test ch, ch
je 0x100945e6
mov edi, dword [ebp - 0xc]
cmp byte [edi + 0x103], 0
mov edi, dword [ebp - 0x30]
je 0x100945e6
test dl, dl
je 0x100945e6
mov al, bl
test bl, bl
mov ebx, dword [ebp - 0xc]
jne 0x100945e9
xor al, al
cmp byte [ebx + 0x102], al
jne 0x100945e9
mov byte [ebp - 5], 1
jmp 0x100945f1
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 5], 0
test ch, ch
je 0x1009466c
cmp byte [ebx + 0x103], 0
mov cl, byte [ebx + 0x102]
mov byte [ebp - 0xd], cl
je 0x10094673
test al, al
jne 0x10094673
test cl, cl
jne 0x10094673
mov byte [ebp - 0x10], 1
mov byte [ebp - 0x12], 0
test dl, dl
je 0x1009462f
test al, al
jne 0x1009462f
cmp byte [ebx + 0x102], al
jne 0x1009462f
mov byte [ebp - 0xf], 1
cmp byte [ebx + 0x103], al
je 0x10094633
mov byte [ebp - 0xf], 0
mov ebx, dword [0x101faf00]
test ah, ah
je 0x10094650
mov ecx, dword [ebx + 0x80]
test ecx, ecx
js 0x10094650
call fcn.1000f850
test al, al
jne 0x10094666
cmp byte [ebp - 0xf], 0
je 0x10094695
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
js 0x10094695
call fcn.1000f850
test al, al
je 0x10094695
mov byte [ebp - 0x11], 1
jmp 0x10094699
mov byte [ebp - 0xd], al
mov byte [ebp - 5], 0
mov byte [ebp - 0x10], 0
test al, al
je 0x1009460f
test dl, dl
jne 0x1009460f
cmp byte [ebx + 0x102], dl
jne 0x1009460f
cmp byte [ebx + 0x103], dl
jne 0x1009460f
mov byte [ebp - 0x12], 1
jmp 0x1009462f
mov byte [ebp - 0x11], 0
cmp byte [ebp - 1], 0
je 0x100946af
mov ecx, dword [ebx + 0x78]
test ecx, ecx
js 0x100946af
call fcn.1000f850
test al, al
jne 0x100946c5
cmp byte [ebp - 0x12], 0
je 0x100946cb
mov ecx, dword [ebx + 0x58]
test ecx, ecx
js 0x100946cb
call fcn.1000f850
test al, al
je 0x100946cb
mov byte [ebp - 0x29], 1
jmp 0x100946cf
mov byte [ebp - 0x29], 0
cmp byte [ebp - 1], 0
je 0x100946e5
mov ecx, dword [ebx + 0x7c]
test ecx, ecx
js 0x100946e5
call fcn.1000f850
test al, al
jne 0x100946fb
cmp byte [ebp - 0xf], 0
je 0x10094701
mov ecx, dword [ebx + 0x58]
test ecx, ecx
js 0x10094701
call fcn.1000f850
test al, al
je 0x10094701
mov byte [ebp - 0xf], 1
jmp 0x10094705
mov byte [ebp - 0xf], 0
mov al, byte [ebp - 1]
test al, al
je 0x10094728
mov ecx, dword [ebx + 0x88]
test ecx, ecx
js 0x10094728
call fcn.1000f850
test al, al
je 0x10094725
mov byte [ebp - 0x12], 1
jmp 0x10094730
mov al, byte [ebp - 1]
mov byte [ebp - 0x12], 0
test al, al
je 0x10094743
mov ecx, dword [ebx + 0x84]
test ecx, ecx
js 0x10094743
call fcn.1000f850
test al, al
jne 0x1009475c
cmp byte [ebp - 5], 0
je 0x10094762
mov ecx, dword [ebx + 0x88]
test ecx, ecx
js 0x10094762
call fcn.1000f850
test al, al
je 0x10094762
mov byte [ebp - 5], 1
jmp 0x10094766
mov byte [ebp - 5], 0
mov ecx, dword [ebx + 0x38]
test ecx, ecx
js 0x100947b6
call fcn.1000f850
test al, al
je 0x100947b6
cmp byte [ebp - 0x10], 0
je 0x10094793
mov eax, 0x200004
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.1002bf20
jmp 0x10094bd5
cmp byte [ebp - 0xd], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.1002bf20
jmp 0x10094bd5
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
js 0x10094806
call fcn.1000f850
test al, al
je 0x10094806
cmp byte [ebp - 0x10], 0
je 0x100947e3
mov eax, 0x200005
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.1002bf20
jmp 0x10094bd5
cmp byte [ebp - 0xd], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.1002bf20
jmp 0x10094bd5
mov ecx, dword [ebx + 0x50]
test ecx, ecx
js 0x1009483a
call fcn.1000f850
test al, al
je 0x1009483a
mov eax, esi
lea edx, [edi + 0x3c]
or eax, 0x200006
or esi, 0x200004
cmp byte [ebp - 0xe], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.1002bf20
jmp 0x10094bd5
mov ecx, dword [ebx + 0x54]
test ecx, ecx
js 0x1009486e
call fcn.1000f850
test al, al
je 0x1009486e
mov eax, esi
lea edx, [edi + 0x3c]
or eax, 0x200007
or esi, 0x200005
cmp byte [ebp - 0xe], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.1002bf20
jmp 0x10094bd5
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
js 0x10094894
call fcn.1000f850
test al, al
je 0x10094894
or esi, 0x200008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.1002bf20
jmp 0x10094bd5
mov ecx, dword [ebx + 0x60]
test ecx, ecx
js 0x10094913
call fcn.1000f850
test al, al
je 0x10094913
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100948fd
cmp byte [ebp - 0xd], 0
je 0x100948b9
push 0x60000c
jmp 0x100948df
cmp byte [ebp - 0x45], 0
je 0x100948fd
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x103], 0
je 0x100948fd
cmp byte [eax + 0x102], 0
jne 0x100948fd
cmp byte [ebp - 0xe], 0
jne 0x100948fd
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002bf20
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
or esi, 0x200009
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.1002bf20
jmp 0x10094bd5
mov ecx, dword [ebx + 0x68]
test ecx, ecx
js 0x10094923
call fcn.1000f850
test al, al
jne 0x10094933
mov ecx, dword [ebx + 0x70]
test ecx, ecx
js 0x1009493c
call fcn.1000f850
test al, al
je 0x1009493c
mov byte [ebp - 0x20], 1
jmp 0x10094be9
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
js 0x1009495a
call fcn.1000f850
test al, al
je 0x1009495a
mov cl, 1
mov byte [ebp - 1], 0
mov byte [ebp - 0x20], cl
jmp 0x10094bf0
mov al, byte [ebp - 0x12]
test al, al
jne 0x10094bb6
cmp byte [ebp - 5], al
jne 0x10094bb6
cmp byte [ebp - 1], al
je 0x1009499c
mov ecx, dword [ebx + 0x74]
test ecx, ecx
js 0x1009499c
call fcn.1000f850
test al, al
je 0x1009499c
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x10094be2
mov al, byte [ebp - 0x11]
test al, al
jne 0x10094aaf
cmp byte [ebp - 0x29], al
jne 0x10094aaf
mov byte [ebp - 1], al
cmp byte [ebp - 0xf], al
je 0x10094bed
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x100949e7
push dword [ebx + 0xd8]
call eax
mov esi, eax
mov byte [ebp - 1], 0
add esp, 4
test esi, esi
je 0x10094bed
mov ebx, dword [0x101faf00]
jmp 0x100949ec
mov esi, 0x1015a5b5
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100949f1
sub ecx, edx
test ebx, ebx
je 0x10094a04
inc dword [ebx + 0x374]
push dword [0x101faef8]
lea eax, [ecx*2 + 2]
push eax
call fcn.10009670
xor ebx, ebx
mov dword [ebp - 0x1c], eax
add esp, 8
cmp byte [esi], bl
je 0x10094a64
mov edi, eax
push 0
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.1000a230
add esp, 4
add esi, eax
cmp dword [ebp - 0x34], 0
je 0x10094a5e
sub esp, 8
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.10030dd0
add esp, 8
test al, al
je 0x10094a59
mov ax, word [ebp - 0x34]
mov word [edi + ebx*2], ax
inc ebx
cmp byte [esi], 0
jne 0x10094a25
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov word [eax + ebx*2], cx
test ebx, ebx
jle 0x10094a87
push ebx
push eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.10093a00
mov eax, dword [ebp - 0x1c]
add esp, 8
mov byte [edi + 0xe64], 1
test eax, eax
je 0x10094a9b
mov ecx, dword [0x101faf00]
test ecx, ecx
je 0x10094a9b
dec dword [ecx + 0x374]
push dword [0x101faef8]
push eax
call fcn.10009690
add esp, 8
jmp 0x10094be9
mov ecx, dword [ebp - 0xc]
mov byte [ebp - 1], 0
cmp dword [ecx + 0xd4], 0
je 0x10094b77
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x10094adb
mov edx, ecx
mov byte [ebp - 1], 0
cmovge edx, eax
cmovl ecx, eax
jmp 0x10094ae3
mov edx, dword [edi + 4]
xor ecx, ecx
mov byte [ebp - 1], cl
mov al, byte [ebp - 3]
mov byte [ebp - 3], al
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], edx
lea edx, [eax + edx*2]
lea ecx, [eax + ecx*2]
call fcn.1000a500
inc eax
mov dword [ebp - 0x40], eax
test ebx, ebx
je 0x10094b0b
inc dword [ebx + 0x374]
push dword [0x101faef8]
push eax
call fcn.10009670
mov esi, dword [edi + 0x14]
mov ebx, eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x40]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x38]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, ebx
call fcn.1000a3d0
mov eax, dword [0x101faf00]
add esp, 0x10
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x10094b57
push ebx
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x101faf00]
add esp, 8
test ebx, ebx
je 0x10094b65
test eax, eax
je 0x10094b65
dec dword [eax + 0x374]
push dword [0x101faef8]
push ebx
call fcn.10009690
mov al, byte [ebp - 0x11]
add esp, 8
test al, al
je 0x10094bed
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10094b97
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe64], 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10094bed
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.10093970
mov byte [edi + 0x4b], 0
jmp 0x10094bed
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.1002bf20
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
mov byte [ebp - 1], 0
mov cl, byte [ebp - 2]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10094c02
cmp byte [ebp - 4], 0
je 0x10094c02
mov al, 1
jmp 0x10094c04
xor al, al
or byte [ebp - 3], al
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x19ec]
mov edx, dword [ebp - 0x18]
cmp eax, edx
jne 0x10094d3e
test cl, cl
je 0x10094c5d
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 0x10]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10094c47
test dl, dl
je 0x10094c43
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10094c47
add eax, 2
add ecx, 2
test dl, dl
jne 0x10094c27
xor eax, eax
jmp 0x10094c4c
sbb eax, eax
or eax, 1
test eax, eax
je 0x10094d1d
mov eax, dword [edi + 0x24]
dec eax
jmp 0x10094cec
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
mov ebx, dword [ecx + 4]
lea esi, [eax*4 + 1]
cmp esi, ebx
jle 0x10094c9e
test ebx, ebx
je 0x10094c86
mov eax, ebx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, ebx
jmp 0x10094c8b
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [edi + 0x18]
push eax
call fcn.1001ac00
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.1000a3d0
mov esi, dword [edi + 0x20]
add esp, 8
mov ecx, dword [ebp + 0x10]
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10094ce0
test dl, dl
je 0x10094cdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10094ce0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10094cc0
xor eax, eax
jmp 0x10094ce5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10094d1d
mov eax, dword [edi + 8]
test esi, esi
je 0x10094d1d
mov ebx, dword [ebp + 0x14]
inc eax
cmp eax, ebx
cmovl ebx, eax
cmp ebx, 1
jb 0x10094d19
jbe 0x10094d11
lea eax, [ebx - 1]
push eax
push esi
push dword [ebp + 0x10]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov byte [ebx + eax - 1], 0
mov byte [ebp - 1], 1
mov edx, dword [ebp - 0x18]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [ebp - 0x20], 0
je 0x10094d58
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x19ec], edx
jne 0x10094d58
xor edx, edx
xor ecx, ecx
call fcn.1000ce10
mov esi, dword [ebp + 8]
xor ecx, ecx
mov bl, byte [esi]
test bl, bl
je 0x10094d77
inc ecx
mov edx, ecx
cmp byte [ecx + esi], 0
jne 0x10094d63
mov al, bl
sub al, 0x41
cmp al, 0x19
ja 0x10094d77
add bl, 0x20
test ecx, ecx
jne 0x10094d82
mov esi, 0x84222325
jmp 0x10094d9d
push ecx
lea eax, [ecx - 1]
movsx ecx, bl
push eax
lea edx, [esi + 1]
xor ecx, 0x8601b7df
call fcn.1005c400
add esp, 8
mov esi, eax
xor ecx, ecx
nop
mov edx, ecx
inc ecx
cmp byte [ecx + str.frame], 0
jne 0x10094da0
test ecx, ecx
jne 0x10094db7
mov eax, 0x84222325
jmp 0x10094dcb
push ecx
push edx
mov edx, 0x10160461
mov ecx, 0x8601b7b9
call fcn.1005c400
add esp, 8
add eax, esi
mov esi, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xb8]
push eax
lea ecx, [esi + 0x40]
call fcn.1008a190
cmp byte [ebp - 4], 0
mov edx, eax
mov bl, byte [ebp - 3]
jne 0x10094e04
test bl, bl
jne 0x10094e04
movss xmm6, dword [0x10161a80]
xorps xmm1, xmm1
jmp 0x10094e0f
movss xmm6, dword [0x10161a80]
movaps xmm1, xmm6
movss xmm2, dword [0x101f6f74]
xorps xmm5, xmm5
mulss xmm2, dword [0x10161b38]
movss xmm0, dword [edx + 4]
call fcn.1008a280
movaps xmm1, xmm0
comiss xmm1, xmm6
jbe 0x10094e39
movaps xmm1, xmm6
jmp 0x10094e41
comiss xmm5, xmm1
jbe 0x10094e41
xorps xmm1, xmm1
movaps xmm0, xmm1
movss dword [edx + 4], xmm1
mulss xmm0, dword [0x10161bd0]
mulss xmm1, dword [0x10161be4]
addss xmm0, dword [0x10161c38]
cvttss2si edx, xmm1
mulss xmm0, dword [ebp - 0x90]
cvttss2si eax, xmm0
cmp eax, 0xff
jle 0x10094e7d
or cl, 0xff
jmp 0x10094e8d
test eax, eax
movzx ecx, al
mov dword [ebp + 0x14], 0
cmovs ecx, dword [ebp + 0x14]
movss xmm4, dword [0x10161cc4]
movss xmm7, dword [0x10161a18]
movzx eax, dl
movd xmm1, eax
movzx eax, cl
cvtdq2ps xmm1, xmm1
movd xmm3, eax
mulss xmm1, dword [0x1016196c]
cvtdq2ps xmm3, xmm3
comiss xmm5, xmm1
mulss xmm3, dword [0x1016196c]
jbe 0x10094ecd
xorps xmm2, xmm2
xor ecx, ecx
jmp 0x10094f02
movaps xmm0, xmm1
mov byte [ebp - 3], bl
movaps xmm2, xmm1
minss xmm0, xmm6
minss xmm1, xmm6
minss xmm2, xmm6
mulss xmm0, xmm4
mulss xmm1, xmm4
addss xmm0, xmm7
addss xmm1, xmm7
cvttss2si ecx, xmm0
cvttss2si eax, xmm1
shl ecx, 8
or ecx, eax
shl ecx, 8
mulss xmm2, xmm4
addss xmm2, xmm7
cvttss2si eax, xmm2
or ecx, eax
comiss xmm5, xmm3
jbe 0x10094f1a
xorps xmm3, xmm3
jmp 0x10094f1e
minss xmm3, xmm6
mulss xmm3, xmm4
push 0xf
push ecx
mov dword [esp], 0x40800000
addss xmm3, xmm7
cvttss2si eax, xmm3
shl eax, 0x18
or eax, ecx
mov ecx, dword [esi + 4]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.10024630
cmp byte [ebp - 0x2a], 0
movss xmm2, dword [ebp - 0x68]
movss xmm1, dword [ebp - 0x74]
movss xmm0, dword [ebp - 0x64]
addss xmm1, xmm2
movaps xmm7, xmm0
movss dword [ebp - 0x20], xmm0
addss xmm7, dword [ebp - 0x44]
movss dword [ebp - 0xa8], xmm0
addss xmm0, dword [0x10161b4c]
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0xa4], xmm1
movaps xmm1, xmm2
addss xmm1, dword [0x10161b60]
movss dword [ebp - 0xac], xmm2
movss dword [ebp - 0x38], xmm7
movss dword [ebp - 0xa0], xmm7
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x4c], xmm1
movss dword [ebp - 0x58], xmm1
movss dword [ebp - 0x54], xmm0
je 0x10094fc9
mov edx, dword [edi + 0x20]
mov dword [ebp + 0x10], edx
jmp 0x10094fcc
mov edx, dword [ebp + 0x10]
mov cl, byte [ebp - 4]
test cl, cl
jne 0x10095059
test bl, bl
jne 0x10095059
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
cmp dword [esi + 0x19ec], eax
jne 0x10094ff0
mov edi, dword [edi + 8]
add edi, edx
jmp 0x10095004
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094ff5
sub ecx, edx
mov edx, dword [ebp + 0x10]
lea edi, [edx + ecx]
mov eax, edi
sub eax, edx
cmp eax, 0x200000
jge 0x100958ff
movss xmm1, dword [0x10161a80]
lea eax, [ebp - 0xac]
push eax
push ecx
mov dword [esp], 0
xor ecx, ecx
push edi
push edx
call fcn.1000aad0
mov ecx, dword [ebp - 0x3c]
movss xmm2, dword [esi + 0x18c4]
push eax
lea eax, [ebp - 0x58]
mov ecx, dword [ecx + 0x284]
push eax
push dword [esi + 0x18c0]
call fcn.10024b20
jmp 0x100958ff
mov eax, dword [edi + 8]
mov ebx, 0xfffffc18
mov dword [ebp - 0x5c], eax
xorps xmm6, xmm6
add eax, edx
mov dword [ebp - 0x40], 0
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0x14]
xorps xmm5, xmm5
mov dword [ebp - 0x44], 0
xorps xmm4, xmm4
mov dword [ebp - 0x1c], ebx
mov dword [ebp + 0x14], ebx
test cl, cl
je 0x100950a7
mov ebx, dword [edi + 0x14]
mov eax, dword [edi + 0x3c]
lea eax, [ebx + eax*2]
or ebx, 0xffffffff
mov dword [ebp - 0x40], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x1c], ebx
lea edx, [ebx + 2]
cmp byte [ebp - 3], 0
je 0x100950c8
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [edi + 0x14]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp + 0x14], 0xffffffff
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x44], ecx
mov ecx, eax
xor esi, esi
movzx eax, word [eax]
test ax, ax
je 0x10095122
mov edi, dword [ebp - 0x1c]
mov ebx, eax
nop dword [eax]
cmp bx, 0xa
jne 0x1009510b
inc esi
cmp edi, 0xffffffff
jne 0x100950f8
cmp ecx, dword [ebp - 0x40]
jb 0x100950f8
dec edx
mov edi, esi
test edx, edx
jle 0x10095119
cmp dword [ebp + 0x14], 0xffffffff
jne 0x1009510b
cmp ecx, dword [ebp - 0x44]
jb 0x1009510b
dec edx
mov dword [ebp + 0x14], esi
test edx, edx
jle 0x10095119
movzx eax, word [ecx + 2]
add ecx, 2
mov ebx, eax
test ax, ax
jne 0x100950e0
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x1c]
mov edx, dword [edi + 0x14]
inc esi
cmp ebx, 0xffffffff
mov eax, esi
cmovne eax, ebx
mov ebx, dword [ebp - 0x40]
mov dword [ebp - 0x9c], eax
mov ecx, ebx
mov eax, dword [ebp + 0x14]
cmp eax, 0xffffffff
cmove eax, esi
mov dword [ebp + 0x14], eax
cmp ebx, edx
jbe 0x1009515e
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x1009515e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10095150
mov eax, dword [0x101faf00]
movaps xmm0, xmm6
movss dword [ebp - 0x1c], xmm0
movaps xmm1, xmm6
mov esi, dword [eax + 0x18c0]
movss xmm3, dword [eax + 0x18c4]
divss xmm3, dword [esi + 0x10]
cmp ecx, ebx
jae 0x100951ce
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x100951a0
maxss xmm0, xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x1c], xmm0
jmp 0x100951c7
cmp edx, 0xd
je 0x100951c7
mov edx, eax
cmp edx, dword [esi]
jge 0x100951b5
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x100951ba
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm3
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x1c]
cmp ecx, ebx
jb 0x10095185
mov edx, dword [edi + 0x14]
mov eax, dword [ebp - 0xc]
maxss xmm0, xmm1
movd xmm1, dword [ebp - 0x9c]
mov ebx, dword [ebp + 0x14]
cvtdq2ps xmm1, xmm1
movss xmm2, dword [eax + 0x18c4]
mulss xmm1, xmm2
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x40], xmm1
test ebx, ebx
js 0x10095283
mov eax, dword [ebp - 0x44]
mov ecx, eax
cmp eax, edx
jbe 0x10095221
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x1009521e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10095210
mov eax, dword [ebp - 0x44]
movaps xmm4, xmm6
movaps xmm1, xmm6
cmp ecx, eax
jae 0x10095274
mov edi, dword [ebp - 0x44]
nop
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10095246
maxss xmm4, xmm1
movaps xmm1, xmm6
jmp 0x10095268
cmp edx, 0xd
je 0x10095268
mov edx, eax
cmp edx, dword [esi]
jge 0x1009525b
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x10095260
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm3
addss xmm1, xmm0
cmp ecx, edi
jb 0x10095230
movss xmm0, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x30]
movd xmm5, ebx
maxss xmm4, xmm1
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm2
cmp byte [ebp - 4], 0
je 0x100952de
cmp byte [edi + 0xe64], 0
je 0x100952de
movss xmm3, dword [ebp - 0x74]
movss xmm2, dword [edi + 0x38]
movaps xmm1, xmm3
comiss xmm2, xmm0
mulss xmm1, dword [0x101619d0]
jbe 0x100952ba
subss xmm0, xmm1
maxss xmm0, xmm6
cvttss2si eax, xmm0
jmp 0x100952cb
subss xmm0, xmm3
comiss xmm0, xmm2
jb 0x100952d7
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
mov byte [edi + 0xe64], 0
cmp byte [ebp - 3], 0
movss xmm6, dword [edi + 0x38]
movss dword [ebp + 0x14], xmm6
je 0x10095592
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
mov eax, edx
movss xmm0, dword [ebp - 0x90]
cmp ecx, edx
mulss xmm0, dword [0x10161bd0]
mov ebx, dword [edi + 0x14]
cmovl eax, ecx
cmovge edx, ecx
cvttss2si ecx, xmm0
lea esi, [ebx + eax*2]
lea ebx, [ebx + edx*2]
cmp ecx, 0xff
jle 0x1009532b
or al, 0xff
jmp 0x10095335
xor edx, edx
movzx eax, cl
test ecx, ecx
cmovs eax, edx
movzx eax, al
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1016196c]
comiss xmm1, xmm0
jbe 0x10095354
xorps xmm0, xmm0
jmp 0x1009535c
minss xmm0, dword [0x10161a80]
mulss xmm0, dword [0x10161cc4]
movss xmm3, dword [ebp - 0x4c]
addss xmm3, xmm4
movss xmm4, dword [ebp - 0x28]
addss xmm0, dword [0x10161a18]
subss xmm3, xmm6
movaps xmm6, xmm4
cvttss2si eax, xmm0
addss xmm6, xmm5
shl eax, 0x18
or eax, 0xd9d9d9
mov dword [ebp - 0x9c], eax
movss dword [ebp - 0x74], xmm6
cmp esi, ebx
jae 0x100955db
mov ecx, dword [ebp - 0xc]
mov edi, eax
movss xmm4, dword [ecx + 0x18c4]
movaps xmm1, xmm4
movaps xmm0, xmm7
addss xmm0, xmm1
comiss xmm6, xmm0
ja 0x10095585
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm6
jbe 0x100953ee
cmp esi, ebx
jae 0x1009555f
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x1009555f
cmp esi, ebx
jb 0x100953d6
jmp 0x10095585
mov eax, dword [0x101faf00]
xorps xmm0, xmm0
xorps xmm5, xmm5
xorps xmm1, xmm1
mov edx, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [edx + 0x10]
cmp esi, ebx
jae 0x1009544a
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x1009546b
cmp ecx, 0xd
je 0x10095440
cmp ecx, dword [edx]
jge 0x10095433
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x10095438
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, ebx
jb 0x10095413
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xc]
maxss xmm5, xmm1
comiss xmm0, xmm5
jb 0x10095492
mov eax, dword [ecx + 0x18c0]
cmp dword [eax], 0x20
jle 0x1009547a
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x1009547f
movaps xmm5, xmm1
xorps xmm0, xmm0
maxss xmm5, xmm0
xorps xmm1, xmm1
jmp 0x10095447
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10161a18]
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
addss xmm4, dword [0x10161a80]
movss xmm2, dword [ebp - 0x20]
addss xmm5, xmm3
movaps xmm0, xmm6
movaps xmm1, xmm6
addss xmm1, dword [0x10161ae4]
subss xmm0, xmm4
movss xmm4, dword [ebp - 0x70]
maxss xmm4, xmm3
movss xmm3, dword [ebp - 0x34]
minss xmm3, xmm5
maxss xmm2, xmm0
movaps xmm0, xmm7
minss xmm0, xmm1
movss dword [ebp - 0x84], xmm4
movss dword [ebp - 0x7c], xmm3
movss dword [ebp - 0x80], xmm2
comiss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x78], xmm0
jbe 0x1009555f
comiss xmm7, xmm2
jbe 0x1009555f
comiss xmm3, dword [ebp - 0x70]
jbe 0x1009555f
movss xmm0, dword [ebp - 0x34]
comiss xmm0, xmm4
jbe 0x1009555f
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x7c]
push edi
push eax
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x284]
call fcn.10024630
movss xmm0, dword [ebp - 0xa4]
movss xmm7, dword [ebp - 0xa0]
movss xmm6, dword [ebp - 0x74]
mov ecx, dword [ebp - 0xc]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x70], xmm0
movss xmm4, dword [ecx + 0x18c4]
movss xmm3, dword [ebp - 0x4c]
addss xmm6, xmm4
movaps xmm1, xmm4
subss xmm3, dword [ebp + 0x14]
movss dword [ebp - 0x74], xmm6
cmp esi, ebx
jb 0x100953b4
movss xmm6, dword [ebp + 0x14]
mov edi, dword [ebp - 0x30]
movss dword [ebp - 0x38], xmm7
movss xmm4, dword [ebp - 0x28]
cmp dword [ebp - 0x5c], 0x200000
jge 0x100956eb
mov eax, dword [0x101faf00]
xorps xmm3, xmm3
movss xmm5, dword [0x10161a80]
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm3, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
movups xmmword [ebp - 0x84], xmm0
jbe 0x100955e2
xorps xmm0, xmm0
jmp 0x100955e6
movss xmm6, dword [ebp + 0x14]
jmp 0x10095597
minss xmm0, xmm5
movss xmm2, dword [0x10161cc4]
movss xmm7, dword [0x10161a18]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x80]
shl ecx, 0x10
comiss xmm3, xmm0
jbe 0x10095614
xorps xmm0, xmm0
jmp 0x10095618
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x7c]
shl eax, 8
or ecx, eax
comiss xmm3, xmm0
jbe 0x10095638
xorps xmm0, xmm0
jmp 0x1009563c
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
or ecx, eax
comiss xmm3, xmm1
jbe 0x10095654
xorps xmm1, xmm1
jmp 0x10095658
minss xmm1, xmm5
movss xmm0, dword [ebp - 0x4c]
lea eax, [ebp - 0xac]
mov esi, dword [ebp - 0xc]
subss xmm0, xmm6
mov ebx, dword [ebp - 0x3c]
mulss xmm1, xmm2
push eax
movss xmm2, dword [esi + 0x18c4]
push ecx
addss xmm1, xmm7
mov dword [esp], 0
push dword [ebp - 0x24]
movss dword [ebp - 0x60], xmm0
push dword [ebp + 0x10]
movss dword [ebp - 0x5c], xmm4
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebx + 0x284]
push eax
lea eax, [ebp - 0x60]
push eax
push dword [esi + 0x18c0]
call fcn.10024b20
movss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x70], xmm0
jmp 0x100956f1
mov esi, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x3c]
cmp byte [ebp - 4], 0
je 0x100958fc
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe60]
movss dword [edi + 0xe60], xmm0
cmp byte [esi + 0xb2], 0
movss dword [ebp - 0x5c], xmm0
je 0x10095749
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x10095749
fld dword [ebp - 0x5c]
fld dword [0x10161a98]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10161a54]
fstp dword [ebp - 0x5c]
comiss xmm0, dword [ebp - 0x5c]
jae 0x10095749
xor al, al
jmp 0x1009574b
mov al, 1
movss xmm6, dword [ebp - 0x28]
movss xmm5, dword [ebp - 0x4c]
movss xmm0, dword [esi + 0x18c4]
movss xmm7, dword [0x10161a80]
addss xmm6, dword [ebp - 0x40]
addss xmm5, dword [ebp - 0x1c]
movss dword [ebp - 0x28], xmm6
movaps xmm1, xmm6
subss xmm1, xmm0
movaps xmm3, xmm6
subss xmm5, dword [ebp + 0x14]
subss xmm3, dword [0x10161ab0]
addss xmm1, dword [0x10161a18]
movss dword [ebp - 0x4c], xmm5
movaps xmm2, xmm5
movss dword [ebp - 0x84], xmm5
addss xmm2, xmm7
movss dword [ebp - 0x78], xmm3
movss dword [ebp - 0x80], xmm1
movss dword [ebp - 0x7c], xmm2
test al, al
je 0x100958e4
comiss xmm3, dword [ebp - 0x20]
jbe 0x100958e4
movss xmm4, dword [ebp - 0x38]
comiss xmm4, xmm1
jbe 0x100958e4
comiss xmm2, dword [ebp - 0x70]
jbe 0x100958e4
movss xmm1, dword [ebp - 0x34]
comiss xmm1, xmm5
jbe 0x100958e4
mov eax, dword [0x101faf00]
xorps xmm4, xmm4
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm4, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
movups xmmword [ebp - 0x68], xmm0
jbe 0x1009581a
xorps xmm0, xmm0
jmp 0x1009581e
minss xmm0, xmm7
movss xmm2, dword [0x10161cc4]
movss xmm6, dword [0x10161a18]
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x64]
shl ecx, 0x10
comiss xmm4, xmm0
jbe 0x1009584c
xorps xmm0, xmm0
jmp 0x10095850
minss xmm0, xmm7
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x60]
shl eax, 8
or ecx, eax
comiss xmm4, xmm0
jbe 0x10095870
xorps xmm0, xmm0
jmp 0x10095874
minss xmm0, xmm7
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si eax, xmm0
or ecx, eax
comiss xmm4, xmm1
jbe 0x1009588c
xorps xmm1, xmm1
jmp 0x10095890
minss xmm1, xmm7
mulss xmm1, xmm2
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x60], xmm5
addss xmm1, xmm6
movss dword [ebp - 0x5c], xmm3
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebx + 0x284]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.10024440
movss xmm0, dword [esi + 0x18c4]
movss xmm5, dword [ebp - 0x4c]
movss xmm6, dword [ebp - 0x28]
movss xmm7, dword [0x10161a80]
subss xmm5, xmm7
subss xmm6, xmm0
movss dword [esi + 0x2d24], xmm5
movss dword [esi + 0x2d28], xmm6
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp + 8]
xor ecx, ecx
mov bl, byte [esi]
test bl, bl
je 0x10095924
nop word [eax + eax]
inc ecx
mov edx, ecx
cmp byte [ecx + esi], 0
jne 0x10095910
mov al, bl
sub al, 0x41
cmp al, 0x19
ja 0x10095924
add bl, 0x20
test ecx, ecx
jne 0x1009592f
mov eax, 0x84222325
jmp 0x10095948
push ecx
lea eax, [ecx - 1]
movsx ecx, bl
push eax
lea edx, [esi + 1]
xor ecx, 0x8601b7df
call fcn.1005c400
add esp, 8
mov ebx, dword [ebp - 0xb0]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebx + 0x40]
call fcn.1008a190
movss xmm3, dword [ebp - 0x94]
lea ecx, [ebp - 0x84]
movss xmm2, dword [ebp - 0x98]
mov esi, eax
mov eax, dword [ebp + 0x18]
movaps xmm1, xmm3
mov edx, dword [ebp - 0x18]
movaps xmm0, xmm2
movss dword [ebp - 0x84], xmm3
movss dword [ebp - 0x80], xmm2
addss xmm1, dword [eax]
addss xmm0, dword [eax + 4]
movss dword [ebp - 0x7c], xmm1
movss dword [ebp - 0x78], xmm0
call fcn.1000d370
movss xmm2, dword [0x101f6f74]
mulss xmm2, dword [0x10161b38]
movzx eax, al
movss xmm0, dword [esi + 4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.1008a280
movss xmm6, dword [0x10161a80]
movaps xmm1, xmm0
comiss xmm1, xmm6
xorps xmm5, xmm5
jbe 0x100959e2
movaps xmm1, xmm6
jmp 0x100959ea
comiss xmm5, xmm1
jbe 0x100959ea
xorps xmm1, xmm1
movaps xmm0, xmm1
movss dword [esi + 4], xmm1
mulss xmm0, dword [0x10161bd0]
mov dl, 0xd9
mulss xmm1, dword [0x10161dec]
addss xmm0, dword [0x10161b94]
cvttss2si eax, xmm1
mulss xmm0, dword [ebp - 0x90]
sub dl, al
cvttss2si eax, xmm0
cmp eax, 0xff
jle 0x10095a2a
or cl, 0xff
jmp 0x10095a34
xor esi, esi
movzx ecx, al
test eax, eax
cmovs ecx, esi
movss xmm4, dword [0x10161cc4]
movss xmm7, dword [0x10161a18]
movzx eax, dl
movd xmm1, eax
movzx eax, cl
cvtdq2ps xmm1, xmm1
movd xmm2, eax
mulss xmm1, dword [0x1016196c]
cvtdq2ps xmm2, xmm2
comiss xmm5, xmm1
mulss xmm2, dword [0x1016196c]
jbe 0x10095a74
xorps xmm3, xmm3
xor ecx, ecx
jmp 0x10095aa6
movaps xmm0, xmm1
movaps xmm3, xmm1
minss xmm0, xmm6
minss xmm1, xmm6
minss xmm3, xmm6
mulss xmm0, xmm4
mulss xmm1, xmm4
addss xmm0, xmm7
addss xmm1, xmm7
cvttss2si ecx, xmm0
cvttss2si eax, xmm1
shl ecx, 8
or ecx, eax
shl ecx, 8
mulss xmm3, xmm4
addss xmm3, xmm7
cvttss2si eax, xmm3
or ecx, eax
comiss xmm5, xmm2
jbe 0x10095abe
xorps xmm2, xmm2
jmp 0x10095ac2
minss xmm2, xmm6
mov eax, dword [ebp + 0x18]
movss xmm0, dword [ebp - 0x94]
mulss xmm2, xmm4
push 0xf
addss xmm0, dword [eax]
push ecx
addss xmm2, xmm7
mov dword [esp], 0x40800000
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x98]
addss xmm0, dword [eax + 4]
cvttss2si eax, xmm2
movss dword [ebp - 0x5c], xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebx + 4]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.10024630
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x2d60], 0
je 0x10095b32
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x58]
push edi
call fcn.100199c0
add esp, 4
movss xmm0, dword [ebp - 0xb4]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x10095b81
movss xmm0, dword [ebp - 0x94]
xor edx, edx
addss xmm0, dword [0x10161b68]
mov ecx, dword [ebp + 8]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x98]
addss xmm0, dword [0x10161b88]
movss dword [ebp - 0x54], xmm0
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push 1
call fcn.1000ac70
add esp, 0xc
mov bl, byte [ebp - 1]
test bl, bl
je 0x10095ba4
mov edx, dword [0x101faf00]
mov word [edx + 0x19fb], 0x101
mov edx, dword [edx + 0x19b0]
or dword [edx + 0x11c], 4
mov ecx, dword [ebp - 0x50]
call fcn.10014f60
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x20