Function at 0x10026400
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x1017de24]
sub esp, 0xb4
cmp dword [0x1017de20], ecx
cmovne ecx, dword [0x1017de20]
cmp dword [0x1017de30], 0
push ebx
push esi
push edi
mov dword [0x1017de24], ecx
je 0x10026438
mov ecx, 0x1017de2c
call fcn.10027340
cmp dword [0x1017dbe8], 0
je 0x10027288
mov ecx, dword [0x100fc3e8]
mov eax, dword [0x100fc3ec]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
cmp ecx, 1
jl 0x10027288
cmp eax, 1
jl 0x10027288
cmp ecx, 0x1000
jg 0x10027288
cmp eax, 0x870
jg 0x10027288
mov ecx, dword [0x100fc340]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x10027288
mov ecx, dword [0x100fc360]
mov eax, dword [ecx]
mov eax, dword [eax + 0x190]
call eax
mov edi, eax
mov dword [ebp - 0x34], edi
test edi, edi
je 0x10027288
cmp byte [0x1017d928], 0
jne 0x10026508
mov ecx, dword [0x1017de18]
xor edx, edx
mov eax, dword [ecx]
mov dword [ebp - 0x24], 0xacaea3e4
mov dword [ebp - 0x20], 0xaaa7a8ab
mov dword [ebp - 0x1c], 0xbfa4bca7
mov esi, dword [eax + 0x2c]
mov word [ebp - 0x18], 0x100
mov al, dl
sub al, 0x40
xor byte [ebp + edx - 0x24], al
inc edx
cmp edx, 0xc
jb 0x100264e2
push 1
push 0x1017d928
lea eax, [ebp - 0x24]
mov byte [ebp - 0x17], 0
push eax
call esi
mov dword [0x1017d92c], eax
jmp 0x10026519
mov ecx, dword [0x1017d92c]
push dword [0x100f94b4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [0x100fc34c]
lea edx, [ebp - 0x9c]
xorps xmm0, xmm0
mov dword [ebp - 0x94], 0
movq qword [ebp - 0x9c], xmm0
push edx
mov eax, dword [ecx]
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x84], 1
mov dword [ebp - 0x80], 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0x78], 0xffffffff
mov byte [ebp - 0x90], 0
call dword [eax + 0x1c]
mov ecx, dword [0x100fc34c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
cmp byte [0x1017dec8], 0
fstp dword [ebp - 0x58]
jne 0x100265d8
push edi
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov byte [ebp - 0x54], 1
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x44], 8
mov dword [ebp - 0x48], 3
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], 3
call fcn.10025c60
mov ecx, dword [0x100fc34c]
push ecx
mov dword [esp], 0x3f800000
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [0x100fc34c]
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 0x14], 0x3f800000
mov dword [ebp - 0x10], 0x3f800000
mov eax, dword [ecx]
mov dword [ebp - 0xc], 0x3f800000
call dword [eax + 0x18]
cmp byte [0x100f94e4], 0
je 0x10026a3e
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
mov ecx, 0x1017dbe0
call fcn.100ce400
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], eax
cmp edi, eax
je 0x10026a3e
mov ecx, dword [edi]
call fcn.1000e7d0
test al, al
jne 0x10026a2f
mov ecx, dword [edi]
call fcn.1000e9f0
shr eax, 0xd
test al, 1
jne 0x10026a2f
mov ecx, dword [0x100fc310]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [edi]
mov esi, eax
add ecx, 8
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
call edx
cmp eax, esi
sete bl
je 0x100266e0
mov eax, dword [0x100f9504]
sub eax, 1
je 0x100266c8
sub eax, 1
jne 0x100266ed
mov ecx, dword [edi]
call fcn.10005ff0
mov ecx, dword [0x1017dbe8]
mov esi, eax
call fcn.10005ff0
cmp esi, eax
jne 0x100266ed
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
cmp byte [eax + 0x1017dbf4], 0
jne 0x100266ed
jmp 0x10026a2f
mov ecx, dword [edi]
call fcn.10005ff0
mov ecx, dword [0x1017dbe8]
mov esi, eax
call fcn.10005ff0
cmp esi, eax
jmp 0x100266e7
cmp byte [0x100f94fc], 0
je 0x10026a2f
mov edx, dword [edi]
mov ecx, dword [0x1017dbe8]
call fcn.10025e10
test al, al
je 0x10026a2f
cmp dword [0x100f9514], 0
jne 0x10026732
cmp byte [0x100f94f4], 0
je 0x10026721
test bl, bl
je 0x10026721
call fcn.10011d80
mov esi, eax
jmp 0x10026794
mov dl, byte [0x100f9024]
mov ecx, dword [edi]
call fcn.10020790
mov esi, eax
jmp 0x10026794
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1ac]
call eax
mov ecx, dword [edi]
mov esi, eax
call fcn.10010b10
cmp esi, eax
cmovl eax, esi
xor ecx, ecx
test eax, eax
cmovg ecx, eax
mov eax, esi
sub eax, ecx
imul eax, eax, 0x1fe
cdq
idiv esi
mov ebx, eax
imul eax, ecx, 0x1fe
cdq
idiv esi
mov edx, 0xc8
cmp eax, 0xc8
movzx ecx, al
movzx eax, bl
cmovg ecx, edx
movzx esi, cl
or esi, 0xffff0000
shl esi, 8
cmp ebx, edx
cmovg eax, edx
movzx eax, al
or esi, eax
movss xmm0, dword [0x100f94dc]
mov ecx, dword [0x1017de24]
mov eax, dword [edi]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], esi
movss dword [ebp - 0x5c], xmm0
cmp ecx, dword [0x1017de28]
je 0x100267cf
movq xmm0, qword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
add dword [0x1017de24], 0xc
jmp 0x100267de
lea eax, [ebp - 0x64]
push eax
push ecx
mov ecx, 0x1017de20
call fcn.100273e0
mov ebx, dword [edi]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 8], ebx
push eax
mov ecx, 0x1017dec0
call fcn.10027390
mov eax, dword [ebp - 0xa0]
mov ecx, dword [0x1017dec0]
cmp byte [eax + 0xd], 0
jne 0x1002680f
cmp ebx, dword [eax + 0x10]
jae 0x10026811
mov eax, ecx
cmp eax, ecx
jne 0x10026843
mov dword [ebp - 8], ebx
lea ecx, [ebx + 4]
mov byte [0x1017de35], 1
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 8]
mov ecx, 0x1017de2c
push eax
call fcn.10027290
mov byte [eax], 1
mov byte [0x1017de35], 0
cmp byte [0x100f950c], 0
je 0x1002696c
mov eax, dword [edi]
mov ecx, dword [0x100fc320]
mov edx, dword [eax + 0x1b0]
mov eax, dword [ecx]
and edx, 0xfff
push edx
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x10026969
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10026943
cmp dword [eax + 0x14], 0x14f
jne 0x10026943
movss xmm0, dword [0x100f94dc]
mov ecx, dword [0x1017de24]
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x6c], esi
movss dword [ebp - 0x68], xmm0
cmp ecx, dword [0x1017de28]
je 0x100268d1
movq xmm0, qword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
add dword [0x1017de24], 0xc
jmp 0x100268e0
lea eax, [ebp - 0x70]
push eax
push ecx
mov ecx, 0x1017de20
call fcn.100273e0
lea eax, [ebp - 8]
mov dword [ebp - 8], edi
push eax
lea eax, [ebp - 0xb4]
mov ecx, 0x1017dec0
push eax
call fcn.10027390
mov eax, dword [ebp - 0xac]
mov ecx, dword [0x1017dec0]
cmp byte [eax + 0xd], 0
jne 0x1002690f
cmp edi, dword [eax + 0x10]
jae 0x10026911
mov eax, ecx
cmp eax, ecx
jne 0x10026943
mov dword [ebp - 8], edi
lea ecx, [edi + 4]
mov byte [0x1017de35], 1
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 8]
mov ecx, 0x1017de2c
push eax
call fcn.10027290
mov byte [eax], 1
mov byte [0x1017de35], 0
mov ecx, dword [0x100fc320]
mov edx, dword [edi + 0x1b4]
and edx, 0xfff
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
inc ebx
mov edi, eax
cmp ebx, 0xa
jl 0x10026870
mov edi, dword [ebp - 0x30]
cmp byte [0x100f94ec], 0
je 0x10026a2f
mov ecx, dword [edi]
call fcn.1000eb10
mov ebx, eax
test ebx, ebx
je 0x10026a2f
movss xmm0, dword [0x100f94dc]
mov ecx, dword [0x1017de24]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], esi
movss dword [ebp - 0xc], xmm0
cmp ecx, dword [0x1017de28]
je 0x100269c3
movq xmm0, qword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
add dword [0x1017de24], 0xc
jmp 0x100269d2
lea eax, [ebp - 0x14]
push eax
push ecx
mov ecx, 0x1017de20
call fcn.100273e0
lea eax, [ebp - 8]
mov dword [ebp - 8], ebx
push eax
lea eax, [ebp - 0x24]
mov ecx, 0x1017dec0
push eax
call fcn.10027390
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x1017dec0]
cmp byte [eax + 0xd], 0
jne 0x100269fb
cmp ebx, dword [eax + 0x10]
jae 0x100269fd
mov eax, ecx
cmp eax, ecx
jne 0x10026a2f
mov dword [ebp - 8], ebx
lea ecx, [ebx + 4]
mov byte [0x1017de35], 1
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 8]
mov ecx, 0x1017de2c
push eax
call fcn.10027290
mov byte [eax], 1
mov byte [0x1017de35], 0
add edi, 4
mov dword [ebp - 0x30], edi
cmp edi, dword [ebp - 4]
jne 0x10026644
cmp byte [0x100f94c4], 0
je 0x10026be6
lea eax, [ebp - 4]
mov dword [ebp - 4], 3
push eax
mov ecx, 0x1017dbe0
call fcn.100ce400
mov ebx, dword [eax + 4]
mov edi, dword [eax]
mov dword [ebp - 8], ebx
cmp edi, ebx
je 0x10026be6
mov ecx, dword [edi]
call fcn.1000e7d0
test al, al
jne 0x10026bdb
cmp byte [0x100f94cc], al
je 0x10026aa3
mov ecx, dword [edi]
call fcn.10005ff0
mov ecx, dword [0x1017dbe8]
mov esi, eax
call fcn.10005ff0
cmp esi, eax
je 0x10026bdb
mov edx, dword [edi]
mov ecx, dword [0x1017dbe8]
call fcn.10025e10
test al, al
je 0x10026bdb
cmp dword [0x100f94d4], 0
mov ecx, dword [edi]
jne 0x10026ad0
mov dl, byte [0x100f9024]
call fcn.10020790
jmp 0x10026b32
mov eax, dword [ecx]
mov eax, dword [eax + 0x1ac]
call eax
mov ecx, dword [edi]
mov esi, eax
call fcn.10010b10
cmp esi, eax
cmovl eax, esi
xor ecx, ecx
test eax, eax
cmovg ecx, eax
mov eax, esi
sub eax, ecx
imul eax, eax, 0x1fe
cdq
idiv esi
mov ebx, eax
imul eax, ecx, 0x1fe
cdq
idiv esi
mov edx, 0xc8
cmp eax, 0xc8
movzx ecx, al
cmovg ecx, edx
movzx eax, cl
or eax, 0xffff0000
movzx ecx, bl
shl eax, 8
cmp ebx, edx
mov ebx, dword [ebp - 8]
cmovg ecx, edx
movzx ecx, cl
or eax, ecx
mov ecx, dword [edi]
movss xmm0, dword [0x100f94bc]
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x1017de24]
mov dword [ebp - 0x10], eax
movss dword [ebp - 0xc], xmm0
cmp ecx, dword [0x1017de28]
je 0x10026b6d
movq xmm0, qword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
add dword [0x1017de24], 0xc
jmp 0x10026b7c
lea eax, [ebp - 0x14]
push eax
push ecx
mov ecx, 0x1017de20
call fcn.100273e0
mov esi, dword [edi]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 4], esi
push eax
mov ecx, 0x1017dec0
call fcn.10027390
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x1017dec0]
cmp byte [eax + 0xd], 0
jne 0x10026ba7
cmp esi, dword [eax + 0x10]
jae 0x10026ba9
mov eax, ecx
cmp eax, ecx
jne 0x10026bdb
mov dword [ebp - 4], esi
lea ecx, [esi + 4]
mov byte [0x1017de35], 1
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 4]
mov ecx, 0x1017de2c
push eax
call fcn.10027290
mov byte [eax], 1
mov byte [0x1017de35], 0
add edi, 4
cmp edi, ebx
jne 0x10026a70
cmp byte [0x100f949c], 0
je 0x10026f85
cmp byte [0x100f94a4], 0
je 0x10026cf0
lea eax, [ebp - 4]
mov dword [ebp - 4], 6
push eax
mov ecx, 0x1017dbe0
call fcn.100ce400
mov ebx, dword [eax + 4]
mov esi, dword [eax]
cmp esi, ebx
je 0x10026cf0
mov edx, dword [esi]
mov ecx, dword [0x1017dbe8]
call fcn.10025e10
test al, al
je 0x10026ce5
mov eax, dword [esi]
movss xmm0, dword [0x100f948c]
mov ecx, dword [0x1017de24]
mov dword [ebp - 0x14], eax
mov eax, dword [0x100f9478]
mov dword [ebp - 0x10], eax
movss dword [ebp - 0xc], xmm0
cmp ecx, dword [0x1017de28]
je 0x10026c77
movq xmm0, qword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
add dword [0x1017de24], 0xc
jmp 0x10026c86
lea eax, [ebp - 0x14]
push eax
push ecx
mov ecx, 0x1017de20
call fcn.100273e0
mov edi, dword [esi]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 4], edi
push eax
mov ecx, 0x1017dec0
call fcn.10027390
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x1017dec0]
cmp byte [eax + 0xd], 0
jne 0x10026cb1
cmp edi, dword [eax + 0x10]
jae 0x10026cb3
mov eax, ecx
cmp eax, ecx
jne 0x10026ce5
mov dword [ebp - 4], edi
lea ecx, [edi + 4]
mov byte [0x1017de35], 1
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 4]
mov ecx, 0x1017de2c
push eax
call fcn.10027290
mov byte [eax], 1
mov byte [0x1017de35], 0
add esi, 4
cmp esi, ebx
jne 0x10026c22
cmp byte [0x100f94ac], 0
je 0x10026dee
lea eax, [ebp - 4]
mov dword [ebp - 4], 7
push eax
mov ecx, 0x1017dbe0
call fcn.100ce400
mov ebx, dword [eax + 4]
mov esi, dword [eax]
cmp esi, ebx
je 0x10026dee
nop
mov edx, dword [esi]
mov ecx, dword [0x1017dbe8]
call fcn.10025e10
test al, al
je 0x10026de3
mov eax, dword [esi]
movss xmm0, dword [0x100f948c]
mov ecx, dword [0x1017de24]
mov dword [ebp - 0x14], eax
mov eax, dword [0x100f9484]
mov dword [ebp - 0x10], eax
movss dword [ebp - 0xc], xmm0
cmp ecx, dword [0x1017de28]
je 0x10026d75
movq xmm0, qword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
add dword [0x1017de24], 0xc
jmp 0x10026d84
lea eax, [ebp - 0x14]
push eax
push ecx
mov ecx, 0x1017de20
call fcn.100273e0
mov edi, dword [esi]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 4], edi
push eax
mov ecx, 0x1017dec0
call fcn.10027390
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x1017dec0]
cmp byte [eax + 0xd], 0
jne 0x10026daf
cmp edi, dword [eax + 0x10]
jae 0x10026db1
mov eax, ecx
cmp eax, ecx
jne 0x10026de3
mov dword [ebp - 4], edi
lea ecx, [edi + 4]
mov byte [0x1017de35], 1
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 4]
mov ecx, 0x1017de2c
push eax
call fcn.10027290
mov byte [eax], 1
mov byte [0x1017de35], 0
add esi, 4
cmp esi, ebx
jne 0x10026d20
cmp dword [0x100f9494], 0
je 0x10026f85
lea eax, [ebp - 4]
mov dword [ebp - 4], 8
push eax
mov ecx, 0x1017dbe0
call fcn.100ce400
mov edi, dword [eax]
mov ebx, dword [eax + 4]
cmp edi, ebx
je 0x10026f85
nop dword [eax]
mov ecx, dword [edi]
test byte [ecx + 0x7c], 0x20
jne 0x10026f7a
call fcn.10005ff0
cmp dword [0x100f9494], 2
mov esi, eax
jne 0x10026e4f
mov ecx, dword [0x1017dbe8]
call fcn.10005ff0
cmp esi, eax
je 0x10026f7a
mov edx, dword [edi]
mov ecx, dword [0x1017dbe8]
call fcn.10025e10
test al, al
je 0x10026f7a
cmp byte [0x100f9024], 0
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
je 0x10026eb9
mov ecx, dword [0x1017dbe8]
test ecx, ecx
je 0x10026ec3
call fcn.10005ff0
cmp eax, 2
jne 0x10026e9d
cmp esi, eax
jne 0x10026e91
mov eax, dword [0x100f9034]
jmp 0x10026ed6
cmp esi, 3
jne 0x10026ec3
mov eax, dword [0x100f903c]
jmp 0x10026ed6
cmp eax, 3
jne 0x10026ec3
cmp esi, eax
jne 0x10026ead
mov eax, dword [0x100f9034]
jmp 0x10026ed6
cmp esi, 2
jne 0x10026ec3
mov eax, dword [0x100f903c]
jmp 0x10026ed6
sub esi, 2
je 0x10026ed1
sub esi, 1
je 0x10026eca
mov eax, dword [0x100f9030]
jmp 0x10026ed6
mov eax, dword [0x100f9038]
jmp 0x10026ed6
mov eax, dword [0x100f902c]
movss xmm0, dword [0x100f948c]
mov ecx, dword [0x1017de24]
mov dword [ebp - 0x10], eax
movss dword [ebp - 0xc], xmm0
cmp ecx, dword [0x1017de28]
je 0x10026f0c
movq xmm0, qword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
add dword [0x1017de24], 0xc
jmp 0x10026f1b
lea eax, [ebp - 0x14]
push eax
push ecx
mov ecx, 0x1017de20
call fcn.100273e0
mov esi, dword [edi]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 4], esi
push eax
mov ecx, 0x1017dec0
call fcn.10027390
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x1017dec0]
cmp byte [eax + 0xd], 0
jne 0x10026f46
cmp esi, dword [eax + 0x10]
jae 0x10026f48
mov eax, ecx
cmp eax, ecx
jne 0x10026f7a
mov dword [ebp - 4], esi
lea ecx, [esi + 4]
mov byte [0x1017de35], 1
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 4]
mov ecx, 0x1017de2c
push eax
call fcn.10027290
mov byte [eax], 1
mov byte [0x1017de35], 0
add edi, 4
cmp edi, ebx
jne 0x10026e20
mov ebx, dword [ebp - 0x34]
lea ecx, [ebp - 0x90]
push ebx
call fcn.10025c60
mov eax, dword [0x1017de20]
cmp eax, dword [0x1017de24]
je 0x10027288
mov ecx, dword [0x100fc35c]
push 0
push dword [0x1017de04]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1b0]
mov eax, dword [ebx]
mov ecx, ebx
push dword [0x1017de0c]
call dword [eax + 0x18]
push dword [ebp - 0x28]
mov eax, dword [ebx]
mov ecx, ebx
push dword [ebp - 0x2c]
push 0
push 0
call dword [eax + 0x98]
mov eax, dword [ebx]
mov ecx, ebx
push 0
push 0
push 0
push 0
call dword [eax + 0x124]
mov eax, dword [ebx]
mov ecx, ebx
push 0
push 0
push 1
call dword [eax + 0x30]
mov edi, dword [0x1017de24]
mov esi, dword [0x1017de20]
cmp esi, edi
je 0x100270b7
nop dword [eax + eax]
mov ecx, dword [0x100fc34c]
movss xmm0, dword [esi + 8]
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 0x10]
movzx eax, byte [esi + 4]
lea edx, [ebp - 0x14]
movss xmm1, dword [0x100f0568]
mov ecx, dword [0x100fc34c]
push edx
movd xmm0, eax
movzx eax, byte [esi + 5]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x14], xmm0
movd xmm0, eax
movzx eax, byte [esi + 6]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x10], xmm0
movd xmm0, eax
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xc], xmm0
call dword [eax + 0x18]
mov ecx, dword [esi]
add ecx, 4
mov word [0x1017de34], 0x101
push 0x81
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
add esi, 0xc
mov word [0x1017de34], 0
cmp esi, edi
jne 0x10027020
push ebx
lea ecx, [ebp - 0x90]
call fcn.10025c60
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1b4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1b0]
push dword [ebp - 0x28]
mov eax, dword [ebx]
mov ecx, ebx
push dword [ebp - 0x2c]
push 0
push 0
call dword [eax + 0x98]
mov eax, dword [ebx]
mov ecx, ebx
push dword [0x1017de10]
call dword [eax + 0x18]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
push 1
mov eax, dword [ebx]
push 1
push 0
push ecx
lea esi, [ecx - 1]
push edx
sub esp, 0x10
movd xmm0, esi
lea edi, [edx - 1]
movd xmm1, edi
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
mov dword [esp + 4], 0
mov dword [esp], 0
push ecx
push edx
push 0
push 0
push dword [0x1017de14]
mov ecx, ebx
call dword [eax + 0x19c]
mov eax, dword [ebx]
mov ecx, ebx
push dword [0x1017de0c]
call dword [eax + 0x18]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
push 1
push 1
push 0
push ecx
mov eax, dword [ebx]
push edx
sub esp, 0x10
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push ecx
push edx
push 0
push 0
push dword [0x1017de18]
mov ecx, ebx
call dword [eax + 0x19c]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1b4]
mov byte [ebp - 0x54], 1
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0xff
mov dword [ebp - 0x40], 0
push ebx
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x44], 3
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], 1
call fcn.10025c60
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
push 1
push 1
push 0
push ecx
mov eax, dword [ebx]
push edx
sub esp, 0x10
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push ecx
push edx
push 0
push 0
push dword [0x1017de1c]
mov ecx, ebx
call dword [eax + 0x19c]
push ebx
lea ecx, [ebp - 0x90]
call fcn.10025c60
mov ecx, dword [0x100fc35c]
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [0x100fc34c]
lea edx, [ebp - 0x9c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [0x100fc34c]
movss xmm0, dword [ebp - 0x58]
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret