Function at 0x10036800
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x60
mov esi, esp
mov dword [esi + 0x48], ebp
mov dword [esi + 0x4c], esp
mov dword [esi + 0x58], 0xffffffff
lea eax, [esi + 0x50]
mov dword [esi + 0x54], 0x1003c610
mov ecx, dword fs:[0]
mov dword [esi + 0x50], ecx
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
cmp dword [edx + 0x6354], 2
jl 0x10037238
mov eax, dword [0x102a2578]
test al, 1
je 0x100373a0
mov ecx, dword [ebp + 8]
bswap ecx
mov eax, dword [ebp + 0xc]
add eax, ecx
mov ecx, dword [ebp + 0x10]
ror eax, cl
mov ecx, dword [ebp + 8]
bswap ecx
mov edx, dword [ebp + 0xc]
add edx, ecx
mov ecx, dword [ebp + 0x10]
ror edx, cl
mov ebx, dword [ebp + 0x20]
test byte [eax + 0x6374], 1
jne 0x10036cbe
mov edi, dword [edx + 0x60fc]
mov eax, dword [0x102a2578]
test al, 2
je 0x100373fc
test al, 4
je 0x10037431
mov eax, dword [ebp + 0x14]
bswap eax
mov edx, dword [ebp + 0x18]
add edx, eax
mov ecx, dword [ebp + 0x1c]
ror edx, cl
test byte [edx + 0x50], 1
jne 0x100369c1
cmp edi, dword [0x102a257c]
jl 0x100369c1
mov ebx, dword [ebx + 0x20]
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + ebx]
test ecx, ecx
jne 0x100368ff
mov ecx, ebx
call dword [eax + 0xc4]
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + ebx]
test ecx, ecx
je 0x1003724b
mov edx, edi
call dword [eax + 0x2dc]
mov ebx, dword [ebp + 0x20]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss xmm1, dword [0x102a2580]
ucomiss xmm1, xmm0
jne 0x100369c1
jp 0x100369c1
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm0, dword [edx + 0x6110]
mov ecx, dword [ebp + 8]
bswap ecx
mov eax, dword [ebp + 0xc]
add eax, ecx
mov ecx, dword [ebp + 0x10]
ror eax, cl
movss xmm1, dword [0x102a2574]
ucomiss xmm0, xmm1
jne 0x1003695d
jnp 0x100369c1
movss xmm2, dword [eax + 0x610c]
ucomiss xmm2, xmm1
jne 0x1003696c
jnp 0x100369c1
divss xmm0, xmm2
ucomiss xmm0, xmm1
jne 0x10036977
jnp 0x100369c1
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
mov word [edx + 0x63a8], 0x100
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm1, dword [edx + 0x634c]
subss xmm1, xmm0
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss dword [edx + 0x63ac], xmm1
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm0, dword [edx + 0x6104]
ucomiss xmm0, dword [0x102a2574]
jbe 0x10036d56
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm0, dword [edx + 0x610c]
ucomiss xmm0, dword [0x102a2574]
jbe 0x10036d56
mov ebx, dword [ebx + 0x20]
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + ebx]
test ecx, ecx
jne 0x10036a3c
mov ecx, ebx
call dword [eax + 0xc4]
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + ebx]
test ecx, ecx
je 0x1003738c
mov edx, edi
call dword [eax + 0x2dc]
mov ebx, dword [ebp + 0x20]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss xmm1, dword [0x102a2580]
ucomiss xmm1, xmm0
jne 0x10036d56
jp 0x10036d56
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm1, dword [edx + 0x6110]
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
divss xmm1, dword [edx + 0x610c]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
divss xmm1, dword [edx + 0x20]
movss xmm0, dword [0x10147680]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
addss xmm1, xmm0
mulss xmm1, dword [edx + 0x20]
movss dword [esi + 0x1c], xmm1
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm1, dword [edx + 0x634c]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
divss xmm1, dword [edx + 0x20]
mov dword [esi], 0xd05ae800
mov eax, dword [esi]
bswap eax
mov dword [esi], eax
add dword [esi], 0x188a530
mov eax, dword [esi]
rol eax, 0x13
mov dword [esi], eax
mov eax, dword [esi]
cvtsi2ss xmm2, eax
mov dword [esi], 0xfc439ee5
mov eax, dword [esi]
bswap eax
mov dword [esi], eax
add dword [esi], 0x1a61c5c8
mov eax, dword [esi]
rol eax, 2
mov dword [esi], eax
mov eax, dword [esi]
cvtsi2ss xmm3, eax
divss xmm2, xmm3
addss xmm2, xmm1
cvttps2dq xmm1, xmm2
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [edx + 0x20]
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm2, dword [edx + 0x6110]
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
divss xmm2, dword [edx + 0x610c]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
divss xmm2, dword [edx + 0x20]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
mov ecx, dword [ebx + 0x20]
mov eax, dword [0x102a22ac]
mov edi, dword [eax + 0x28]
test byte [edi + ecx], 1
je 0x10036c49
addss xmm2, xmm0
mulss xmm2, dword [edx + 0x20]
subss xmm1, xmm2
mov edx, dword [eax + 0x208]
mov ecx, dword [edx + ecx]
ucomiss xmm1, dword [ecx + 0x6c]
jbe 0x10036c49
mov byte [ecx + 0x108], 0
movss xmm0, dword [0x102a2574]
mov ecx, dword [ebx + 0x20]
mov edx, dword [eax + 0xcc]
movss dword [edx + ecx + 0x18], xmm0
mov ecx, dword [ebx + 0x20]
mov edx, dword [eax + 0x208]
mov ecx, dword [edx + ecx]
movss dword [ecx + 0x110], xmm0
mov ecx, dword [ebx + 0x20]
mov eax, dword [eax + 0x208]
mov eax, dword [eax + ecx]
movss dword [eax + 0x6c], xmm1
mov eax, dword [0x102a2578]
test al, 8
je 0x1003748e
test al, 0x10
je 0x10037511
mov ecx, dword [0x102a2588]
mov dword [esi + 0x58], 0xffffffff
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esi + 0x58], 0xffffffff
call eax
fstp dword [esi + 0x44]
movss xmm0, dword [esi + 0x44]
movss dword [esi + 0x3c], xmm0
mov ecx, dword [0x102a2584]
mov eax, dword [ecx]
call dword [eax + 0x30]
fstp dword [esi + 0x40]
movss xmm0, dword [esi + 0x1c]
mulss xmm0, dword [esi + 0x40]
movss xmm1, dword [esi + 0x3c]
subss xmm1, xmm0
movaps xmm0, xmm1
mov ecx, dword [ebp + 8]
bswap ecx
mov eax, dword [ebp + 0xc]
add eax, ecx
mov ecx, dword [ebp + 0x10]
ror eax, cl
jmp 0x10036d4e
movss xmm0, dword [edx + 0x613c]
ucomiss xmm0, dword [0x102a2574]
jbe 0x10036d3c
mov eax, dword [ebp + 0x14]
bswap eax
mov edx, dword [ebp + 0x18]
add edx, eax
mov ecx, dword [ebp + 0x1c]
ror edx, cl
movss xmm0, dword [0x102a2574]
ucomiss xmm0, dword [edx + 0x194]
jb 0x10036d3c
mov eax, dword [ebp + 0x14]
bswap eax
mov edx, dword [ebp + 0x18]
add edx, eax
mov ecx, dword [ebp + 0x1c]
ror edx, cl
test byte [edx + 0x50], 1
jne 0x10036d3c
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
mov edi, dword [edx + 0x6134]
mov dword [esi], 0xb12edd5a
mov eax, dword [esi]
bswap eax
mov dword [esi], eax
add dword [esi], 0xa522d34f
mov eax, dword [esi]
rol eax, 0x18
mov dword [esi], eax
mov eax, dword [esi]
cmp edi, eax
jge 0x10037255
mov ecx, dword [ebp + 8]
bswap ecx
mov eax, dword [ebp + 0xc]
add eax, ecx
mov ecx, dword [ebp + 0x10]
ror eax, cl
xorps xmm0, xmm0
movss dword [eax + 0x6420], xmm0
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
cmp byte [edx + 0x63a9], 0
je 0x100370aa
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm0, dword [edx + 0x634c]
mov eax, dword [0x102a22bc]
bswap eax
mov edx, dword [0x102a22c0]
add edx, eax
mov ecx, dword [0x102a22c4]
ror edx, cl
divss xmm0, dword [edx + 0x20]
mov dword [esi], 0xd05ae800
mov eax, dword [esi]
bswap eax
mov dword [esi], eax
add dword [esi], 0x188a530
mov eax, dword [esi]
rol eax, 0x13
mov dword [esi], eax
mov eax, dword [esi]
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov dword [esi], 0xfc439ee5
mov eax, dword [esi]
bswap eax
mov dword [esi], eax
add dword [esi], 0x1a61c5c8
mov eax, dword [esi]
rol eax, 2
mov dword [esi], eax
mov eax, dword [esi]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
divss xmm1, xmm2
addss xmm1, xmm0
cvttss2si eax, xmm1
mov ecx, dword [ebp + 8]
bswap ecx
mov edx, dword [ebp + 0xc]
add edx, ecx
mov ecx, dword [ebp + 0x10]
ror edx, cl
sub eax, dword [edx + 0x6354]
mov ecx, dword [ebp + 8]
bswap ecx
mov edx, dword [ebp + 0xc]
add edx, ecx
mov ecx, dword [ebp + 0x10]
ror edx, cl
cmp byte [edx + 0x63a9], 0
je 0x100373f7
mov ecx, dword [ebp + 8]
bswap ecx
mov edi, dword [ebp + 0xc]
add edi, ecx
mov ecx, dword [ebp + 0x10]
ror edi, cl
movss xmm0, dword [edi + 0x63ac]
mov ecx, dword [0x102a22bc]
bswap ecx
mov edi, dword [0x102a22c0]
add edi, ecx
mov ecx, dword [0x102a22c4]
ror edi, cl
cmp byte [edx + 0x63a8], 0
divss xmm0, dword [edi + 0x20]
je 0x10036f79
mov dword [esi], 0xd05ae800
mov ecx, dword [esi]
bswap ecx
mov dword [esi], ecx
add dword [esi], 0x188a530
mov ecx, dword [esi]
rol ecx, 0x13
mov dword [esi], ecx
mov ecx, dword [esi]
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
mov dword [esi], 0xfc439ee5
mov ecx, dword [esi]
bswap ecx
mov dword [esi], ecx
add dword [esi], 0x1a61c5c8
mov ecx, dword [esi]
rol ecx, 2
mov dword [esi], ecx
mov ecx, dword [esi]
xorps xmm2, xmm2
cvtsi2ss xmm2, ecx
divss xmm1, xmm2
addss xmm0, xmm1
cvttss2si edx, xmm0
mov dword [esi], 0x2b1816b9
mov ecx, dword [esi]
bswap ecx
mov dword [esi], ecx
add dword [esi], 0x56e9e7d5
mov ecx, dword [esi]
rol ecx, 4
mov dword [esi], ecx
mov ecx, dword [esi]
add ecx, edx
cmp ecx, eax
je 0x1003709a
mov dword [esi], 0x1db7b65b
mov edx, dword [esi]
bswap edx
mov dword [esi], edx
add dword [esi], 0xa44968e3
mov edx, dword [esi]
rol edx, 0x13
mov dword [esi], edx
mov edx, dword [esi]
add edx, eax
cmp ecx, edx
jne 0x100370aa
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm0, dword [edx + 0x6144]
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x2970]
movss dword [eax + 0x140], xmm0
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
mov eax, dword [edx + 0x6134]
mov ecx, dword [ebx + 0x20]
mov ecx, dword [ecx + 0x2970]
mov dword [ecx + 0x130], eax
movss xmm0, dword [0x102a2574]
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x2970]
movss dword [eax + 0x144], xmm0
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x2970]
movss dword [eax + 0x138], xmm0
jmp 0x10036fea
mov dword [esi], 0xd05ae800
mov ecx, dword [esi]
bswap ecx
mov dword [esi], ecx
add dword [esi], 0x188a530
mov ecx, dword [esi]
rol ecx, 0x13
mov dword [esi], ecx
mov ecx, dword [esi]
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
mov dword [esi], 0xfc439ee5
mov ecx, dword [esi]
bswap ecx
mov dword [esi], ecx
add dword [esi], 0x1a61c5c8
mov ecx, dword [esi]
rol ecx, 2
mov dword [esi], ecx
mov ecx, dword [esi]
xorps xmm2, xmm2
cvtsi2ss xmm2, ecx
divss xmm1, xmm2
addss xmm0, xmm1
cvttss2si edx, xmm0
mov dword [esi], 0xe99bcdad
mov ecx, dword [esi]
bswap ecx
mov dword [esi], ecx
add dword [esi], 0x52326497
mov ecx, dword [esi]
rol ecx, 0x19
mov dword [esi], ecx
mov ecx, dword [esi]
add ecx, edx
cmp ecx, eax
jne 0x10036fff
mov eax, dword [ebx + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x28]
or dword [ecx + eax], 1
jmp 0x100370aa
mov dword [esi], 0x6a69f54b
mov edx, dword [esi]
bswap edx
mov dword [esi], edx
add dword [esi], 0xb40a9796
mov edx, dword [esi]
rol edx, 0x18
mov dword [esi], edx
mov edx, dword [esi]
add edx, eax
cmp ecx, edx
jne 0x100370aa
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm0, dword [edx + 0x610c]
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x2970]
movss dword [eax + 0x108], xmm0
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
mov eax, dword [edx + 0x60fc]
mov ecx, dword [ebx + 0x20]
mov ecx, dword [ecx + 0x2970]
mov dword [ecx + 0xf8], eax
movss xmm0, dword [0x102a2574]
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x2970]
movss dword [eax + 0x10c], xmm0
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x2970]
movss dword [eax + 0x100], xmm0
mov eax, dword [ebx + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x28]
and dword [ecx + eax], 0xfffffffe
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
test byte [edx + 0x6374], 1
jne 0x10037238
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm0, dword [edx + 0x6104]
ucomiss xmm0, dword [0x102a2574]
jne 0x100370ec
jnp 0x10037238
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm0, dword [edx + 0x610c]
ucomiss xmm0, dword [0x102a2574]
jne 0x10037112
jnp 0x10037238
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
mov edx, dword [edx + 0x60fc]
mov edi, ebx
mov ebx, dword [ebx + 0x20]
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + ebx]
test ecx, ecx
mov dword [esi + 0x1c], edx
jne 0x10037162
mov ecx, ebx
call dword [eax + 0xc4]
mov edx, dword [esi + 0x1c]
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + ebx]
test ecx, ecx
je 0x10037382
call dword [eax + 0x2dc]
mov ebx, edi
mov dword [esi], 0x23582549
mov ecx, dword [esi]
bswap ecx
mov dword [esi], ecx
add dword [esi], 0xb6dc945d
mov ecx, dword [esi]
rol ecx, 0x19
mov dword [esi], ecx
mov ecx, dword [esi]
cmp eax, ecx
jne 0x10037238
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm0, dword [edx + 0x6110]
mov eax, dword [ebp + 0x14]
bswap eax
mov edx, dword [ebp + 0x18]
add edx, eax
mov ecx, dword [ebp + 0x1c]
ror edx, cl
movss xmm1, dword [edx + 0x168]
mov ecx, dword [ebp + 0x14]
bswap ecx
mov eax, dword [ebp + 0x18]
add eax, ecx
mov ecx, dword [ebp + 0x1c]
ror eax, cl
ucomiss xmm0, xmm1
setp dl
setne cl
mov edi, dword [esi + 0x1c]
cmp dword [eax + 0x154], edi
setne al
ucomiss xmm1, xmm0
jbe 0x10037238
or cl, dl
or cl, al
je 0x10037238
movss xmm1, dword [0x102a2574]
mov eax, dword [ebx + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0xcc]
movss dword [ecx + eax + 0x18], xmm1
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
divss xmm0, dword [edx + 0x610c]
mov eax, dword [ebx + 0x20]
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x208]
mov eax, dword [ecx + eax]
movss dword [eax + 0x110], xmm0
mov eax, dword [esi + 0x50]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
mov eax, 0xffffffff
jmp 0x10036907
mov ebx, dword [ebx + 0x20]
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + ebx]
test ecx, ecx
jne 0x10037288
mov ecx, ebx
call dword [eax + 0xc4]
mov eax, dword [0x102a22ac]
mov ecx, dword [eax + 0xc0]
mov ecx, dword [ecx + ebx]
test ecx, ecx
je 0x10037396
mov edx, edi
call dword [eax + 0x2dc]
mov ebx, dword [ebp + 0x20]
mov dword [esi], 0x4449bbb8
mov ecx, dword [esi]
bswap ecx
mov dword [esi], ecx
add dword [esi], 0x4efcb6bc
mov ecx, dword [esi]
rol ecx, 0xf
mov dword [esi], ecx
mov ecx, dword [esi]
cmp eax, ecx
je 0x100372d5
mov dword [esi], 0x296ad207
mov ecx, dword [esi]
bswap ecx
mov dword [esi], ecx
add dword [esi], 0x171595d7
mov ecx, dword [esi]
rol ecx, 0xd
mov dword [esi], ecx
mov ecx, dword [esi]
cmp eax, ecx
jne 0x10036d3c
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm0, dword [edx + 0x6148]
mov ecx, dword [ebp + 8]
bswap ecx
mov eax, dword [ebp + 0xc]
add eax, ecx
mov ecx, dword [ebp + 0x10]
ror eax, cl
movss xmm2, dword [0x102a2574]
ucomiss xmm0, xmm2
jne 0x1003730e
jnp 0x10036d3c
movss xmm1, dword [eax + 0x6144]
ucomiss xmm1, xmm2
jne 0x10037321
jnp 0x10036d3c
divss xmm0, xmm1
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x10037333
jnp 0x10036d3c
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
mov word [edx + 0x63a8], 0x101
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss xmm1, dword [edx + 0x634c]
subss xmm1, xmm0
mov eax, dword [ebp + 8]
bswap eax
mov edx, dword [ebp + 0xc]
add edx, eax
mov ecx, dword [ebp + 0x10]
ror edx, cl
movss dword [edx + 0x63ac], xmm1
jmp 0x10036d3c
mov eax, 0xffffffff
jmp 0x10037168
mov eax, 0xffffffff
jmp 0x10036a44
mov eax, 0xffffffff
jmp 0x10037290
or eax, 1
mov dword [0x102a2578], eax
mov dword [esi], 0xd05a77fe
mov eax, dword [esi]
bswap eax
mov dword [esi], eax
add dword [esi], 0x188a530
mov eax, dword [esi]
rol eax, 0x13
mov dword [esi], eax
mov eax, dword [esi]
cvtsi2ss xmm0, eax
mov dword [esi], 0xfc439ee5
mov eax, dword [esi]
bswap eax
mov dword [esi], eax
add dword [esi], 0x1a61c5c8
mov eax, dword [esi]
rol eax, 2
mov dword [esi], eax
mov eax, dword [esi]
cvtsi2ss xmm1, eax
divss xmm0, xmm1
movss dword [0x102a2574], xmm0
jmp 0x1003685e
call fcn.1002e760
or eax, 2
mov dword [0x102a2578], eax
mov dword [esi], 0x127c21a8
mov eax, dword [esi]
bswap eax
mov dword [esi], eax
add dword [esi], 0x5fde83ee
mov eax, dword [esi]
rol eax, 6
mov dword [esi], eax
mov eax, dword [esi]
mov dword [0x102a257c], eax
mov eax, dword [0x102a2578]
test al, 4
jne 0x100368a7
or eax, 4
mov dword [0x102a2578], eax
mov dword [esi], 0xe25a09c8
mov eax, dword [esi]
bswap eax
mov dword [esi], eax
add dword [esi], 0x188a530
mov eax, dword [esi]
rol eax, 0x13
mov dword [esi], eax
mov eax, dword [esi]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov dword [esi], 0xfc439ee5
mov eax, dword [esi]
bswap eax
mov dword [esi], eax
add dword [esi], 0x1a61c5c8
mov eax, dword [esi]
rol eax, 2
mov dword [esi], eax
mov eax, dword [esi]
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
divss xmm0, xmm1
movss dword [0x102a2580], xmm0
jmp 0x100368a7
or eax, 8
mov dword [0x102a2578], eax
mov ecx, dword [0x102a23ac]
mov eax, 0x92c3068e
mov edx, 0x55b9359d
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], eax
mov edx, 0xe4cf8cd2
mov eax, 0xe07099fa
mov edi, 0xe07099fa
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], edx
mov edx, 0xf59c70fd
mov edi, 0x3ccf54ef
mov dword [esi + 4], edi
mov dword [esi], edx
mov edx, 0xe4cff5a6
mov dword [esi + 0xc], eax
mov dword [esi + 8], edx
mov eax, esi
xor edx, edx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
mov dword [esi + 0x58], 0
lea edx, [esi + 0x20]
push edx
call eax
mov dword [0x102a2584], eax
mov eax, dword [0x102a2578]
mov ebx, dword [ebp + 0x20]
test al, 0x10
jne 0x10036c5e
or eax, 0x10
mov dword [0x102a2578], eax
mov ecx, dword [0x102a23ac]
mov eax, 0x9fc3068e
mov edx, 0x63bf399a
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], eax
mov eax, 0x91bf98cf
mov edx, 0xe015ea96
mov dword [esi + 0x2c], edx
mov dword [esi + 0x28], eax
mov eax, 0xf59c70fd
mov edx, 0x3ccf54ef
mov dword [esi + 4], edx
mov dword [esi], eax
mov eax, 0xe4cff5a6
mov edx, 0xe07099fa
mov dword [esi + 0xc], edx
mov dword [esi + 8], eax
mov eax, esi
xor edx, edx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
mov dword [esi + 0x58], 1
lea edx, [esi + 0x20]
push edx
call eax
mov ecx, eax
mov dword [0x102a2588], eax
mov ebx, dword [ebp + 0x20]
jmp 0x10036c6b