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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x160
mov esi, esp
mov dword [esi + 0x138], ebp
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x13c], esp
mov dword [esi + 0x148], 0xffffffff
lea ecx, [esi + 0x140]
mov dword [esi + 0x144], 0x100c0450
mov edx, dword fs:[0]
mov dword [esi + 0x140], edx
mov dword fs:[0], ecx
mov eax, dword [eax]
test eax, eax
je 0x100bd93a
push 0x4600400b
push edi
call eax
add esp, 8
test al, al
je 0x100bdd97
mov eax, dword [0x102606cc]
test al, 1
je 0x100bddad
mov ebx, dword [0x102606c8]
mov ecx, dword [ebx + 4]
mov eax, dword [0x102606c4]
test al, 1
je 0x100bdebf
mov ebx, dword [0x102606c0]
mov eax, dword [ebx + 4]
movss xmm5, dword [eax + edi + 8]
addss xmm5, dword [edi + ecx + 8]
movss xmm6, dword [eax + edi]
movss xmm4, dword [eax + edi + 4]
addss xmm4, dword [edi + ecx + 4]
addss xmm6, dword [edi + ecx]
mov eax, dword [0x102606b4]
test al, 1
je 0x100bdfd4
mov ebx, dword [0x102606b0]
mov ecx, dword [ebp + 0xc]
movss xmm0, dword [0x101a82c0]
mulss xmm5, xmm0
mulss xmm4, xmm0
mulss xmm6, xmm0
mov eax, dword [ebx + 4]
addss xmm5, dword [eax + edi + 8]
addss xmm4, dword [eax + edi + 4]
addss xmm6, dword [eax + edi]
mov ebx, dword [ebp + 8]
movss xmm2, dword [ebx + 8]
movaps xmm0, xmm5
subss xmm0, xmm2
movss dword [esi + 0x18], xmm0
movss xmm1, dword [ebx]
movss xmm0, dword [ebx + 4]
movaps xmm3, xmm4
subss xmm3, xmm0
movss dword [esi + 0x9c], xmm3
movaps xmm3, xmm6
subss xmm3, xmm1
movss dword [esi + 0x24], xmm3
subss xmm2, dword [ecx + 8]
subss xmm0, dword [ecx + 4]
subss xmm1, dword [ecx]
movss dword [esi + 0x14], xmm0
mulss xmm0, xmm0
movss dword [esi + 0xc], xmm1
mulss xmm1, xmm1
addss xmm1, xmm0
movss dword [esi + 0x10], xmm2
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm0, xmm1
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
movss dword [esi + 0x1c], xmm4
jb 0x100bda4a
sqrtsd xmm0, xmm0
jmp 0x100bda82
sub esp, 8
movsd qword [esp], xmm0
movss dword [esi + 0x100], xmm5
movss dword [esi + 0x20], xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movss xmm6, dword [esi + 0x20]
movss xmm5, dword [esi + 0x100]
add esp, 8
fstp qword [esi + 0x130]
movsd xmm0, qword [esi + 0x130]
cvtsd2ss xmm0, xmm0
xorps xmm1, xmm1
movaps xmm2, xmm0
cmpneqss xmm2, xmm1
movaps xmm3, xmm2
movss xmm4, dword [0x101a8280]
andnps xmm2, xmm4
movaps xmmword [esi + 0x100], xmm0
andps xmm3, xmm0
orps xmm2, xmm3
movss xmm4, dword [esi + 0xc]
divss xmm4, xmm2
movss xmm3, dword [esi + 0x14]
divss xmm3, xmm2
movss xmm0, dword [esi + 0x10]
divss xmm0, xmm2
movss xmm7, dword [esi + 0x9c]
movaps xmm2, xmm7
movss dword [esi + 0x14], xmm3
mulss xmm2, xmm3
movss xmm1, dword [esi + 0x24]
movaps xmm3, xmm1
movss dword [esi + 0xc], xmm4
mulss xmm3, xmm4
addss xmm3, xmm2
movss xmm4, dword [esi + 0x18]
movaps xmm2, xmm4
movss dword [esi + 0x10], xmm0
mulss xmm2, xmm0
addss xmm2, xmm3
xorps xmm0, xmm0
ucomiss xmm0, xmm2
jbe 0x100bdb54
mulss xmm7, xmm7
mulss xmm1, xmm1
addss xmm1, xmm7
mulss xmm4, xmm4
addss xmm4, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, xmm4
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jae 0x100bdb97
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esi + 0x118]
movsd xmm0, qword [esi + 0x118]
jmp 0x100bdc22
ucomiss xmm2, dword [esi + 0x100]
jbe 0x100bdba0
mov eax, dword [ebp + 0xc]
subss xmm5, dword [eax + 8]
movss xmm0, dword [esi + 0x1c]
subss xmm0, dword [eax + 4]
subss xmm6, dword [eax]
mulss xmm0, xmm0
mulss xmm6, xmm6
addss xmm6, xmm0
mulss xmm5, xmm5
addss xmm5, xmm6
xorps xmm0, xmm0
cvtss2sd xmm0, xmm5
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100bdc04
sqrtsd xmm0, xmm0
jmp 0x100bdc22
movss xmm4, dword [esi + 0x10]
mulss xmm4, xmm2
movss xmm1, dword [esi + 0x14]
mulss xmm1, xmm2
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm4, dword [ebx + 8]
addss xmm1, dword [ebx + 4]
addss xmm0, dword [ebx]
subss xmm5, xmm4
movss xmm2, dword [esi + 0x1c]
subss xmm2, xmm1
subss xmm6, xmm0
mulss xmm2, xmm2
mulss xmm6, xmm6
addss xmm6, xmm2
mulss xmm5, xmm5
addss xmm5, xmm6
xorps xmm0, xmm0
cvtss2sd xmm0, xmm5
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100bdc3b
sqrtsd xmm0, xmm0
jmp 0x100bdc59
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esi + 0x120]
movsd xmm0, qword [esi + 0x120]
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x101a97e0]
ucomiss xmm0, dword [0x101b19e0]
jbe 0x100bdc6a
jmp 0x100bdd97
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esi + 0x128]
movsd xmm0, qword [esi + 0x128]
cvtsd2ss xmm0, xmm0
ucomiss xmm0, dword [0x101b19e0]
ja 0x100bdd97
xorps xmm1, xmm1
movaps xmmword [esi + 0xe0], xmm1
movaps xmmword [esi + 0xd0], xmm1
movaps xmmword [esi + 0xc0], xmm1
movaps xmmword [esi + 0xb0], xmm1
movaps xmmword [esi + 0xa0], xmm1
mov dword [esi + 0xf0], 0
mov eax, dword [ebx + 8]
mov dword [esi + 0x48], eax
movsd xmm0, qword [ebx]
movsd qword [esi + 0x40], xmm0
mov dword [esi + 0x4c], 0
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax + 8]
movsd xmm2, qword [eax]
mov ecx, dword [0x1025ae2c]
subss xmm0, dword [ebx + 8]
movsd xmm3, qword [ebx]
subps xmm2, xmm3
movlps qword [esi + 0x50], xmm2
movss dword [esi + 0x58], xmm0
movups xmmword [esi + 0x5c], xmm1
movups xmmword [esi + 0x6c], xmm1
mov dword [esi + 0x80], 0
mov dword [esi + 0x7c], 0
movaps xmm1, xmm2
mulps xmm1, xmm2
shufps xmm1, xmm1, 0x55
mulss xmm2, xmm2
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm0, xmm2
xorps xmm1, xmm1
ucomiss xmm0, xmm1
mov byte [esi + 0x84], 1
setp al
setne dl
or dl, al
mov byte [esi + 0x85], dl
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x148], 0xffffffff
lea edx, [esi + 0xa0]
lea ebx, [esi + 0x40]
push edx
push edi
push 0x4600400b
push ebx
call eax
mov ecx, dword [ebp + 0x10]
movss xmm0, dword [esi + 0xcc]
ucomiss xmm0, dword [ecx + 0x2c]
ja 0x100bdd97
mov eax, dword [esi + 0xf0]
mov dword [ecx + 0x50], eax
movaps xmm0, xmmword [esi + 0xe0]
movups xmmword [ecx + 0x40], xmm0
movaps xmm0, xmmword [esi + 0xd0]
movups xmmword [ecx + 0x30], xmm0
movaps xmm0, xmmword [esi + 0xc0]
movups xmmword [ecx + 0x20], xmm0
movaps xmm0, xmmword [esi + 0xa0]
movaps xmm1, xmmword [esi + 0xb0]
movups xmmword [ecx + 0x10], xmm1
movups xmmword [ecx], xmm0
mov eax, dword [esi + 0x140]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
or eax, 1
mov dword [0x102606cc], eax
mov eax, 0xde3f1734
mov ecx, 0x9bd4a67d
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x92399759
mov ecx, 0x64b5ab13
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x729f5984
mov ecx, 0x6235574a
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov edx, 0xad5e5577
mov edi, 0xefbae318
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa0], edx
mov edx, 0xbf40e330
mov edi, 0x12eac62d
mov dword [esi + 0xac], edi
mov dword [esi + 0xa8], edx
mov edx, 0x13d23ae1
mov edi, 0x62352432
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xa0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x148], 0
lea eax, [esi + 0x40]
lea ecx, [esi + 0x28]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x38]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x3c], 0x10
jb 0x100bde95
mov eax, dword [esi + 0x28]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x100be0f4
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x100be10f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100be159
mov dword [esi + 0x24], ecx
or eax, 1
mov dword [0x102606c4], eax
mov eax, 0xde3f1734
mov ecx, 0x9bd4a67d
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x92399759
mov ecx, 0x64b5ab13
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x7a9f5984
mov ecx, 0x6235575c
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov edx, 0xad5e5577
mov edi, 0xefbae318
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa0], edx
mov edx, 0xbf40e330
mov edi, 0x12eac62d
mov dword [esi + 0xac], edi
mov dword [esi + 0xa8], edx
mov edx, 0x13d23ae1
mov edi, 0x62352432
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xa0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x148], 2
lea eax, [esi + 0x40]
lea ecx, [esi + 0x28]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x38]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x3c], 0x10
jb 0x100bdfaa
mov eax, dword [esi + 0x28]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x100be0fb
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x100be1e0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100be22a
movss dword [esi + 0x1c], xmm4
movss dword [esi + 0x20], xmm6
movss dword [esi + 0x100], xmm5
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0xde3f1734
mov ecx, 0x9bd4a67d
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x92399759
mov ecx, 0x64b5ab13
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x619d5984
mov ecx, 0xc5c435b
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov edx, 0xad5e5577
mov edi, 0xefbae318
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa0], edx
mov edx, 0xbf40e330
mov edi, 0x12eac62d
mov dword [esi + 0xac], edi
mov dword [esi + 0xa8], edx
mov edx, 0x13d23ae1
mov edi, 0x62352432
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xa0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x148], 4
lea eax, [esi + 0x40]
lea ecx, [esi + 0x28]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x38]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x3c], 0x10
jb 0x100be0ce
mov eax, dword [esi + 0x28]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x100be105
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x100be2b4
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100be2fe
mov ecx, 0x811c9dc5
jmp 0x100be176
mov ecx, 0x811c9dc5
jmp 0x100be247
mov ecx, 0x811c9dc5
jmp 0x100be31b
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100be11f
cmp dword [esi + 0x14], 0
je 0x100be176
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x14], edi
jne 0x100be164
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100be393
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100be1ba
cmp dword [ebx + 0x1c], 0x10
jb 0x100be1a4
mov eax, dword [ebx + 8]
jmp 0x100be1a7
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100be1c7
cmp ebx, edi
je 0x100be393
mov ebx, dword [ebx + 4]
jmp 0x100be191
add ebx, 0x20
lea ecx, [esi + 0x28]
call fcn.10015110
mov dword [0x102606c8], ebx
mov edi, dword [ebp + 0x14]
jmp 0x100bd94d
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100be1f0
cmp dword [esi + 0x14], 0
je 0x100be247
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x14], edi
jne 0x100be235
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100be3aa
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100be28b
cmp dword [ebx + 0x1c], 0x10
jb 0x100be275
mov eax, dword [ebx + 8]
jmp 0x100be278
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100be298
cmp ebx, edi
je 0x100be3aa
mov ebx, dword [ebx + 4]
jmp 0x100be262
add ebx, 0x20
lea ecx, [esi + 0x28]
call fcn.10015110
mov dword [0x102606c0], ebx
mov edi, dword [ebp + 0x14]
mov ecx, dword [esi + 0x24]
jmp 0x100bd963
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100be2c4
cmp dword [esi + 0x14], 0
je 0x100be31b
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x14], edi
jne 0x100be309
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100be3c1
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100be35f
cmp dword [ebx + 0x1c], 0x10
jb 0x100be349
mov eax, dword [ebx + 8]
jmp 0x100be34c
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100be368
cmp ebx, edi
je 0x100be3c1
mov ebx, dword [ebx + 4]
jmp 0x100be336
add ebx, 0x20
lea ecx, [esi + 0x28]
call fcn.10015110
mov dword [0x102606b0], ebx
mov edi, dword [ebp + 0x14]
movss xmm5, dword [esi + 0x100]
movss xmm6, dword [esi + 0x20]
movss xmm4, dword [esi + 0x1c]
jmp 0x100bd99b
mov dword [esi + 0x148], 1
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x148], 3
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x148], 5
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop dword [eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x14c]
mov ebp, dword [esi + 0x138]
lea ecx, [esi + 0x28]
call fcn.10015110
add esp, 0x10
pop ebp
ret