Function at 0x101574d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10231967
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x102d5080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
cmp dword [eax + 0x134], 0
je 0x1015802c
mov ecx, dword [eax + 0x138]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x1015802c
cmp dword [eax + 0x13c], 0
je 0x1015802c
mov eax, dword [0x103af208]
test al, 1
jne 0x10157682
or eax, 1
mov dword [0x103af208], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x101575a4
nop
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10157599
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157573
xor edx, edx
test ecx, ecx
je 0x10157599
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157580
cmp edi, 0xf2f193b3
je 0x101575ba
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10157560
mov ecx, dword [ebp - 0x28]
xor eax, eax
mov dword [0x103af1e4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10157687
mov eax, dword [ebp - 0x14]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
cmp dword [eax + 4], esi
jle 0x10157658
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10157604
cmp dword [ecx + 4], 0
jle 0x10157604
push 0
mov edx, 0xb643ff6c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10157601
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x14]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157610
xor edx, edx
test ecx, ecx
je 0x1015763c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157620
cmp edi, 0xb643ff6c
je 0x1015766b
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x101575d3
mov ecx, dword [ebp - 0x28]
mov eax, esi
mov dword [0x103af1e4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10157687
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
mov dword [0x103af1e4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10157687
mov eax, dword [0x103af1e4]
cmp byte [0x103589a0], 0
movss xmm4, dword [eax + ecx]
movss dword [ebp - 0x2c], xmm4
je 0x1015800d
mov eax, dword [0x10bbf268]
add eax, 0x9ab0a510
xor eax, 0x83ea5eeb
cmp byte [eax + 0x1c], 0
je 0x101576bd
cmp byte [eax + 0x1d], 0
je 0x1015800d
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x28], eax
mov eax, dword [0x10373c90]
test al, 1
jne 0x1015781c
or eax, 1
mov dword [0x10373c90], eax
mov dword [ebp - 4], 1
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10157744
nop
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10157739
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157713
xor edx, edx
test ecx, ecx
je 0x10157739
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157720
cmp edi, 0xcd2ed041
je 0x10157757
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10157700
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10375574], eax
jmp 0x10157821
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x101577f8
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x101577a1
cmp dword [ecx + 4], 0
jle 0x101577a1
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015779e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101577b0
xor edx, edx
test ecx, ecx
je 0x101577dc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101577c0
cmp edi, 0xa2ccb41a
je 0x10157808
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x10157770
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10375574], eax
jmp 0x10157821
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
mov dword [0x10375574], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10157821
mov eax, dword [0x10375574]
mov ecx, dword [ebp - 0x28]
cmp word [ecx + eax], 0x40
jne 0x1015800d
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x28], eax
mov eax, dword [0x1037899c]
test al, 1
jne 0x1015798c
or eax, 1
mov dword [0x1037899c], eax
mov dword [ebp - 4], 2
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x101578b5
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x101578aa
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157884
xor edx, edx
test ecx, ecx
je 0x101578aa
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157891
cmp edi, 0xf2f193b3
je 0x101578c8
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10157871
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103789d4], eax
jmp 0x10157991
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x10157968
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10157912
cmp dword [ecx + 4], 0
jle 0x10157912
push 0
mov edx, 0xd0250969
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1015790f
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157920
xor edx, edx
test ecx, ecx
je 0x1015794c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157930
cmp edi, 0xd0250969
je 0x10157978
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x101578e1
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103789d4], eax
jmp 0x10157991
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
mov dword [0x103789d4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10157991
mov eax, dword [0x103789d4]
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax], 0
jle 0x1015800d
mov eax, dword [0x10bbf268]
add eax, 0x9ab0a510
xor eax, 0x83ea5eeb
cmp byte [eax + 0x1c], 0
jne 0x101579ca
cmp byte [eax + 0x1d], 0
je 0x101579ca
cmp dword [eax + 0x20], 0
jg 0x101579ca
cmp dword [eax + 4], 1
jne 0x101579ca
mov edx, dword [eax + 0x30]
jmp 0x101579cc
xor edx, edx
mov ecx, dword [0x10bbf240]
movss xmm2, dword [0x102bd7ac]
add ecx, 0xaff3cc8c
xor ecx, 0x3743f7af
mov eax, dword [ecx + 0xf0]
mov esi, dword [ecx + 0x134]
movss xmm0, dword [eax + 0x20]
mov eax, dword [ecx + 0x14]
divss xmm2, xmm0
sub eax, edx
movd xmm3, eax
mov eax, dword [0x103af1ec]
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x102bd6f8]
mulss xmm2, xmm3
addss xmm0, dword [0x102bd73c]
movss dword [ebp - 0x24], xmm3
addss xmm2, dword [0x102bd73c]
cvttss2si edi, xmm0
cvttss2si ebx, xmm2
dec edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], ebx
test al, 1
jne 0x10157a8a
or eax, 1
mov dword [0x103af1ec], eax
xor eax, eax
mov dword [ebp - 4], 3
test esi, esi
mov ecx, esi
cmovne eax, esi
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call eax
mov edx, 0x3dfdcdea
mov ecx, eax
call fcn.1013be50
movss xmm3, dword [ebp - 0x24]
movss xmm4, dword [ebp - 0x2c]
mov dword [0x103af1d4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10157a8f
mov eax, dword [0x103af1d4]
movss xmm0, dword [esi + eax]
comiss xmm0, xmm3
ja 0x1015802c
mov eax, dword [0x10bbf240]
mov edx, dword [0x10375578]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x2c], eax
test dl, 1
jne 0x10157bf6
or edx, 1
mov dword [0x10375578], edx
mov dword [ebp - 4], 4
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10157b26
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10157b1b
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157af5
xor edx, edx
test ecx, ecx
je 0x10157b1b
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157b02
cmp edi, 0x72e242a1
je 0x10157b4c
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10157ae2
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
add ecx, 0xfffffffc
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10375578]
mov dword [0x10373c88], ecx
jmp 0x10157bfc
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x10157be4
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10157b96
cmp dword [ecx + 4], 0
jle 0x10157b96
push 0
mov edx, 0x5864ce62
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10157b93
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157ba0
xor edx, edx
test ecx, ecx
je 0x10157bcc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157bb0
cmp edi, 0x5864ce62
je 0x10157beb
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x10157b65
mov ecx, esi
jmp 0x10157b28
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x14]
jmp 0x10157b28
mov ecx, dword [0x10373c88]
mov esi, dword [ebp - 0x10]
movss xmm0, dword [eax + ecx]
ucomiss xmm0, dword [esi + 0xc]
lahf
test ah, 0x44
jnp 0x10157cc6
mov eax, ebx
mov dword [esi + 0x10], ebx
sub eax, edi
dec eax
mov dword [esi + 0x14], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x2c], eax
test dl, 1
jne 0x10157cc0
or edx, 1
mov dword [0x10375578], edx
mov dword [ebp - 4], 5
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10157ca8
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10157c9d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157c73
xor edx, edx
test ecx, ecx
je 0x10157c9d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157c80
cmp edi, 0x72e242a1
je 0x10157d67
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10157c60
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
add ecx, 0xfffffffc
mov esi, dword [ebp - 0x10]
mov dword [0x10373c88], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [eax + ecx]
mov dword [esi + 0xc], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x103af1e0]
test al, 1
jne 0x10157ed4
or eax, 1
mov dword [0x103af1e0], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x10371278]
cmp ebx, dword [0x1037127c]
je 0x10157d58
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10157d4d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157d20
xor edx, edx
test ecx, ecx
je 0x10157d4d
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157d30
cmp edi, 0xf2f193b3
je 0x10157e1a
add ebx, 4
cmp ebx, dword [0x1037127c]
jne 0x10157d08
mov esi, dword [ebp - 0x10]
xor eax, eax
mov dword [0x103af1f0], eax
jmp 0x10157ed9
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], esi
cmp dword [eax + 4], esi
jle 0x10157e08
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10157db1
cmp dword [ecx + 4], 0
jle 0x10157db1
push 0
mov edx, 0x5864ce62
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10157dae
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157dc0
xor edx, edx
test ecx, ecx
je 0x10157dec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157dd0
cmp edi, 0x5864ce62
je 0x10157e0f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10157d80
mov ecx, esi
jmp 0x10157caa
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x14]
jmp 0x10157caa
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], esi
cmp dword [eax + 4], esi
jle 0x10157eb8
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10157e64
cmp dword [ecx + 4], 0
jle 0x10157e64
push 0
mov edx, 0x8aaa98fc
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10157e61
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10157e70
xor edx, edx
test ecx, ecx
je 0x10157e9c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10157e80
cmp edi, 0x8aaa98fc
je 0x10157ec4
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10157e33
mov eax, esi
mov esi, dword [ebp - 0x10]
mov dword [0x103af1f0], eax
jmp 0x10157ed9
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov dword [0x103af1f0], eax
jmp 0x10157ed9
mov eax, dword [0x103af1f0]
mov ecx, dword [ebp - 0x2c]
movss xmm0, dword [ecx + eax]
comiss xmm0, xmm3
jbe 0x10157f18
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x140]
and dword [eax + 0x30], 0xfffffffe
mov byte [esi + 0x63d6b], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x28]
cmp dword [esi + 8], ebx
je 0x1015802c
lea edx, [esi + 0x14]
mov dword [esi + 8], ebx
mov eax, ebx
mov byte [esi + 0x63d6b], 0
sub eax, dword [edx]
xor cl, cl
cmp eax, 2
jle 0x10157f4a
cmp eax, 0xe
jge 0x10157f4a
mov byte [esi + 0x63d6b], 1
mov cl, 1
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov esi, dword [eax + 0x140]
mov eax, dword [esi + 0x30]
test al, 1
je 0x10157f6e
test cl, cl
jne 0x1015802c
or eax, 1
comiss xmm4, xmm3
mov dword [esi + 0x30], eax
jb 0x10157f95
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x140]
or dword [eax + 0x30], 0x800
mov esi, dword [ebp - 0x10]
mov ecx, ebx
mov edi, dword [ebp - 0x1c]
mov esi, dword [esi + 0x10]
sub ecx, esi
lea eax, [edi*2 + 1]
cmp ecx, eax
jle 0x10157fc1
mov ecx, dword [ebp - 0x10]
mov eax, ebx
sub eax, edi
mov esi, ebx
dec eax
mov dword [edx], eax
mov dword [ecx + 0x10], ebx
lea edi, [ecx + 0x14]
jmp 0x10157fc3
mov edi, edx
mov ecx, ebx
sub ecx, esi
mov esi, dword [ebp - 0x1c]
cmp ecx, esi
jge 0x10157fd6
mov eax, ebx
sub eax, dword [edx]
cmp eax, esi
jg 0x1015802c
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x10], ebx
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x140]
and dword [eax + 0x30], 0xfffffffe
cmp ecx, esi
jl 0x1015802c
mov dword [edi], ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
mov dword [eax + 8], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov byte [eax + 0x63d6b], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret