Function at 0x10090620
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 [0x1020e2c0]
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 0x10092637
movaps xmm0, xmm1
mov dword [ebp - 0x84], 0x3f800000
mulss xmm0, dword [0x10155c1c]
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.100198e0
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.10008f00
mov edx, dword [0x1020e2c0]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x18], ebx
cmp dword [edx + 0x19ec], ebx
jne 0x100906fd
mov dword [edx + 0x19f0], ebx
cmp dword [edx + 0x1a20], ebx
jne 0x1009070c
mov byte [edx + 0x1a24], 1
mov eax, dword [ebp + 8]
cmp eax, 0xffffffff
jae 0x10090782
mov cl, byte [eax]
test cl, cl
je 0x1009072a
cmp cl, 0x23
jne 0x10090724
cmp byte [eax + 1], cl
je 0x1009072a
inc eax
cmp eax, 0xffffffff
jb 0x10090714
mov ecx, dword [ebp + 8]
cmp ecx, eax
je 0x10090782
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.10026ca0
movss xmm0, dword [ebp - 0x58]
addss xmm0, dword [0x10155c70]
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 0x1009078d
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 [0x10155c1c]
movaps xmm2, xmm5
addss xmm2, xmm0
movss dword [ebp - 0xc0], xmm1
movss dword [ebp - 0x98], xmm0
subss xmm6, dword [0x10155d58]
movss dword [ebp - 0xbc], xmm0
subss xmm4, xmm6
addss xmm4, xmm1
movss xmm1, dword [0x10155d40]
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 [0x10155d80]
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.1000bf00
lea eax, [ebp - 0x68]
mov edx, ebx
push eax
lea ecx, [ebp - 0x84]
call fcn.1000c030
add esp, 4
test al, al
je 0x10092637
mov edx, ebx
lea ecx, [ebp - 0x68]
call fcn.1000c2d0
mov bh, al
mov byte [ebp - 4], bh
test bh, bh
je 0x100908a6
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 0x100908e1
inc dword [ecx + 0x178]
mov ecx, dword [0x1020e2c0]
mov edi, dword [ebp - 0x3c]
cmp dword [ecx + 0x1be4], edi
jne 0x1009094a
cmp eax, dword [ecx + 0x1bec]
je 0x10090915
test edx, edx
jne 0x10090936
mov eax, dword [edi + 0x178]
cmp eax, dword [ecx + 0x1bf0]
jne 0x10090936
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x1af0], eax
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1be4], edi
jne 0x10090967
mov eax, dword [ecx + 0x1bec]
cmp eax, dword [edi + 0x174]
jne 0x10090967
mov byte [ebp - 0xe], 1
mov al, 1
jmp 0x10090952
mov eax, dword [ebp - 0x18]
cmp dword [ecx + 0x19ec], eax
jne 0x1009094a
xor edx, edx
xor ecx, ecx
call fcn.1000bd60
mov ecx, dword [ebp - 0xc]
xor al, al
mov byte [ebp - 0xe], al
mov byte [ebp - 0x11], 0
test bh, bh
je 0x10090973
cmp byte [ecx + 0x3d8], 0
je 0x10090973
mov dl, 1
jmp 0x10090975
mov byte [ebp - 0xe], 0
mov al, 1
mov byte [ebp - 0x11], 1
jmp 0x10090956
xor dl, dl
mov ecx, dword [ecx + 0x19ec]
mov edi, dword [ebp - 0x30]
mov byte [ebp - 0x10], dl
cmp ecx, dword [ebp - 0x18]
je 0x100909c5
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 0x100909bd
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 0x100909c5
mov edi, dword [ebp - 0xc]
cmp dword [edi + 0x1b00], 3
mov edi, dword [ebp - 0x30]
jne 0x100909c5
mov byte [ebp - 0x28], 1
mov bl, 1
jmp 0x100909cb
mov byte [ebp - 0x28], 0
xor bl, bl
mov byte [ebp - 5], bl
mov dword [ebp - 0x50], 1
test al, al
jne 0x100909e5
test dl, dl
jne 0x100909e5
test bl, bl
je 0x10090bdd
mov bl, 1
mov dword [ebp - 0x30], edi
mov byte [ebp - 0xd], bl
cmp ecx, dword [ebp - 0x18]
je 0x10090bdd
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 0x10090a10
mov ebx, dword [edi + 0x28]
lea eax, [edi + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, ebx
jle 0x10090a4f
test ebx, ebx
je 0x10090a37
mov eax, ebx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, ebx
jmp 0x10090a3c
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [edi + 0x24]
push eax
call fcn.10019ca0
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 0x10090a97
test esi, esi
je 0x10090a7f
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x10090a84
mov ecx, 8
cmp ecx, ebx
mov eax, ebx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.10019d20
lea eax, [edi + 0xc]
mov dword [eax], ebx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x10090ab9
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.10019ca0
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 0x10090b20
nop dword [eax]
cmp byte [ebx], 0
je 0x10090b1d
push 0
mov edx, ebx
lea ecx, [ebp - 0x38]
call fcn.10009240
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x10090b1a
cmp eax, 0xffff
ja 0x10090b0a
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 0x10090ae0
jmp 0x10090b1d
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 0x10090b5c
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 0x10090bbb
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 0x10090bd3
cmp byte [ebp - 0x10], 0
je 0x10090bd7
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x100], 0
je 0x10090bd7
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 0x10090c34
test bl, bl
je 0x10090c34
mov edx, dword [ebp - 0x3c]
mov ecx, esi
call fcn.1000bd60
call fcn.1000be40
mov ecx, edx
call fcn.10013b30
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 0x10090c75
test edi, edi
jne 0x10090c56
xor edx, edx
xor ecx, ecx
call fcn.1000bd60
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x19ec]
mov eax, ecx
cmp eax, esi
jne 0x10090c75
cmp byte [edx + 0x3d8], 0
mov byte [ebp - 0x20], 0
je 0x10090c71
xor al, al
test bl, bl
movzx eax, al
cmove eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
mov bl, 1
jmp 0x10090c7a
xor bl, bl
mov byte [ebp - 0x20], bl
mov byte [ebp - 4], bl
test edi, edi
je 0x10090c93
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10090c93
test bl, bl
je 0x10090c97
mov byte [ebp - 3], 1
jmp 0x10090ca7
test bl, bl
jne 0x10090c9f
mov byte [ebp - 3], 0
cmp ecx, esi
jne 0x10090cb1
mov byte [ebp - 3], 0
test edi, edi
je 0x10090cb1
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x2a], 1
jne 0x10090cb5
mov byte [ebp - 0x2a], 0
movss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x70], xmm0
cmp ecx, esi
jne 0x10090f90
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 [0x10155c1c]
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 0x10090e95
test bh, bh
je 0x10090d55
mov al, byte [edx + 0x3e2]
test bl, bl
jne 0x10090dbd
test al, al
jne 0x10090e95
cmp byte [edx + 0x3d8], 0
mov al, byte [edi + 0xe65]
je 0x10090e0f
test al, al
jne 0x10090e0f
test bh, bh
je 0x10090eb0
cmp byte [edi + 0x4c], al
je 0x10090d94
push 0
mov edx, edi
lea ecx, [ebp - 0x8c]
call fcn.1002a7f0
movss xmm2, dword [ebp - 0x80]
add esp, 4
movaps xmm1, xmm5
mov ecx, edi
call fcn.1002aaf0
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 0x10090eb0
test al, al
je 0x10090d55
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002aed0
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.1002aed0
mov edx, dword [ebp - 0xc]
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x10090eb0
test cl, cl
je 0x10090eb0
test al, al
jne 0x10090eb0
movss xmm0, dword [edx + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10090e44
movss xmm0, dword [edx + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10090eb0
cmp byte [edi + 0x4c], 0
je 0x10090e61
push 0
mov edx, edi
lea ecx, [ebp - 0x8c]
call fcn.1002a7f0
movss xmm2, dword [ebp - 0x80]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10090e6f
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm5
mov ecx, edi
call fcn.1002aaf0
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 0x10090eb0
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 0x10090ec9
cmp byte [edx + 0xf0], 0
jne 0x10090ec9
mov byte [edi + 0xe65], 0
cmp byte [edx + 0x100], 0
je 0x10090edb
cmp byte [edx + 0x102], 0
je 0x10090ee8
test bl, bl
je 0x10090eec
cmp byte [edx + 0x103], 0
je 0x10090eec
mov al, 1
jmp 0x10090eee
xor al, al
cmp dword [edx + 0x1500], 0
lea ebx, [edx + 0x1500]
jle 0x10090f90
test al, al
jne 0x10090f68
cmp byte [ebp - 5], al
jne 0x10090f68
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 0x10090f2b
cmp byte [edx + 0x101], 0
jne 0x10090f63
sub esp, 8
lea ecx, [ebp - 0x24]
xor edx, edx
call fcn.1002fd80
add esp, 8
test al, al
je 0x10090f60
push dword [ebp - 0x24]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002aed0
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 0x10090f10
mov ecx, dword [ebx + 4]
test ecx, ecx
jns 0x10090f87
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.10019d20
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 0x10091690
mov byte [ebp - 1], cl
cmp byte [edx + 0x19f8], cl
jne 0x100916dd
mov byte [ebp - 1], cl
cmp byte [ebp - 0x20], cl
jne 0x100916dd
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 0x1009100d
cmp byte [eax + 0x103], cl
je 0x10091000
test bl, bl
jne 0x10091000
mov eax, 1
jmp 0x10091004
xor eax, eax
mov cl, bl
test eax, eax
je 0x1009102f
mov eax, dword [ebp - 0xc]
jmp 0x1009101c
test bl, bl
je 0x1009102d
cmp byte [eax + 0x103], 0
jne 0x1009102d
mov cl, bl
cmp byte [eax + 0x102], 0
jne 0x1009102f
test dl, dl
jne 0x1009102f
mov ah, 1
jmp 0x10091031
mov cl, bl
xor ah, ah
mov byte [ebp - 1], ah
mov al, cl
test ch, ch
je 0x10091066
mov edi, dword [ebp - 0xc]
cmp byte [edi + 0x103], 0
mov edi, dword [ebp - 0x30]
je 0x10091066
test dl, dl
je 0x10091066
mov al, bl
test bl, bl
mov ebx, dword [ebp - 0xc]
jne 0x10091069
xor al, al
cmp byte [ebx + 0x102], al
jne 0x10091069
mov byte [ebp - 5], 1
jmp 0x10091071
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 5], 0
test ch, ch
je 0x100910ec
cmp byte [ebx + 0x103], 0
mov cl, byte [ebx + 0x102]
mov byte [ebp - 0xd], cl
je 0x100910f3
test al, al
jne 0x100910f3
test cl, cl
jne 0x100910f3
mov byte [ebp - 0x10], 1
mov byte [ebp - 0x12], 0
test dl, dl
je 0x100910af
test al, al
jne 0x100910af
cmp byte [ebx + 0x102], al
jne 0x100910af
mov byte [ebp - 0xf], 1
cmp byte [ebx + 0x103], al
je 0x100910b3
mov byte [ebp - 0xf], 0
mov ebx, dword [0x1020e2c0]
test ah, ah
je 0x100910d0
mov ecx, dword [ebx + 0x80]
test ecx, ecx
js 0x100910d0
call fcn.1000e860
test al, al
jne 0x100910e6
cmp byte [ebp - 0xf], 0
je 0x10091115
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
js 0x10091115
call fcn.1000e860
test al, al
je 0x10091115
mov byte [ebp - 0x11], 1
jmp 0x10091119
mov byte [ebp - 0xd], al
mov byte [ebp - 5], 0
mov byte [ebp - 0x10], 0
test al, al
je 0x1009108f
test dl, dl
jne 0x1009108f
cmp byte [ebx + 0x102], dl
jne 0x1009108f
cmp byte [ebx + 0x103], dl
jne 0x1009108f
mov byte [ebp - 0x12], 1
jmp 0x100910af
mov byte [ebp - 0x11], 0
cmp byte [ebp - 1], 0
je 0x1009112f
mov ecx, dword [ebx + 0x78]
test ecx, ecx
js 0x1009112f
call fcn.1000e860
test al, al
jne 0x10091145
cmp byte [ebp - 0x12], 0
je 0x1009114b
mov ecx, dword [ebx + 0x58]
test ecx, ecx
js 0x1009114b
call fcn.1000e860
test al, al
je 0x1009114b
mov byte [ebp - 0x29], 1
jmp 0x1009114f
mov byte [ebp - 0x29], 0
cmp byte [ebp - 1], 0
je 0x10091165
mov ecx, dword [ebx + 0x7c]
test ecx, ecx
js 0x10091165
call fcn.1000e860
test al, al
jne 0x1009117b
cmp byte [ebp - 0xf], 0
je 0x10091181
mov ecx, dword [ebx + 0x58]
test ecx, ecx
js 0x10091181
call fcn.1000e860
test al, al
je 0x10091181
mov byte [ebp - 0xf], 1
jmp 0x10091185
mov byte [ebp - 0xf], 0
mov al, byte [ebp - 1]
test al, al
je 0x100911a8
mov ecx, dword [ebx + 0x88]
test ecx, ecx
js 0x100911a8
call fcn.1000e860
test al, al
je 0x100911a5
mov byte [ebp - 0x12], 1
jmp 0x100911b0
mov al, byte [ebp - 1]
mov byte [ebp - 0x12], 0
test al, al
je 0x100911c3
mov ecx, dword [ebx + 0x84]
test ecx, ecx
js 0x100911c3
call fcn.1000e860
test al, al
jne 0x100911dc
cmp byte [ebp - 5], 0
je 0x100911e2
mov ecx, dword [ebx + 0x88]
test ecx, ecx
js 0x100911e2
call fcn.1000e860
test al, al
je 0x100911e2
mov byte [ebp - 5], 1
jmp 0x100911e6
mov byte [ebp - 5], 0
mov ecx, dword [ebx + 0x38]
test ecx, ecx
js 0x10091236
call fcn.1000e860
test al, al
je 0x10091236
cmp byte [ebp - 0x10], 0
je 0x10091213
mov eax, 0x200004
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.1002aed0
jmp 0x10091655
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.1002aed0
jmp 0x10091655
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
js 0x10091286
call fcn.1000e860
test al, al
je 0x10091286
cmp byte [ebp - 0x10], 0
je 0x10091263
mov eax, 0x200005
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.1002aed0
jmp 0x10091655
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.1002aed0
jmp 0x10091655
mov ecx, dword [ebx + 0x50]
test ecx, ecx
js 0x100912ba
call fcn.1000e860
test al, al
je 0x100912ba
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.1002aed0
jmp 0x10091655
mov ecx, dword [ebx + 0x54]
test ecx, ecx
js 0x100912ee
call fcn.1000e860
test al, al
je 0x100912ee
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.1002aed0
jmp 0x10091655
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
js 0x10091314
call fcn.1000e860
test al, al
je 0x10091314
or esi, 0x200008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.1002aed0
jmp 0x10091655
mov ecx, dword [ebx + 0x60]
test ecx, ecx
js 0x10091393
call fcn.1000e860
test al, al
je 0x10091393
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1009137d
cmp byte [ebp - 0xd], 0
je 0x10091339
push 0x60000c
jmp 0x1009135f
cmp byte [ebp - 0x45], 0
je 0x1009137d
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x103], 0
je 0x1009137d
cmp byte [eax + 0x102], 0
jne 0x1009137d
cmp byte [ebp - 0xe], 0
jne 0x1009137d
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002aed0
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.1002aed0
jmp 0x10091655
mov ecx, dword [ebx + 0x68]
test ecx, ecx
js 0x100913a3
call fcn.1000e860
test al, al
jne 0x100913b3
mov ecx, dword [ebx + 0x70]
test ecx, ecx
js 0x100913bc
call fcn.1000e860
test al, al
je 0x100913bc
mov byte [ebp - 0x20], 1
jmp 0x10091669
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
js 0x100913da
call fcn.1000e860
test al, al
je 0x100913da
mov cl, 1
mov byte [ebp - 1], 0
mov byte [ebp - 0x20], cl
jmp 0x10091670
mov al, byte [ebp - 0x12]
test al, al
jne 0x10091636
cmp byte [ebp - 5], al
jne 0x10091636
cmp byte [ebp - 1], al
je 0x1009141c
mov ecx, dword [ebx + 0x74]
test ecx, ecx
js 0x1009141c
call fcn.1000e860
test al, al
je 0x1009141c
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 0x10091662
mov al, byte [ebp - 0x11]
test al, al
jne 0x1009152f
cmp byte [ebp - 0x29], al
jne 0x1009152f
mov byte [ebp - 1], al
cmp byte [ebp - 0xf], al
je 0x1009166d
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x10091467
push dword [ebx + 0xd8]
call eax
mov esi, eax
mov byte [ebp - 1], 0
add esp, 4
test esi, esi
je 0x1009166d
mov ebx, dword [0x1020e2c0]
jmp 0x1009146c
mov esi, 0x1014f4a5
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10091471
sub ecx, edx
test ebx, ebx
je 0x10091484
inc dword [ebx + 0x374]
push dword [0x1020e2b8]
lea eax, [ecx*2 + 2]
push eax
call fcn.10008680
xor ebx, ebx
mov dword [ebp - 0x1c], eax
add esp, 8
cmp byte [esi], bl
je 0x100914e4
mov edi, eax
push 0
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.10009240
add esp, 4
add esi, eax
cmp dword [ebp - 0x34], 0
je 0x100914de
sub esp, 8
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.1002fd80
add esp, 8
test al, al
je 0x100914d9
mov ax, word [ebp - 0x34]
mov word [edi + ebx*2], ax
inc ebx
cmp byte [esi], 0
jne 0x100914a5
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov word [eax + ebx*2], cx
test ebx, ebx
jle 0x10091507
push ebx
push eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.10090480
mov eax, dword [ebp - 0x1c]
add esp, 8
mov byte [edi + 0xe64], 1
test eax, eax
je 0x1009151b
mov ecx, dword [0x1020e2c0]
test ecx, ecx
je 0x1009151b
dec dword [ecx + 0x374]
push dword [0x1020e2b8]
push eax
call fcn.100086a0
add esp, 8
jmp 0x10091669
mov ecx, dword [ebp - 0xc]
mov byte [ebp - 1], 0
cmp dword [ecx + 0xd4], 0
je 0x100915f7
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x1009155b
mov edx, ecx
mov byte [ebp - 1], 0
cmovge edx, eax
cmovl ecx, eax
jmp 0x10091563
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.10009510
inc eax
mov dword [ebp - 0x40], eax
test ebx, ebx
je 0x1009158b
inc dword [ebx + 0x374]
push dword [0x1020e2b8]
push eax
call fcn.10008680
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.100093e0
mov eax, dword [0x1020e2c0]
add esp, 0x10
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x100915d7
push ebx
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x1020e2c0]
add esp, 8
test ebx, ebx
je 0x100915e5
test eax, eax
je 0x100915e5
dec dword [eax + 0x374]
push dword [0x1020e2b8]
push ebx
call fcn.100086a0
mov al, byte [ebp - 0x11]
add esp, 8
test al, al
je 0x1009166d
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10091617
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 0x1009166d
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100903f0
mov byte [edi + 0x4b], 0
jmp 0x1009166d
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.1002aed0
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 0x10091682
cmp byte [ebp - 4], 0
je 0x10091682
mov al, 1
jmp 0x10091684
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 0x100917be
test cl, cl
je 0x100916dd
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 0x10]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100916c7
test dl, dl
je 0x100916c3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100916c7
add eax, 2
add ecx, 2
test dl, dl
jne 0x100916a7
xor eax, eax
jmp 0x100916cc
sbb eax, eax
or eax, 1
test eax, eax
je 0x1009179d
mov eax, dword [edi + 0x24]
dec eax
jmp 0x1009176c
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 0x1009171e
test ebx, ebx
je 0x10091706
mov eax, ebx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, ebx
jmp 0x1009170b
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [edi + 0x18]
push eax
call fcn.10019ca0
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100093e0
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 0x10091760
test dl, dl
je 0x1009175c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10091760
add eax, 2
add ecx, 2
test dl, dl
jne 0x10091740
xor eax, eax
jmp 0x10091765
sbb eax, eax
or eax, 1
test eax, eax
je 0x1009179d
mov eax, dword [edi + 8]
test esi, esi
je 0x1009179d
mov ebx, dword [ebp + 0x14]
inc eax
cmp eax, ebx
cmovl ebx, eax
cmp ebx, 1
jb 0x10091799
jbe 0x10091791
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 0x100917d8
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x19ec], edx
jne 0x100917d8
xor edx, edx
xor ecx, ecx
call fcn.1000bd60
mov esi, dword [ebp + 8]
xor ecx, ecx
mov bl, byte [esi]
test bl, bl
je 0x100917f7
inc ecx
mov edx, ecx
cmp byte [ecx + esi], 0
jne 0x100917e3
mov al, bl
sub al, 0x41
cmp al, 0x19
ja 0x100917f7
add bl, 0x20
test ecx, ecx
jne 0x10091802
mov esi, 0x84222325
jmp 0x1009181d
push ecx
lea eax, [ecx - 1]
movsx ecx, bl
push eax
lea edx, [esi + 1]
xor ecx, 0x8601b7df
call fcn.1005b330
add esp, 8
mov esi, eax
xor ecx, ecx
nop
mov edx, ecx
inc ecx
cmp byte [ecx + str.frame], 0
jne 0x10091820
test ecx, ecx
jne 0x10091837
mov eax, 0x84222325
jmp 0x1009184b
push ecx
push edx
mov edx, 0x10155281
mov ecx, 0x8601b7b9
call fcn.1005b330
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.10086ac0
cmp byte [ebp - 4], 0
mov edx, eax
mov bl, byte [ebp - 3]
jne 0x10091884
test bl, bl
jne 0x10091884
movss xmm6, dword [0x10155c78]
xorps xmm1, xmm1
jmp 0x1009188f
movss xmm6, dword [0x10155c78]
movaps xmm1, xmm6
movss xmm2, dword [0x1020db28]
xorps xmm5, xmm5
mulss xmm2, dword [0x10155d20]
movss xmm0, dword [edx + 4]
call fcn.10084120
movaps xmm1, xmm0
comiss xmm1, xmm6
jbe 0x100918b9
movaps xmm1, xmm6
jmp 0x100918c1
comiss xmm5, xmm1
jbe 0x100918c1
xorps xmm1, xmm1
movaps xmm0, xmm1
movss dword [edx + 4], xmm1
mulss xmm0, dword [0x10155db8]
mulss xmm1, dword [0x10155dc8]
addss xmm0, dword [0x10155e40]
cvttss2si edx, xmm1
mulss xmm0, dword [ebp - 0x90]
cvttss2si eax, xmm0
cmp eax, 0xff
jle 0x100918fd
or cl, 0xff
jmp 0x1009190d
test eax, eax
movzx ecx, al
mov dword [ebp + 0x14], 0
cmovs ecx, dword [ebp + 0x14]
movss xmm4, dword [0x10155edc]
movss xmm7, dword [0x10155c1c]
movzx eax, dl
movd xmm1, eax
movzx eax, cl
cvtdq2ps xmm1, xmm1
movd xmm3, eax
mulss xmm1, dword [0x10155b60]
cvtdq2ps xmm3, xmm3
comiss xmm5, xmm1
mulss xmm3, dword [0x10155b60]
jbe 0x1009194d
xorps xmm2, xmm2
xor ecx, ecx
jmp 0x10091982
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 0x1009199a
xorps xmm3, xmm3
jmp 0x1009199e
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.100236e0
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 [0x10155d30]
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0xa4], xmm1
movaps xmm1, xmm2
addss xmm1, dword [0x10155d44]
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 0x10091a49
mov edx, dword [edi + 0x20]
mov dword [ebp + 0x10], edx
jmp 0x10091a4c
mov edx, dword [ebp + 0x10]
mov cl, byte [ebp - 4]
test cl, cl
jne 0x10091ad9
test bl, bl
jne 0x10091ad9
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
cmp dword [esi + 0x19ec], eax
jne 0x10091a70
mov edi, dword [edi + 8]
add edi, edx
jmp 0x10091a84
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10091a75
sub ecx, edx
mov edx, dword [ebp + 0x10]
lea edi, [edx + ecx]
mov eax, edi
sub eax, edx
cmp eax, 0x200000
jge 0x1009237f
movss xmm1, dword [0x10155c78]
lea eax, [ebp - 0xac]
push eax
push ecx
mov dword [esp], 0
xor ecx, ecx
push edi
push edx
call fcn.10009ae0
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.10023bd0
jmp 0x1009237f
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 0x10091b27
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 0x10091b48
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 0x10091ba2
mov edi, dword [ebp - 0x1c]
mov ebx, eax
nop dword [eax]
cmp bx, 0xa
jne 0x10091b8b
inc esi
cmp edi, 0xffffffff
jne 0x10091b78
cmp ecx, dword [ebp - 0x40]
jb 0x10091b78
dec edx
mov edi, esi
test edx, edx
jle 0x10091b99
cmp dword [ebp + 0x14], 0xffffffff
jne 0x10091b8b
cmp ecx, dword [ebp - 0x44]
jb 0x10091b8b
dec edx
mov dword [ebp + 0x14], esi
test edx, edx
jle 0x10091b99
movzx eax, word [ecx + 2]
add ecx, 2
mov ebx, eax
test ax, ax
jne 0x10091b60
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 0x10091bde
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x10091bde
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10091bd0
mov eax, dword [0x1020e2c0]
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 0x10091c4e
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10091c20
maxss xmm0, xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x1c], xmm0
jmp 0x10091c47
cmp edx, 0xd
je 0x10091c47
mov edx, eax
cmp edx, dword [esi]
jge 0x10091c35
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x10091c3a
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm3
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x1c]
cmp ecx, ebx
jb 0x10091c05
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 0x10091d03
mov eax, dword [ebp - 0x44]
mov ecx, eax
cmp eax, edx
jbe 0x10091ca1
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x10091c9e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10091c90
mov eax, dword [ebp - 0x44]
movaps xmm4, xmm6
movaps xmm1, xmm6
cmp ecx, eax
jae 0x10091cf4
mov edi, dword [ebp - 0x44]
nop
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10091cc6
maxss xmm4, xmm1
movaps xmm1, xmm6
jmp 0x10091ce8
cmp edx, 0xd
je 0x10091ce8
mov edx, eax
cmp edx, dword [esi]
jge 0x10091cdb
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x10091ce0
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm3
addss xmm1, xmm0
cmp ecx, edi
jb 0x10091cb0
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 0x10091d5e
cmp byte [edi + 0xe64], 0
je 0x10091d5e
movss xmm3, dword [ebp - 0x74]
movss xmm2, dword [edi + 0x38]
movaps xmm1, xmm3
comiss xmm2, xmm0
mulss xmm1, dword [0x10155be0]
jbe 0x10091d3a
subss xmm0, xmm1
maxss xmm0, xmm6
cvttss2si eax, xmm0
jmp 0x10091d4b
subss xmm0, xmm3
comiss xmm0, xmm2
jb 0x10091d57
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 0x10092012
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
mov eax, edx
movss xmm0, dword [ebp - 0x90]
cmp ecx, edx
mulss xmm0, dword [0x10155db8]
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 0x10091dab
or al, 0xff
jmp 0x10091db5
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 [0x10155b60]
comiss xmm1, xmm0
jbe 0x10091dd4
xorps xmm0, xmm0
jmp 0x10091ddc
minss xmm0, dword [0x10155c78]
mulss xmm0, dword [0x10155edc]
movss xmm3, dword [ebp - 0x4c]
addss xmm3, xmm4
movss xmm4, dword [ebp - 0x28]
addss xmm0, dword [0x10155c1c]
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 0x1009205b
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 0x10092005
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm6
jbe 0x10091e6e
cmp esi, ebx
jae 0x10091fdf
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x10091fdf
cmp esi, ebx
jb 0x10091e56
jmp 0x10092005
mov eax, dword [0x1020e2c0]
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 0x10091eca
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x10091eeb
cmp ecx, 0xd
je 0x10091ec0
cmp ecx, dword [edx]
jge 0x10091eb3
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x10091eb8
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, ebx
jb 0x10091e93
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xc]
maxss xmm5, xmm1
comiss xmm0, xmm5
jb 0x10091f12
mov eax, dword [ecx + 0x18c0]
cmp dword [eax], 0x20
jle 0x10091efa
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x10091eff
movaps xmm5, xmm1
xorps xmm0, xmm0
maxss xmm5, xmm0
xorps xmm1, xmm1
jmp 0x10091ec7
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10155c1c]
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
addss xmm4, dword [0x10155c78]
movss xmm2, dword [ebp - 0x20]
addss xmm5, xmm3
movaps xmm0, xmm6
movaps xmm1, xmm6
addss xmm1, dword [0x10155cbc]
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 0x10091fdf
comiss xmm7, xmm2
jbe 0x10091fdf
comiss xmm3, dword [ebp - 0x70]
jbe 0x10091fdf
movss xmm0, dword [ebp - 0x34]
comiss xmm0, xmm4
jbe 0x10091fdf
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.100236e0
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 0x10091e34
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 0x1009216b
mov eax, dword [0x1020e2c0]
xorps xmm3, xmm3
movss xmm5, dword [0x10155c78]
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 0x10092062
xorps xmm0, xmm0
jmp 0x10092066
movss xmm6, dword [ebp + 0x14]
jmp 0x10092017
minss xmm0, xmm5
movss xmm2, dword [0x10155edc]
movss xmm7, dword [0x10155c1c]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x80]
shl ecx, 0x10
comiss xmm3, xmm0
jbe 0x10092094
xorps xmm0, xmm0
jmp 0x10092098
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 0x100920b8
xorps xmm0, xmm0
jmp 0x100920bc
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
or ecx, eax
comiss xmm3, xmm1
jbe 0x100920d4
xorps xmm1, xmm1
jmp 0x100920d8
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.10023bd0
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 0x10092171
mov esi, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x3c]
cmp byte [ebp - 4], 0
je 0x1009237c
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 0x100921c9
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x100921c9
fld dword [ebp - 0x5c]
fld dword [0x10155c90]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10155c58]
fstp dword [ebp - 0x5c]
comiss xmm0, dword [ebp - 0x5c]
jae 0x100921c9
xor al, al
jmp 0x100921cb
mov al, 1
movss xmm6, dword [ebp - 0x28]
movss xmm5, dword [ebp - 0x4c]
movss xmm0, dword [esi + 0x18c4]
movss xmm7, dword [0x10155c78]
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 [0x10155ca0]
addss xmm1, dword [0x10155c1c]
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 0x10092364
comiss xmm3, dword [ebp - 0x20]
jbe 0x10092364
movss xmm4, dword [ebp - 0x38]
comiss xmm4, xmm1
jbe 0x10092364
comiss xmm2, dword [ebp - 0x70]
jbe 0x10092364
movss xmm1, dword [ebp - 0x34]
comiss xmm1, xmm5
jbe 0x10092364
mov eax, dword [0x1020e2c0]
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 0x1009229a
xorps xmm0, xmm0
jmp 0x1009229e
minss xmm0, xmm7
movss xmm2, dword [0x10155edc]
movss xmm6, dword [0x10155c1c]
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x64]
shl ecx, 0x10
comiss xmm4, xmm0
jbe 0x100922cc
xorps xmm0, xmm0
jmp 0x100922d0
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 0x100922f0
xorps xmm0, xmm0
jmp 0x100922f4
minss xmm0, xmm7
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si eax, xmm0
or ecx, eax
comiss xmm4, xmm1
jbe 0x1009230c
xorps xmm1, xmm1
jmp 0x10092310
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.100234f0
movss xmm0, dword [esi + 0x18c4]
movss xmm5, dword [ebp - 0x4c]
movss xmm6, dword [ebp - 0x28]
movss xmm7, dword [0x10155c78]
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 0x100923a4
nop word [eax + eax]
inc ecx
mov edx, ecx
cmp byte [ecx + esi], 0
jne 0x10092390
mov al, bl
sub al, 0x41
cmp al, 0x19
ja 0x100923a4
add bl, 0x20
test ecx, ecx
jne 0x100923af
mov eax, 0x84222325
jmp 0x100923c8
push ecx
lea eax, [ecx - 1]
movsx ecx, bl
push eax
lea edx, [esi + 1]
xor ecx, 0x8601b7df
call fcn.1005b330
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.10086ac0
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.1000c2d0
movss xmm2, dword [0x1020db28]
mulss xmm2, dword [0x10155d20]
movzx eax, al
movss xmm0, dword [esi + 4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10084120
movss xmm6, dword [0x10155c78]
movaps xmm1, xmm0
comiss xmm1, xmm6
xorps xmm5, xmm5
jbe 0x10092462
movaps xmm1, xmm6
jmp 0x1009246a
comiss xmm5, xmm1
jbe 0x1009246a
xorps xmm1, xmm1
movaps xmm0, xmm1
movss dword [esi + 4], xmm1
mulss xmm0, dword [0x10155db8]
mov dl, 0xd9
mulss xmm1, dword [0x10155fe4]
addss xmm0, dword [0x10155d7c]
cvttss2si eax, xmm1
mulss xmm0, dword [ebp - 0x90]
sub dl, al
cvttss2si eax, xmm0
cmp eax, 0xff
jle 0x100924aa
or cl, 0xff
jmp 0x100924b4
xor esi, esi
movzx ecx, al
test eax, eax
cmovs ecx, esi
movss xmm4, dword [0x10155edc]
movss xmm7, dword [0x10155c1c]
movzx eax, dl
movd xmm1, eax
movzx eax, cl
cvtdq2ps xmm1, xmm1
movd xmm2, eax
mulss xmm1, dword [0x10155b60]
cvtdq2ps xmm2, xmm2
comiss xmm5, xmm1
mulss xmm2, dword [0x10155b60]
jbe 0x100924f4
xorps xmm3, xmm3
xor ecx, ecx
jmp 0x10092526
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 0x1009253e
xorps xmm2, xmm2
jmp 0x10092542
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.100236e0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x2d60], 0
je 0x100925b2
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x58]
push edi
call fcn.10018a60
add esp, 4
movss xmm0, dword [ebp - 0xb4]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x10092601
movss xmm0, dword [ebp - 0x94]
xor edx, edx
addss xmm0, dword [0x10155d4c]
mov ecx, dword [ebp + 8]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x98]
addss xmm0, dword [0x10155d68]
movss dword [ebp - 0x54], xmm0
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push 1
call fcn.10009bc0
add esp, 0xc
mov bl, byte [ebp - 1]
test bl, bl
je 0x10092624
mov edx, dword [0x1020e2c0]
mov word [edx + 0x19fb], 0x101
mov edx, dword [edx + 0x19b0]
or dword [edx + 0x11c], 4
mov ecx, dword [ebp - 0x50]
call fcn.10013fc0
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