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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
push ebx
mov ebx, dword [0x1020f4d8]
mov eax, ecx
mov dword [ebp - 0x8c], eax
push esi
push edi
movss xmm0, dword [eax + 0x94]
mov eax, dword [ebx + 0x19b0]
movss dword [ebp - 0x68], xmm0
mov dword [ebp - 0x44], ebx
mov byte [eax + 0x8c], 1
mov edi, dword [ebx + 0x19b0]
mov dword [ebp - 0x40], edi
cmp byte [edi + 0x8f], 0
jne 0x10093c43
movups xmm0, xmmword [ebx + 0x15c0]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 0
push eax
lea ecx, [ebx + 0x1a9c]
movups xmmword [ebp - 0x5c], xmm0
call fcn.100197f0
mov dword [ebx + 0x15c0], 0x3f800000
xor edx, edx
mov dword [ebx + 0x15c4], 0x3f800000
mov dword [ebx + 0x15c8], 0x3f800000
movss xmm0, dword [ebp - 0x68]
movss xmm1, dword [0x10155b64]
mulss xmm0, xmm1
movss dword [ebx + 0x15cc], xmm0
mov ecx, dword [edi + 0xcc]
mov eax, dword [edi + 0xd4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp + 8]
call fcn.100093e0
mov esi, dword [0x1020f4d8]
add esp, 4
mov dword [ebp - 0x3c], eax
cmp dword [esi + 0x19ec], eax
jne 0x10091c69
mov dword [esi + 0x19f0], eax
cmp dword [esi + 0x1a20], eax
jne 0x10091c78
mov byte [esi + 0x1a24], 1
mov ecx, dword [ebp + 8]
cmp ecx, 0xffffffff
jae 0x10091cf6
mov dl, byte [ecx]
test dl, dl
je 0x10091c96
cmp dl, 0x23
jne 0x10091c90
cmp byte [ecx + 1], dl
je 0x10091c96
inc ecx
cmp ecx, 0xffffffff
jb 0x10091c80
mov eax, dword [ebp + 8]
cmp eax, ecx
je 0x10091cf6
movss xmm2, dword [esi + 0x18c4]
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [ebp - 0x34]
mov dword [esp], 0xbf800000
push eax
call fcn.100279e0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [0x10155bb8]
movss xmm1, dword [0x10155b64]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0xa0], xmm0
jmp 0x10091d01
xorps xmm0, xmm0
movss dword [ebp - 0x90], xmm0
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x34]
movss xmm0, dword [edi + 0xdc]
movaps xmm2, xmm0
movss dword [ebp - 0x98], xmm0
movss xmm4, dword [eax]
movss xmm5, dword [eax + 4]
movaps xmm6, xmm4
mulss xmm6, xmm1
addss xmm2, xmm5
movss xmm1, dword [edi + 0xd8]
movss dword [ebp - 0x94], xmm1
subss xmm6, dword [0x10155ca0]
subss xmm4, xmm6
addss xmm4, xmm1
movss xmm1, dword [0x10155c84]
subss xmm2, xmm1
addss xmm0, xmm1
subss xmm5, xmm1
movaps xmm3, xmm4
movss dword [ebp - 0x78], xmm4
addss xmm3, xmm6
movss dword [ebp - 0x6c], xmm2
addss xmm2, dword [0x10155cbc]
subss xmm6, xmm1
movss dword [ebp - 0x74], xmm0
movss dword [ebp - 0x5c], xmm4
movss dword [ebp - 0x58], xmm0
subss xmm3, xmm1
movss dword [ebp - 0x7c], xmm5
movss xmm1, dword [ebx + 0x154c]
movss dword [ebp - 0x50], xmm2
subss xmm2, xmm0
movss dword [ebp - 0x38], xmm6
movss dword [ebp - 0x70], xmm3
movss dword [ebp - 0x54], xmm3
subss xmm3, xmm4
movss dword [ebp - 0x30], xmm2
movss dword [ebp - 0x34], xmm3
call fcn.1000bf80
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0x78]
push eax
mov edx, esi
lea ecx, [ebp - 0x5c]
call fcn.1000c0b0
add esp, 4
test al, al
je 0x10093c43
mov edx, esi
lea ecx, [ebp - 0x78]
call fcn.1000c350
mov byte [ebp - 7], al
test al, al
je 0x10091e01
mov dword [ebx + 0x1d38], 1
mov ecx, dword [ebp - 0x40]
lea edi, [ebx + 0x1e08]
xor eax, eax
cmp dword [edi], esi
cmovne edi, eax
mov eax, dword [ecx + 0x174]
mov edx, dword [ecx + 0x17c]
mov dword [ebp - 0x48], edi
lea eax, [eax + 1]
mov dword [ecx + 0x174], eax
and edx, 5
jne 0x10091e34
inc dword [ecx + 0x178]
mov ecx, dword [0x1020f4d8]
mov edi, dword [ebp - 0x40]
cmp dword [ecx + 0x1be4], edi
mov edi, dword [ebp - 0x48]
jne 0x10091ea8
cmp eax, dword [ecx + 0x1bec]
jne 0x10091e55
mov edx, dword [ebp - 0x40]
jmp 0x10091e70
test edx, edx
jne 0x10091e97
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x178]
cmp eax, dword [ecx + 0x1bf0]
jne 0x10091e97
mov dword [ecx + 0x1af0], esi
mov cl, 1
cmp dword [ebx + 0x1be4], edx
jne 0x10091e8d
mov eax, dword [ebx + 0x1bec]
cmp eax, dword [edx + 0x174]
jne 0x10091e8d
mov byte [ebp - 2], cl
jmp 0x10091ead
mov byte [ebp - 2], 0
mov byte [ebp - 0x11], 1
jmp 0x10091eb1
cmp dword [ecx + 0x19ec], esi
jne 0x10091ea8
xor edx, edx
xor ecx, ecx
call fcn.1000bde0
xor cl, cl
mov byte [ebp - 2], cl
mov byte [ebp - 0x11], 0
cmp byte [ebp - 7], 0
je 0x10091ec4
cmp byte [ebx + 0x3d8], 0
je 0x10091ec4
mov dl, 1
jmp 0x10091ec6
xor dl, dl
mov eax, dword [ebx + 0x19ec]
mov byte [ebp - 8], dl
cmp eax, esi
je 0x10091ef3
cmp dword [ebx + 0x1aec], esi
je 0x10091eec
cmp dword [ebx + 0x1ae0], esi
jne 0x10091ef3
cmp dword [ebx + 0x1b00], 3
jne 0x10091ef3
mov ch, 1
mov byte [ebp - 0x2c], ch
jmp 0x10091ef9
mov byte [ebp - 0x2c], 0
xor ch, ch
mov byte [ebp - 0x20], 0
mov byte [ebp - 4], ch
mov dword [ebp - 0x24], 1
test cl, cl
jne 0x10091f1b
test dl, dl
jne 0x10091f1b
test ch, ch
jne 0x10091f1b
mov byte [ebp - 5], cl
jmp 0x100920fe
mov dword [ebp - 0x48], edi
mov cl, 1
mov byte [ebp - 5], cl
cmp eax, esi
je 0x100920fe
mov ecx, dword [ebp + 0x10]
lea edi, [ebx + 0x1e08]
mov dword [ebp - 0x48], edi
mov dword [edi + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10091f44
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x10091f81
test eax, eax
je 0x10091f6a
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10091f72
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10019b60
push esi
push dword [ebp + 0x10]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp + 0x14]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [ebp - 0x10], edx
cmp edx, esi
jle 0x10091fd3
test esi, esi
je 0x10091fb8
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0x10]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x10091fbd
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.10019bd0
mov edx, dword [ebp - 0x10]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x10091ff5
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.10019b60
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
dec ecx
mov dword [edi + 0x18], 0
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [ebp - 0x10], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x1009205e
mov ebx, eax
cmp byte [ebx], 0
je 0x10092055
push 0
mov edx, ebx
lea ecx, [ebp - 0x18]
call fcn.10009720
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10092052
cmp eax, 0xffff
ja 0x10092042
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 0x10]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x10092018
jmp 0x10092055
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp + 0x10]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x1009209a
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
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
mov esi, eax
jmp 0x100920df
mov edx, dword [ebp - 0x2c]
mov esi, eax
cmp byte [ebp - 2], cl
movzx edx, dl
cmovne edx, dword [ebp - 0x24]
mov dword [edi], esi
mov dword [edi + 0x38], ecx
mov dword [edi + 0xe52], 0x630000
mov dword [edi + 0xe58], ecx
mov dword [edi + 0xe5c], 0x3e7
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x48], 0x10000
mov dword [edi + 0x50], ecx
mov byte [edi + 0x4c], 1
mov dword [ebp - 0x2c], edx
cmp byte [ebp - 0x11], 0
mov dword [edi + 0x40], ecx
jne 0x100920f7
cmp byte [ebp - 8], 0
je 0x100920fb
cmp byte [ebx + 0x100], 0
je 0x100920fb
mov byte [ebp - 0x2c], 1
mov cl, byte [ebp - 5]
cmp dword [ebx + 0x19ec], esi
je 0x1009214c
test cl, cl
je 0x10092144
mov edx, dword [ebp - 0x40]
mov ecx, esi
call fcn.1000bde0
call fcn.1000bec0
mov ecx, edx
call fcn.10013a10
or dword [ebx + 0x1a00], 3
or dword [ebx + 0x1a04], 2
mov eax, dword [ebx + 0x1a0c]
or dword [ebx + 0x1a08], 0x180
mov dword [ebx + 0x1a0c], eax
cmp dword [ebx + 0x19ec], esi
jne 0x1009217f
test edi, edi
jne 0x10092159
xor edx, edx
xor ecx, ecx
call fcn.1000bde0
cmp dword [ebx + 0x19ec], esi
jne 0x1009217f
cmp byte [ebx + 0x3d8], 0
je 0x1009217b
mov eax, dword [ebp - 0x20]
cmp byte [ebp - 5], 0
movzx eax, al
cmove eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov cl, 1
jmp 0x10092181
xor cl, cl
mov byte [ebp - 5], cl
test edi, edi
je 0x1009219e
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1009219e
test cl, cl
je 0x1009219e
mov byte [ebp - 3], 1
mov byte [ebp - 6], 0
jmp 0x100921b9
mov byte [ebp - 6], 0
mov byte [ebp - 3], 0
test cl, cl
jne 0x100921b5
mov byte [ebp - 3], cl
cmp dword [ebx + 0x19ec], esi
jne 0x100921c3
test edi, edi
je 0x100921c3
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x26], 1
jne 0x100921c7
mov byte [ebp - 0x26], 0
cmp dword [ebx + 0x19ec], esi
jne 0x100924a9
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
cmp byte [ebx + 0xf0], 0
movss xmm2, dword [ebx + 0x18c4]
mulss xmm2, dword [0x10155b64]
sete al
cmp byte [ebp - 0x2c], 0
mov byte [ebx + 0x19f9], al
mov dword [ebx + 0x2f84], 1
movss xmm6, dword [ebx + 0xe8]
subss xmm6, dword [ebp - 0x78]
mov al, byte [ebx + 0xb1]
mov byte [ebp - 2], al
subss xmm6, dword [ebx + 0x1548]
addss xmm6, dword [edi + 0x38]
jne 0x100923a5
mov cl, byte [ebp - 7]
test cl, cl
je 0x10092265
test al, al
jne 0x100922c7
cmp byte [ebx + 0x3e2], al
jne 0x100923a5
cmp byte [ebx + 0x3d8], 0
je 0x1009231b
cmp byte [edi + 0xe65], 0
jne 0x1009231b
test cl, cl
je 0x100923c3
cmp byte [edi + 0x4c], 0
je 0x100922a1
push 0
mov edx, edi
lea ecx, [ebp - 0x64]
call fcn.1002b140
movss xmm2, dword [ebp - 0x58]
add esp, 4
movaps xmm1, xmm6
mov ecx, edi
call fcn.1002b460
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 0x100923c0
cmp byte [ebx + 0x3e2], 0
je 0x10092265
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002b840
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.1002b840
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x100923c0
cmp byte [ebx + 0xf0], 0
je 0x100923c3
cmp byte [edi + 0xe65], 0
jne 0x100923cc
movss xmm0, dword [ebx + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1009235a
movss xmm0, dword [ebx + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100923c3
cmp byte [edi + 0x4c], 0
je 0x10092374
push 0
mov edx, edi
lea ecx, [ebp - 0x64]
call fcn.1002b140
movss xmm2, dword [ebp - 0x58]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10092382
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm6
mov ecx, edi
call fcn.1002b460
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe60], 0xbe99999a
mov byte [edi + 0xe64], 1
jmp 0x100923c0
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
mov al, byte [ebp - 2]
cmp byte [edi + 0xe65], 0
je 0x100923dc
cmp byte [ebx + 0xf0], 0
jne 0x100923dc
mov byte [edi + 0xe65], 0
cmp byte [ebx + 0x100], 0
je 0x100923ee
cmp byte [ebx + 0x102], 0
je 0x100923fb
test al, al
je 0x100923ff
cmp byte [ebx + 0x103], 0
je 0x100923ff
mov al, 1
jmp 0x10092401
xor al, al
cmp dword [ebx + 0x1500], 0
jle 0x100924a9
test al, al
jne 0x10092479
cmp byte [ebp - 4], al
jne 0x10092479
xor esi, esi
nop dword [eax]
mov eax, dword [ebx + 0x1508]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0x10], eax
cmp eax, 9
jne 0x1009243b
cmp byte [ebx + 0x101], 0
jne 0x10092470
sub esp, 8
lea ecx, [ebp - 0x10]
xor edx, edx
call fcn.10030870
add esp, 8
test al, al
je 0x10092470
push dword [ebp - 0x10]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002b840
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
inc esi
cmp esi, dword [ebx + 0x1500]
jl 0x10092420
mov ecx, dword [ebx + 0x1504]
test ecx, ecx
jns 0x1009249f
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, [ebx + 0x1500]
call fcn.10019bd0
mov dword [ebx + 0x1500], 0
mov eax, dword [ebp - 0x3c]
xor cl, cl
mov byte [ebp - 1], cl
cmp dword [ebx + 0x19ec], eax
jne 0x10092dd5
cmp byte [ebx + 0x19f8], cl
jne 0x10092c99
cmp byte [ebp - 0x20], cl
jne 0x10092c99
mov cl, byte [ebx + 0x101]
xor esi, esi
mov ch, byte [ebx + 0xb1]
test cl, cl
mov eax, 0x400000
mov byte [ebp - 0x19], ch
cmovne esi, eax
test ch, ch
je 0x1009253e
cmp byte [ebx + 0x103], 0
je 0x1009250a
cmp byte [ebx + 0x100], 0
jne 0x1009250a
mov eax, 1
jmp 0x1009250c
xor eax, eax
test eax, eax
jne 0x10092550
xor dl, dl
mov byte [ebp - 2], dl
test ch, ch
je 0x10092561
cmp byte [ebx + 0x103], 0
je 0x10092561
test cl, cl
je 0x10092561
cmp byte [ebx + 0x100], 0
jne 0x10092561
cmp byte [ebx + 0x102], 0
jne 0x10092561
mov byte [ebp - 8], 1
jmp 0x10092569
cmp byte [ebx + 0x100], 0
je 0x10092510
cmp byte [ebx + 0x103], 0
jne 0x10092510
cmp byte [ebx + 0x102], 0
jne 0x10092510
test cl, cl
jne 0x10092510
mov dl, 1
jmp 0x10092512
mov byte [ebp - 8], 0
test ch, ch
je 0x100925ce
cmp byte [ebx + 0x103], 0
mov cl, byte [ebx + 0x102]
mov byte [ebp - 9], cl
je 0x100925d8
cmp byte [ebx + 0x100], 0
jne 0x100925d8
test cl, cl
jne 0x100925d8
mov cl, byte [ebx + 0x100]
mov byte [ebp - 0xa], 1
cmp byte [ebx + 0x101], 0
mov byte [ebp - 4], 0
je 0x1009262a
mov byte [ebp - 4], 0
test cl, cl
jne 0x1009262a
mov byte [ebp - 4], cl
cmp byte [ebx + 0x102], cl
jne 0x1009262a
mov byte [ebp - 4], cl
cmp byte [ebx + 0x103], cl
jne 0x1009262a
mov byte [ebp - 7], 1
mov byte [ebp - 4], cl
jmp 0x1009262e
mov cl, byte [ebx + 0x100]
mov byte [ebp - 8], 0
mov al, cl
mov byte [ebp - 0xa], 0
mov cl, byte [ebx + 0x100]
mov byte [ebp - 9], al
test cl, cl
je 0x10092592
cmp byte [ebx + 0x101], 0
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
jne 0x10092592
cmp byte [ebx + 0x102], 0
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
jne 0x10092592
cmp byte [ebx + 0x103], 0
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
jne 0x10092592
mov byte [ebp - 4], 1
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
mov byte [ebp - 7], 0
mov eax, dword [0x1020f4d8]
test dl, dl
je 0x1009264f
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x1009264f
call fcn.1000e920
test al, al
jne 0x10092665
mov eax, dword [0x1020f4d8]
cmp byte [ebp - 7], 0
je 0x1009266b
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x1009266b
call fcn.1000e920
test al, al
je 0x1009266b
mov byte [ebp - 0x11], 1
jmp 0x1009266f
mov byte [ebp - 0x11], 0
cmp byte [ebp - 2], 0
mov eax, dword [0x1020f4d8]
je 0x1009268f
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x1009268f
call fcn.1000e920
test al, al
jne 0x100926a5
mov eax, dword [0x1020f4d8]
cmp byte [ebp - 4], 0
je 0x100926ab
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100926ab
call fcn.1000e920
test al, al
je 0x100926ab
mov byte [ebp - 4], 1
jmp 0x100926af
mov byte [ebp - 4], 0
cmp byte [ebp - 2], 0
mov eax, dword [0x1020f4d8]
je 0x100926cf
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x100926cf
call fcn.1000e920
test al, al
jne 0x100926e5
mov eax, dword [0x1020f4d8]
cmp byte [ebp - 7], 0
je 0x100926eb
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100926eb
call fcn.1000e920
test al, al
je 0x100926eb
mov byte [ebp - 0x25], 1
jmp 0x100926ef
mov byte [ebp - 0x25], 0
mov dl, byte [ebp - 2]
test dl, dl
je 0x10092717
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x10092717
call fcn.1000e920
test al, al
je 0x10092714
mov byte [ebp - 7], 1
jmp 0x1009271f
mov dl, byte [ebp - 2]
mov byte [ebp - 7], 0
test dl, dl
je 0x10092737
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x1009273c
call fcn.1000e920
test al, al
jne 0x10092755
mov eax, dword [0x1020f4d8]
cmp byte [ebp - 8], 0
je 0x1009275b
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x1009275b
call fcn.1000e920
test al, al
je 0x1009275b
mov byte [ebp - 8], 1
jmp 0x1009275f
mov byte [ebp - 8], 0
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x100927b9
call fcn.1000e920
test al, al
je 0x100927b4
cmp byte [ebp - 0xa], 0
je 0x10092791
mov eax, 0x200004
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.1002b840
jmp 0x10092c68
cmp byte [ebp - 9], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.1002b840
jmp 0x10092c68
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x1009280e
call fcn.1000e920
test al, al
je 0x10092809
cmp byte [ebp - 0xa], 0
je 0x100927e6
mov eax, 0x200005
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.1002b840
jmp 0x10092c68
cmp byte [ebp - 9], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.1002b840
jmp 0x10092c68
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x1009284a
call fcn.1000e920
test al, al
je 0x10092845
mov eax, esi
lea edx, [edi + 0x3c]
or eax, 0x200006
or esi, 0x200004
cmp byte [ebx + 0x100], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.1002b840
jmp 0x10092c68
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x10092886
call fcn.1000e920
test al, al
je 0x10092881
mov eax, esi
lea edx, [edi + 0x3c]
or eax, 0x200007
or esi, 0x200005
cmp byte [ebx + 0x100], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.1002b840
jmp 0x10092c68
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100928b1
call fcn.1000e920
test al, al
je 0x100928ac
or esi, 0x200008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.1002b840
jmp 0x10092c68
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x10092930
call fcn.1000e920
test al, al
je 0x10092930
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1009291a
cmp byte [ebp - 9], 0
je 0x100928d6
push 0x60000c
jmp 0x100928fc
cmp byte [ebp - 0x19], 0
je 0x1009291a
cmp byte [ebx + 0x103], 0
je 0x1009291a
cmp byte [ebx + 0x102], 0
jne 0x1009291a
cmp byte [ebx + 0x100], 0
jne 0x1009291a
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002b840
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.1002b840
jmp 0x10092c68
mov esi, dword [0x1020f4d8]
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x10092946
call fcn.1000e920
test al, al
jne 0x10092956
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x1009295f
call fcn.1000e920
test al, al
je 0x1009295f
mov byte [ebp - 0x20], 1
jmp 0x10092c7c
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x10092979
call fcn.1000e920
test al, al
je 0x10092979
mov cl, 1
mov byte [ebp - 0x20], cl
jmp 0x10092c7f
mov al, byte [ebp - 7]
test al, al
jne 0x10092c49
cmp byte [ebp - 8], al
jne 0x10092c49
cmp byte [ebp - 2], al
je 0x100929bb
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x100929bb
call fcn.1000e920
test al, al
je 0x100929bb
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 0x10092c75
mov al, byte [ebp - 0x11]
test al, al
jne 0x10092b45
cmp byte [ebp - 4], al
jne 0x10092b45
cmp byte [ebp - 0x25], al
je 0x10092c7c
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x100929f9
push dword [esi + 0xd8]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x10092c7c
jmp 0x100929fe
mov esi, 0x1014f3ee
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10092a03
mov eax, dword [0x1020f4d8]
sub ecx, edx
test eax, eax
je 0x10092a1b
inc dword [eax + 0x374]
lea eax, [ecx*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [ebp - 0x24], eax
cmp byte [esi], 0
mov dword [ebp - 0x10], 0
je 0x10092a85
xor ebx, ebx
mov edi, eax
nop
push 0
mov edx, esi
lea ecx, [ebp - 0x18]
call fcn.10009720
add esp, 4
add esi, eax
cmp dword [ebp - 0x18], 0
je 0x10092a79
sub esp, 8
lea ecx, [ebp - 0x18]
xor edx, edx
call fcn.10030870
add esp, 8
test al, al
je 0x10092a74
mov ax, word [ebp - 0x18]
mov word [edi + ebx*2], ax
inc ebx
cmp byte [esi], 0
jne 0x10092a40
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x10]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x10092b22
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x10], edx
mov edx, dword [edi + 0x40]
cmp edx, dword [edi + 0x44]
je 0x10092ac3
cmp edx, ecx
jle 0x10092ab0
mov dword [edi + 0x40], ecx
mov edx, ecx
cmp dword [edi + 0x44], ecx
jle 0x10092abb
mov dword [edi + 0x44], ecx
mov dword [ebp - 0x10], ecx
cmp edx, dword [ebp - 0x10]
jne 0x10092ac3
mov dword [edi + 0x3c], edx
cmp dword [edi + 0x3c], ecx
jle 0x10092acb
mov dword [edi + 0x3c], ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.10091b00
mov edx, dword [edi + 0x3c]
mov ecx, edi
push esi
push dword [ebp - 0x24]
call fcn.1002b310
add esp, 8
test al, al
je 0x10092b04
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x54]
push esi
push 0
call fcn.1002c670
add esp, 8
mov byte [edi + 0x4b], 0
add dword [edi + 0x3c], esi
jmp 0x10092b18
movzx eax, word [edi + 0xe52]
test ax, ax
je 0x10092b18
dec eax
mov word [edi + 0xe52], ax
mov eax, dword [ebp - 0x24]
mov byte [edi + 0xe64], 1
test eax, eax
je 0x10092b36
mov ecx, dword [0x1020f4d8]
test ecx, ecx
je 0x10092b36
dec dword [ecx + 0x374]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x10092c7c
cmp dword [ebx + 0xd4], 0
je 0x10092c0a
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x10092b69
mov edx, ecx
cmovge ecx, eax
cmovl edx, eax
mov dword [ebp - 0x18], edx
jmp 0x10092b73
mov ecx, dword [edi + 4]
mov dword [ebp - 0x18], 0
mov al, byte [ebp - 3]
mov byte [ebp - 3], al
mov al, byte [ebp - 6]
mov byte [ebp - 6], al
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x10], ecx
lea edx, [eax + ecx*2]
mov ecx, dword [ebp - 0x18]
lea ecx, [eax + ecx*2]
call fcn.100099e0
inc eax
mov dword [ebp - 0x24], eax
test esi, esi
je 0x10092ba1
inc dword [esi + 0x374]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x18]
lea ecx, [esi + ecx*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x4c]
push ecx
mov ecx, esi
call fcn.100098b0
mov eax, dword [0x1020f4d8]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x10092bef
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x1020f4d8]
add esp, 8
test esi, esi
je 0x10092bfd
test eax, eax
je 0x10092bfd
dec dword [eax + 0x374]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov al, byte [ebp - 0x11]
add esp, 4
test al, al
je 0x10092c7c
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10092c2a
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 0x10092c7c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.10091b00
mov byte [edi + 0x4b], 0
jmp 0x10092c7c
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.1002b840
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
add esp, 4
mov dword [edi + 0xe60], 0xbe99999a
mov byte [edi + 0xe64], 1
mov cl, byte [ebp - 1]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10092c91
cmp byte [ebp - 5], 0
je 0x10092c91
mov al, 1
jmp 0x10092c93
xor al, al
or byte [ebp - 3], al
mov eax, dword [ebp - 0x3c]
cmp dword [ebx + 0x19ec], eax
jne 0x10092dd5
test cl, cl
je 0x10092ce7
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 0x10]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10092cd1
test dl, dl
je 0x10092ccd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10092cd1
add eax, 2
add ecx, 2
test dl, dl
jne 0x10092cb1
xor eax, eax
jmp 0x10092cd6
sbb eax, eax
or eax, 1
test eax, eax
je 0x10092db4
mov eax, dword [edi + 0x24]
dec eax
jmp 0x10092d7d
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
cmp esi, eax
jle 0x10092d2c
test eax, eax
je 0x10092d12
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10092d1a
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10019b60
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100098b0
mov esi, dword [edi + 0x20]
add esp, 8
mov ecx, dword [ebp + 0x10]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10092d68
test dl, dl
je 0x10092d64
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10092d68
add eax, 2
add ecx, 2
test dl, dl
jne 0x10092d48
xor eax, eax
jmp 0x10092d6d
sbb eax, eax
or eax, 1
mov cl, byte [ebp - 6]
mov byte [ebp - 6], cl
test eax, eax
je 0x10092db4
mov eax, dword [edi + 8]
mov byte [ebp - 6], cl
test esi, esi
je 0x10092db4
mov ecx, dword [ebp + 0x14]
inc eax
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp + 0x14], ecx
cmp ecx, 1
jb 0x10092db0
jbe 0x10092da8
lea eax, [ecx - 1]
push eax
push esi
push dword [ebp + 0x10]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov ecx, dword [ebp + 0x14]
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov byte [ecx + eax - 1], 0
mov byte [ebp - 6], 1
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [ebp - 0x20], 0
je 0x10092dec
cmp dword [ebx + 0x19ec], eax
jne 0x10092dec
xor edx, edx
xor ecx, ecx
call fcn.1000bde0
mov edx, dword [ebp + 8]
xor ecx, ecx
cmp byte [edx], cl
je 0x10092dfc
inc ecx
cmp byte [ecx + edx], 0
jne 0x10092df5
mov bl, byte [edx]
mov al, bl
sub al, 0x41
cmp al, 0x19
ja 0x10092e09
add bl, 0x20
test ecx, ecx
jne 0x10092e14
mov esi, 0x84222325
jmp 0x10092e2d
push ecx
lea eax, [ecx - 1]
inc edx
movsx ecx, bl
push eax
xor ecx, 0x8601b7df
call fcn.1005bc80
add esp, 8
mov esi, eax
xor ecx, ecx
nop
mov edx, ecx
inc ecx
cmp byte [ecx + str.frame], 0
jne 0x10092e30
test ecx, ecx
jne 0x10092e47
mov eax, 0x84222325
jmp 0x10092e5b
push ecx
push edx
mov edx, 0x101551c9
mov ecx, 0x8601b7b9
call fcn.1005bc80
add esp, 8
mov ecx, dword [ebp - 0x8c]
add eax, esi
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ecx + 0x40]
call fcn.10088770
cmp byte [ebp - 5], 0
jne 0x10092e89
cmp byte [ebp - 3], 0
jne 0x10092e89
xorps xmm1, xmm1
jmp 0x10092e91
movss xmm1, dword [0x10155bc0]
movss xmm2, dword [0x1020dc08]
lea esi, [eax + 4]
mulss xmm2, dword [0x10155c64]
movss xmm0, dword [esi]
call fcn.10085b20
movss xmm7, dword [0x10155bc0]
lea ecx, [ebp + 0x14]
xorps xmm4, xmm4
movss dword [esi], xmm0
comiss xmm0, xmm4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0x3f800000
mov dword [ebp + 0x14], 0
mov dword [ebp - 0x18], 0xff
movss xmm5, dword [0x10155e08]
movss xmm6, dword [0x10155b64]
cmovae ecx, esi
comiss xmm7, xmm0
cmovae eax, ecx
lea ecx, [ebp + 0x14]
movss xmm1, dword [eax]
lea eax, [ebp - 0x10]
movaps xmm0, xmm1
movss dword [esi], xmm1
mulss xmm1, dword [0x10155cf0]
mov dword [ebp + 0x14], 0
mulss xmm0, dword [0x10155d00]
addss xmm1, dword [0x10155d6c]
cvttss2si ebx, xmm0
mulss xmm1, dword [ebp - 0x68]
cvttss2si edx, xmm1
test edx, edx
mov dword [ebp - 0x10], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0x18]
cmovle eax, ecx
mov cl, byte [eax]
movzx eax, bl
movd xmm2, eax
movzx eax, cl
cvtdq2ps xmm2, xmm2
movd xmm3, eax
mulss xmm2, dword [0x10155aa0]
cvtdq2ps xmm3, xmm3
comiss xmm4, xmm2
mulss xmm3, dword [0x10155aa0]
jbe 0x10092f76
xor ecx, ecx
xorps xmm2, xmm2
jmp 0x10092fa8
movaps xmm0, xmm2
movaps xmm1, xmm2
minss xmm0, xmm7
minss xmm1, xmm7
minss xmm2, xmm7
mulss xmm0, xmm5
mulss xmm1, xmm5
addss xmm0, xmm6
addss xmm1, xmm6
cvttss2si ecx, xmm0
cvttss2si eax, xmm1
shl ecx, 8
or ecx, eax
shl ecx, 8
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si eax, xmm2
or ecx, eax
comiss xmm4, xmm3
jbe 0x10092fc0
xorps xmm3, xmm3
jmp 0x10092fc4
minss xmm3, xmm7
mulss xmm3, xmm5
push 0xf
push ecx
mov dword [esp], 0x40800000
addss xmm3, xmm6
cvttss2si eax, xmm3
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 4]
call fcn.100243c0
cmp byte [ebp - 0x26], 0
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [ebp - 0x78]
movss xmm7, dword [ebp - 0x74]
movaps xmm6, xmm7
movaps xmm1, xmm7
addss xmm1, dword [0x10155c74]
addss xmm6, dword [ebp - 0x7c]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x78]
addss xmm0, dword [0x10155c88]
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x4c], xmm6
movss dword [ebp - 0xa0], xmm1
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0xa4], xmm0
je 0x10093057
mov edx, dword [edi + 0x20]
mov dword [ebp + 0x10], edx
jmp 0x1009305a
mov edx, dword [ebp + 0x10]
mov ch, byte [ebp - 5]
mov cl, byte [ebp - 3]
test ch, ch
jne 0x100931ad
test cl, cl
jne 0x100931ad
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
cmp dword [ebx + 0x19ec], eax
jne 0x10093085
mov esi, dword [edi + 8]
add esi, edx
jmp 0x1009309f
mov ecx, edx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10093090
sub ecx, edx
mov edx, dword [ebp + 0x10]
lea esi, [edx + ecx]
mov eax, esi
mov dword [ebp - 0x20], esi
sub eax, edx
cmp eax, 0x200000
jge 0x10093a88
movss xmm1, dword [0x10155bc0]
xor ecx, ecx
call fcn.10009fa0
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebx + 0x18c0]
movss xmm2, dword [ebx + 0x18c4]
mov dword [ebp + 0x14], eax
mov edx, dword [ecx + 0x284]
test eax, 0xff000000
je 0x10093a88
test esi, esi
jne 0x10093101
mov ecx, dword [ebp + 0x10]
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100930f0
mov eax, dword [ebp + 0x10]
sub ecx, esi
lea esi, [eax + ecx]
jmp 0x10093104
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x10093a88
test edi, edi
jne 0x10093116
mov eax, dword [edx + 0x28]
mov edi, dword [eax + 8]
ucomiss xmm2, dword [0x10155a64]
lahf
test ah, 0x44
jp 0x1009312b
mov eax, dword [edx + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [edx + 0x40]
mov eax, dword [edx + 0x48]
movss xmm1, dword [ebp - 0x78]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
comiss xmm0, xmm1
movups xmmword [ebp - 0x88], xmm0
jae 0x10093152
movss dword [ebp - 0x88], xmm1
movss xmm0, dword [ebp - 0x84]
comiss xmm0, xmm7
jae 0x10093167
movss dword [ebp - 0x84], xmm7
movss xmm0, dword [ebp - 0x24]
comiss xmm0, dword [ebp - 0x80]
ja 0x10093177
movss dword [ebp - 0x80], xmm0
comiss xmm6, dword [ebp - 0x7c]
ja 0x10093182
movss dword [ebp - 0x7c], xmm6
push dword [ebp - 0x30]
lea eax, [ebp - 0x88]
push dword [ebp - 0x34]
push 1
push ecx
mov dword [esp], 0
mov ecx, edi
push esi
push dword [ebp + 0x10]
push eax
push dword [ebp + 0x14]
push edx
call fcn.10027b90
jmp 0x10093a88
mov eax, dword [edi + 8]
mov ebx, 0xfffffc18
add eax, edx
mov dword [ebp - 0x10], 0
xor edx, edx
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0x14]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
xorps xmm6, xmm6
mov dword [ebp - 0x18], ebx
xorps xmm5, xmm5
mov dword [ebp + 0x14], ebx
test ch, ch
je 0x100931f7
mov esi, dword [edi + 0x14]
or ebx, 0xffffffff
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x18], ebx
lea edx, [ebx + 2]
lea eax, [esi + eax*2]
mov dword [ebp - 0x10], eax
mov eax, esi
test cl, cl
je 0x10093216
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 - 0x2c], ecx
mov ecx, eax
xor esi, esi
movzx eax, word [eax]
test ax, ax
je 0x10093269
mov edi, dword [ebp - 0x18]
mov ebx, eax
cmp bx, 0xa
jne 0x10093252
inc esi
cmp edi, 0xffffffff
jne 0x1009323f
cmp ecx, dword [ebp - 0x10]
jb 0x1009323f
dec edx
mov edi, esi
test edx, edx
jle 0x10093260
cmp dword [ebp + 0x14], 0xffffffff
jne 0x10093252
cmp ecx, dword [ebp - 0x2c]
jb 0x10093252
dec edx
mov dword [ebp + 0x14], esi
test edx, edx
jle 0x10093260
movzx eax, word [ecx + 2]
add ecx, 2
mov ebx, eax
test ax, ax
jne 0x10093227
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x18]
mov edx, dword [edi + 0x14]
inc esi
cmp ebx, 0xffffffff
mov eax, esi
cmovne eax, ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x7c], eax
mov ecx, ebx
mov eax, dword [ebp + 0x14]
cmp eax, 0xffffffff
cmove eax, esi
mov dword [ebp + 0x14], eax
cmp ebx, edx
jbe 0x1009329e
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x1009329e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10093290
mov eax, dword [0x1020f4d8]
movaps xmm2, xmm0
movaps xmm4, xmm0
mov esi, dword [eax + 0x18c0]
movss xmm3, dword [eax + 0x18c4]
divss xmm3, dword [esi + 0x10]
cmp ecx, ebx
jae 0x10093308
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x100932d9
maxss xmm4, xmm2
movaps xmm2, xmm4
movaps xmm4, xmm0
jmp 0x10093301
cmp edx, 0xd
je 0x10093301
mov edx, eax
cmp edx, dword [esi]
jge 0x100932ee
mov eax, dword [esi + 8]
movss xmm1, dword [eax + edx*4]
jmp 0x100932f3
movss xmm1, dword [esi + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm4, xmm0
xorps xmm0, xmm0
cmp ecx, ebx
jb 0x100932c0
mov edx, dword [edi + 0x14]
cmp dword [ebp + 0x14], 0
maxss xmm4, xmm2
movd xmm0, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0x44]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x10], xmm4
mulss xmm0, dword [ebx + 0x18c4]
movss dword [ebp - 0x44], xmm0
jl 0x100933d5
mov eax, dword [ebp - 0x2c]
mov ecx, eax
cmp eax, edx
jbe 0x10093351
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x1009334e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10093340
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x1020f4d8]
xorps xmm3, xmm3
xorps xmm5, xmm5
xorps xmm1, xmm1
mov esi, dword [edx + 0x18c0]
movss xmm2, dword [edx + 0x18c4]
divss xmm2, dword [esi + 0x10]
cmp ecx, eax
jae 0x100933bf
mov edi, dword [ebp - 0x2c]
nop word [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10093396
maxss xmm5, xmm1
movaps xmm1, xmm3
jmp 0x100933b8
cmp edx, 0xd
je 0x100933b8
mov edx, eax
cmp edx, dword [esi]
jge 0x100933ab
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x100933b0
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x10093380
mov edi, dword [ebp - 0x48]
movd xmm6, dword [ebp + 0x14]
maxss xmm5, xmm1
cvtdq2ps xmm6, xmm6
mulss xmm6, dword [ebx + 0x18c4]
jmp 0x100933d8
xorps xmm3, xmm3
cmp byte [ebp - 5], 0
je 0x10093436
cmp byte [edi + 0xe64], 0
je 0x10093436
movss xmm7, dword [ebp - 0x38]
movaps xmm0, xmm4
movss xmm2, dword [edi + 0x38]
movaps xmm1, xmm7
comiss xmm2, xmm4
mulss xmm1, dword [0x10155b24]
jbe 0x10093412
subss xmm0, xmm1
maxss xmm0, xmm3
cvttss2si eax, xmm0
jmp 0x10093423
subss xmm0, xmm7
comiss xmm0, xmm2
jb 0x1009342f
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 xmm7, dword [edi + 0x38]
movss dword [ebp - 0x18], xmm7
je 0x100936ba
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
mov eax, edx
mov esi, dword [edi + 0x14]
cmp ecx, edx
movss xmm0, dword [ebp - 0x68]
mulss xmm0, dword [0x10155cf0]
cmovl eax, ecx
cmovge edx, ecx
mov dword [ebp - 0x68], 0xff
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0
lea esi, [esi + eax*2]
mov eax, dword [edi + 0x14]
lea eax, [eax + edx*2]
cvttss2si edx, xmm0
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x38]
test edx, edx
mov dword [ebp - 0x38], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0x68]
cmovle eax, ecx
movzx eax, byte [eax]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10155aa0]
comiss xmm3, xmm0
jbe 0x100934be
movaps xmm0, xmm3
jmp 0x100934c6
minss xmm0, dword [0x10155bc0]
mulss xmm0, dword [0x10155e08]
mov ecx, dword [ebp + 0x14]
addss xmm5, dword [ebp - 0x34]
addss xmm6, dword [ebp - 0x30]
addss xmm0, dword [0x10155b64]
subss xmm5, xmm7
movss dword [ebp - 0x38], xmm6
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xd9d9d9
mov dword [ebp - 0x7c], eax
cmp esi, ecx
jae 0x100936ba
movss xmm1, dword [ebp - 0x4c]
mov edi, eax
nop word [eax + eax]
movaps xmm0, xmm1
addss xmm0, dword [ebx + 0x18c4]
comiss xmm6, xmm0
ja 0x100936b7
movss xmm0, dword [ebp - 0x74]
comiss xmm0, xmm6
jbe 0x1009354f
cmp esi, ecx
jae 0x10093699
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x10093699
cmp esi, ecx
jb 0x10093536
jmp 0x100936b7
mov eax, dword [0x1020f4d8]
movaps xmm4, xmm3
mov edx, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x100935b6
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x100935a9
cmp ecx, 0xd
je 0x100935a0
cmp ecx, dword [edx]
jge 0x10093590
mov eax, dword [edx + 8]
movss xmm1, dword [eax + ecx*4]
jmp 0x10093595
movss xmm1, dword [edx + 0xc]
movaps xmm0, xmm2
mulss xmm0, xmm1
addss xmm3, xmm0
mov ecx, dword [ebp + 0x14]
cmp esi, ecx
jb 0x10093570
jmp 0x100935b6
mov ecx, dword [ebp + 0x14]
movaps xmm4, xmm3
xorps xmm3, xmm3
maxss xmm4, xmm3
maxss xmm3, xmm4
xorps xmm0, xmm0
comiss xmm0, xmm3
jb 0x100935f2
mov eax, dword [ebx + 0x18c0]
cmp dword [eax], 0x20
jle 0x100935da
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100935df
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10155b64]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ebx + 0x18c4]
addss xmm3, xmm5
addss xmm0, dword [0x10155bc0]
maxss xmm5, dword [ebp - 0x78]
movaps xmm1, xmm6
movaps xmm2, xmm6
addss xmm2, dword [0x10155c04]
minss xmm3, dword [ebp - 0x24]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x5c], xmm5
movss dword [ebp - 0x54], xmm3
maxss xmm0, xmm1
movss xmm1, dword [ebp - 0x4c]
minss xmm2, xmm1
movss dword [ebp - 0x58], xmm0
comiss xmm2, dword [ebp - 0x74]
movss dword [ebp - 0x50], xmm2
jbe 0x10093696
comiss xmm1, xmm0
jbe 0x10093696
comiss xmm3, dword [ebp - 0x78]
jbe 0x10093696
movss xmm0, dword [ebp - 0x24]
comiss xmm0, xmm5
jbe 0x10093696
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x54]
push edi
push eax
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x284]
call fcn.100243c0
movss xmm6, dword [ebp - 0x38]
movss xmm7, dword [ebp - 0x18]
movss xmm1, dword [ebp - 0x4c]
mov ecx, dword [ebp + 0x14]
xorps xmm3, xmm3
movss xmm5, dword [ebp - 0x34]
subss xmm5, xmm7
addss xmm6, dword [ebx + 0x18c4]
movss dword [ebp - 0x38], xmm6
cmp esi, ecx
jb 0x10093510
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp + 0x10]
cmp eax, 0x200000
jge 0x1009388c
mov eax, dword [0x1020f4d8]
movss xmm5, dword [0x10155bc0]
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm3, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
movups xmmword [ebp - 0x5c], xmm0
jbe 0x100936fc
movaps xmm0, xmm3
jmp 0x10093700
minss xmm0, xmm5
movss xmm2, dword [0x10155e08]
movss xmm4, dword [0x10155b64]
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x58]
shl ecx, 0x10
comiss xmm3, xmm0
jbe 0x1009372e
movaps xmm0, xmm3
jmp 0x10093732
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x54]
shl eax, 8
or ecx, eax
comiss xmm3, xmm0
jbe 0x10093752
movaps xmm0, xmm3
jmp 0x10093756
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
or ecx, eax
comiss xmm3, xmm1
jbe 0x1009376e
movaps xmm1, xmm3
jmp 0x10093772
minss xmm1, xmm5
movss xmm0, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
subss xmm0, xmm7
mulss xmm1, xmm2
movss xmm2, dword [ebx + 0x18c4]
mov esi, dword [eax + 0x284]
mov eax, dword [ebp - 0x20]
addss xmm1, xmm4
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [ebp - 0x30]
mov dword [ebp + 0x14], eax
movss dword [ebp - 0x7c], xmm0
cvttss2si edx, xmm1
shl edx, 0x18
or edx, ecx
mov ecx, dword [ebx + 0x18c0]
mov dword [ebp - 0x38], ecx
test edx, 0xff000000
je 0x1009388c
test eax, eax
jne 0x100937ec
mov ecx, dword [ebp + 0x10]
lea eax, [ecx + 1]
mov dword [ebp + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100937d4
sub ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
add eax, ecx
mov ecx, dword [ebx + 0x18c0]
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x10], eax
je 0x1009388c
test ecx, ecx
jne 0x10093802
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x38], eax
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jp 0x10093813
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x48]
movss xmm1, dword [ebp - 0x78]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
comiss xmm0, xmm1
movups xmmword [ebp - 0x5c], xmm0
jae 0x10093834
movss dword [ebp - 0x5c], xmm1
movss xmm0, dword [ebp - 0x58]
movss xmm1, dword [ebp - 0x74]
comiss xmm0, xmm1
jae 0x10093848
movss dword [ebp - 0x58], xmm1
movss xmm0, dword [ebp - 0x24]
comiss xmm0, dword [ebp - 0x54]
ja 0x10093858
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ebp - 0x4c]
comiss xmm0, dword [ebp - 0x50]
ja 0x10093868
movss dword [ebp - 0x50], xmm0
push dword [ebp - 0x7c]
lea eax, [ebp - 0x5c]
push dword [ebp - 0x80]
push 1
push ecx
mov ecx, dword [ebp - 0x38]
mov dword [esp], 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push edx
push esi
call fcn.10027b90
cmp byte [ebp - 5], 0
je 0x10093a88
movss xmm0, dword [ebx + 0x18]
addss xmm0, dword [edi + 0xe60]
movss dword [edi + 0xe60], xmm0
cmp byte [ebx + 0xb2], 0
movss dword [ebp + 0x14], xmm0
je 0x100938e4
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x100938e4
fld dword [ebp + 0x14]
fld dword [0x10155bd8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10155b9c]
fstp dword [ebp + 0x14]
comiss xmm0, dword [ebp + 0x14]
jae 0x100938e4
xor al, al
jmp 0x100938e6
mov al, 1
movss xmm4, dword [ebp - 0x44]
movss xmm3, dword [ebp - 0x10]
movss xmm6, dword [0x10155b64]
movss xmm7, dword [0x10155bc0]
addss xmm4, dword [ebp - 0x30]
addss xmm3, dword [ebp - 0x34]
movss dword [ebp - 0x44], xmm4
movaps xmm0, xmm4
movaps xmm2, xmm4
subss xmm3, dword [ebp - 0x18]
subss xmm0, dword [ebx + 0x18c4]
subss xmm2, dword [0x10155be4]
movss dword [ebp - 0x10], xmm3
movaps xmm1, xmm3
movss dword [ebp - 0x5c], xmm3
addss xmm0, xmm6
movss dword [ebp - 0x50], xmm2
addss xmm1, xmm7
movss dword [ebp - 0x58], xmm0
movss dword [ebp - 0x54], xmm1
test al, al
je 0x10093a6c
comiss xmm2, dword [ebp - 0x74]
jbe 0x10093a6c
movss xmm5, dword [ebp - 0x4c]
comiss xmm5, xmm0
jbe 0x10093a6c
comiss xmm1, dword [ebp - 0x78]
jbe 0x10093a6c
movss xmm0, dword [ebp - 0x24]
comiss xmm0, xmm3
jbe 0x10093a6c
mov eax, dword [0x1020f4d8]
xorps xmm4, xmm4
movups xmm1, xmmword [eax + 0x15c0]
comiss xmm4, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xff
mulss xmm0, dword [eax + 0x1510]
movups xmmword [ebp - 0x78], xmm1
jbe 0x100939b2
xorps xmm1, xmm1
jmp 0x100939b6
minss xmm1, xmm7
movss xmm5, dword [0x10155e08]
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si ecx, xmm1
movss xmm1, dword [ebp - 0x74]
shl ecx, 0x10
comiss xmm4, xmm1
jbe 0x100939dc
xorps xmm1, xmm1
jmp 0x100939e0
minss xmm1, xmm7
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si eax, xmm1
movss xmm1, dword [ebp - 0x70]
shl eax, 8
or ecx, eax
comiss xmm4, xmm1
jbe 0x10093a00
xorps xmm1, xmm1
jmp 0x10093a04
minss xmm1, xmm7
mulss xmm1, xmm5
addss xmm1, xmm6
cvttss2si eax, xmm1
or ecx, eax
comiss xmm4, xmm0
jbe 0x10093a1c
xorps xmm0, xmm0
jmp 0x10093a20
minss xmm0, xmm7
mulss xmm0, xmm5
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x34], xmm3
addss xmm0, xmm6
movss dword [ebp - 0x30], xmm2
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x284]
call fcn.100241c0
movss xmm3, dword [ebp - 0x10]
movss xmm4, dword [ebp - 0x44]
movss xmm7, dword [0x10155bc0]
subss xmm4, dword [ebx + 0x18c4]
subss xmm3, xmm7
movss dword [ebx + 0x2d28], xmm4
movss dword [ebx + 0x2d24], xmm3
mov edi, dword [ebp + 8]
xor ecx, ecx
mov esi, dword [ebp - 0x8c]
cmp byte [edi], cl
je 0x10093a9e
inc ecx
cmp byte [ecx + edi], 0
jne 0x10093a97
mov dl, byte [edi]
mov al, dl
sub al, 0x41
cmp al, 0x19
ja 0x10093aab
add dl, 0x20
mov byte [ebp + 0x17], dl
test ecx, ecx
jne 0x10093ab9
mov eax, 0x84222325
jmp 0x10093ad3
push ecx
lea eax, [ecx - 1]
movsx ecx, byte [ebp + 0x17]
push eax
lea edx, [edi + 1]
xor ecx, 0x8601b7df
call fcn.1005bc80
add esp, 8
mov dword [ebp + 0x14], eax
lea ecx, [esi + 0x40]
lea eax, [ebp + 0x14]
push eax
call fcn.10088770
movss xmm3, dword [ebp - 0x94]
lea ecx, [ebp - 0x5c]
movss xmm2, dword [ebp - 0x98]
mov esi, eax
mov eax, dword [ebp + 0x18]
movaps xmm1, xmm3
mov edx, dword [ebp - 0x3c]
movaps xmm0, xmm2
movss dword [ebp - 0x5c], xmm3
movss dword [ebp - 0x58], xmm2
addss xmm1, dword [eax]
addss xmm0, dword [eax + 4]
movss dword [ebp - 0x54], xmm1
movss dword [ebp - 0x50], xmm0
call fcn.1000c350
movss xmm2, dword [0x1020dc08]
add esi, 4
mulss xmm2, dword [0x10155c64]
movzx eax, al
movss xmm0, dword [esi]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10085b20
comiss xmm0, dword [0x10155a64]
lea ecx, [ebp + 8]
mov dword [ebp + 0x18], 0x3f800000
lea eax, [ebp + 0x18]
mov dword [ebp + 8], 0
movss xmm1, dword [0x10155bc0]
movss dword [esi], xmm0
cmovae ecx, esi
comiss xmm1, xmm0
cmovae eax, ecx
mov eax, dword [eax]
mov dword [esi], eax
cmp byte [ebx + 0x2d60], 0
je 0x10093b9c
push dword [ebp - 0x20]
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0xa4]
call fcn.10018970
add esp, 4
movss xmm0, dword [ebp - 0x90]
comiss xmm0, dword [0x10155a64]
jbe 0x10093beb
movss xmm0, dword [ebp - 0x94]
xor edx, edx
addss xmm0, dword [0x10155c94]
mov ecx, edi
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x98]
addss xmm0, dword [0x10155cac]
movss dword [ebp - 0x30], xmm0
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push 1
call fcn.1000a140
add esp, 0xc
mov bl, byte [ebp - 6]
mov edi, dword [0x1020f4d8]
test bl, bl
je 0x10093c0e
mov eax, dword [edi + 0x19b0]
mov word [edi + 0x19fb], 0x101
or dword [eax + 0x11c], 4
mov eax, dword [edi + 0x1a9c]
mov edx, dword [edi + 0x1aa4]
lea esi, [eax + eax*4]
mov al, bl
mov ecx, dword [edx + esi*4 - 0x14]
movups xmm0, xmmword [edx + esi*4 - 0x10]
add ecx, 0x15c
add ecx, ecx
movups xmmword [edi + ecx*8], xmm0
dec dword [edi + 0x1a9c]
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