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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1029cd38
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x103fb8f8]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push esi
push edi
mov eax, dword [0x103fb8f8]
xor eax, esp
push eax
lea eax, [esp + 0x130]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x10], edi
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
call dword [0x102ad49c]
mov ecx, dword [edi + 0xe0]
sub ecx, dword [ebp + 0x10]
mov edx, dword [edi + 0xe4]
sub edx, dword [ebp + 0x14]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x88], ecx
mov ecx, ebx
push eax
mov dword [esp + 0x90], edx
call dword [0x102abac4]
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
neg ecx
add dword [esi + 4], ecx
neg eax
add dword [esi], eax
add dword [esi + 8], eax
add dword [esi + 0xc], ecx
mov eax, dword [edi + 0xfc]
mov dword [esp + 0x90], eax
mov ebx, dword [eax]
mov dword [esp + 0x24], ebx
cmp ebx, eax
je 0x101f12db
mov esi, 1
mov edi, edi
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x1c]
mov byte [esp + 0x4c], 0
cmp eax, ecx
je 0x101f07a7
mov edx, dword [edi + 0xe8]
mov ebx, dword [esp + 0x4c]
lea esp, [esp]
cmp dword [eax], edx
movzx ebx, bl
cmove ebx, esi
add eax, 0x1c
cmp eax, ecx
jne 0x101f0790
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x24]
movsd xmm2, qword [edi + 0xc0]
movd xmm0, dword [ebx + 0x7c]
movapd xmm1, xmm2
mulsd xmm1, qword [0x102b8d38]
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
cvttsd2si esi, xmm0
movd xmm0, dword [ebx + 0x78]
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
cvttsd2si edx, xmm0
movaps xmm0, xmm2
addsd xmm2, qword [ebx + 0x68]
addsd xmm0, qword [ebx + 0x70]
cvttsd2si eax, xmm2
cvttsd2si ecx, xmm0
mov dword [esp + 0xd8], eax
dec eax
add eax, edx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], ecx
lea eax, [ecx - 1]
mov ecx, dword [esp + 0x1c]
add eax, esi
mov dword [esp + 0xe4], eax
lea eax, [esp + 0xd8]
push eax
call dword [0x102ab374]
test al, al
je 0x101f11e7
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x108]
call dword [0x102abd30]
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xf8]
push eax
mov ecx, esi
call dword [0x102aba98]
cmp byte [ebx + 0x40], 0
je 0x101f0895
push 1
lea eax, [edi + 0x1f0]
push eax
mov eax, dword [0x102aba7c]
lea ecx, [esp + 0x64]
call eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x138], 0
push eax
mov eax, dword [0x102abb7c]
mov ecx, esi
call eax
lea ecx, [esp + 0x5c]
jmp 0x101f0918
cmp byte [ebx + 0x41], 0
je 0x101f08ce
push 1
lea eax, [edi + 0x200]
push eax
mov eax, dword [0x102aba7c]
lea ecx, [esp + 0x5c]
call eax
lea eax, [esp + 0x54]
mov dword [esp + 0x138], 1
push eax
mov eax, dword [0x102abb7c]
mov ecx, esi
call eax
lea ecx, [esp + 0x54]
jmp 0x101f0918
push 0x80
push 0
push 0
push 0
lea ecx, [esp + 0x128]
call dword [0x102abd30]
push 1
lea eax, [esp + 0x11c]
push eax
mov eax, dword [0x102aba7c]
lea ecx, [esp + 0x60]
call eax
lea eax, [esp + 0x58]
mov dword [esp + 0x138], 2
push eax
mov eax, dword [0x102abb7c]
mov ecx, esi
call eax
lea ecx, [esp + 0x58]
mov eax, dword [0x102aba80]
mov dword [esp + 0x138], 0xffffffff
call eax
movsd xmm2, qword [edi + 0xc0]
movsd xmm3, qword [0x102dbbb0]
movapd xmm1, xmm2
mulsd xmm1, qword [0x102b8d38]
push 1
movd xmm0, dword [ebx + 0x7c]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm3
subsd xmm0, xmm1
cvttsd2si esi, xmm0
movd xmm0, dword [ebx + 0x78]
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
cvttsd2si edx, xmm0
movaps xmm0, xmm2
addsd xmm2, qword [ebx + 0x68]
addsd xmm0, qword [ebx + 0x70]
addsd xmm2, xmm3
addsd xmm0, xmm3
cvttsd2si eax, xmm2
cvttsd2si ecx, xmm0
mov dword [esp + 0x9c], eax
dec eax
add eax, edx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], ecx
lea eax, [ecx - 1]
add eax, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xa8], eax
mov ecx, esi
lea eax, [esp + 0x9c]
push eax
call dword [0x102abcf8]
lea eax, [edi + 0x2e0]
mov ecx, esi
push eax
call dword [0x102aba98]
push 1
lea eax, [edi + 0x2f0]
push eax
lea ecx, [esp + 0x68]
call dword [0x102aba7c]
lea eax, [esp + 0x60]
mov dword [esp + 0x138], 3
push eax
mov ecx, esi
call dword [0x102abb7c]
lea ecx, [esp + 0x60]
mov dword [esp + 0x138], 0xffffffff
call dword [0x102aba80]
movsd xmm2, qword [edi + 0xc0]
movd xmm0, dword [ebx + 0x7c]
movapd xmm1, xmm2
mulsd xmm1, qword [0x102b8d38]
push 1
cvtdq2pd xmm0, xmm0
addsd xmm1, qword [0x102dbbb0]
subsd xmm0, xmm1
cvttsd2si esi, xmm0
movd xmm0, dword [ebx + 0x78]
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
cvttsd2si edx, xmm0
movaps xmm0, xmm2
addsd xmm2, qword [ebx + 0x68]
addsd xmm0, qword [ebx + 0x70]
dec edx
cvttsd2si eax, xmm2
cvttsd2si ecx, xmm0
mov dword [esp + 0xcc], eax
add eax, edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], ecx
lea eax, [ecx - 1]
add eax, esi
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xcc]
push eax
call dword [0x102abcf8]
mov edx, dword [esp + 0x10]
cmp dword [edx + 0xe8], 0
je 0x101f0e51
mov esi, dword [edx + 0xc8]
mov eax, 0x2aaaaaab
mov ecx, dword [ebx + 0x14]
sub ecx, dword [ebx + 0x10]
imul ecx
mov edi, dword [ebx + 0x20]
sar edx, 1
mov eax, edx
mov dword [esp + 0x20], esi
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
imul eax, esi
mov esi, dword [ebx + 0x1c]
movsd xmm0, qword [edx + 0xc0]
mulsd xmm0, qword [0x102b8d38]
movd xmm1, eax
addsd xmm0, qword [ebx + 0x70]
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [esp + 0x2c], eax
cmp esi, edi
je 0x101f0e51
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 4]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
imul eax, dword [esp + 0x20]
mov ecx, dword [edx + 4]
sub ecx, eax
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jle 0x101f0e15
cmp eax, dword [edx + 0xc]
jge 0x101f0e15
mov ecx, dword [esp + 0x10]
mov eax, dword [esi]
push eax
cmp eax, dword [ecx + 0xe8]
mov eax, dword [esp + 0x98]
sete byte [esp + 0x1b]
mov eax, dword [eax + 0xa0]
call eax
add esp, 4
cmp byte [esp + 0x17], 0
je 0x101f0caa
mov ecx, dword [esi + 8]
movd xmm1, dword [ebx + 0x78]
sub ecx, dword [esi + 4]
test eax, eax
cvtdq2pd xmm1, xmm1
mov eax, 0x2aaaaaab
je 0x101f0c1f
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 1
mov eax, edx
shr eax, 0x1f
movsd xmm2, qword [ecx + 0xc0]
add eax, edx
mov edx, dword [ecx + 0xc8]
movapd xmm0, xmm2
mulsd xmm0, qword [0x102b8d38]
addsd xmm2, qword [ebx + 0x68]
mov ebx, dword [esp + 0x2c]
imul edx, eax
addsd xmm0, qword [0x102dbbc0]
mov dword [esp + 0xec], ebx
addsd xmm2, qword [0x102dbba8]
subsd xmm1, xmm0
cvttsd2si eax, xmm2
cvttsd2si ecx, xmm1
mov dword [esp + 0xe8], eax
dec ecx
add eax, ecx
mov dword [esp + 0xf0], eax
mov eax, ebx
dec eax
add eax, edx
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x10]
add eax, 0x1b0
push eax
lea eax, [esp + 0xec]
jmp 0x101f0e06
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 1
mov eax, edx
shr eax, 0x1f
movsd xmm2, qword [ecx + 0xc0]
add eax, edx
mov edx, dword [ecx + 0xc8]
movapd xmm0, xmm2
mulsd xmm0, qword [0x102b8d38]
addsd xmm2, qword [ebx + 0x68]
mov ebx, dword [esp + 0x2c]
imul edx, eax
addsd xmm0, qword [0x102dbbc0]
mov dword [esp + 0xbc], ebx
addsd xmm2, qword [0x102dbba8]
subsd xmm1, xmm0
cvttsd2si eax, xmm2
cvttsd2si ecx, xmm1
mov dword [esp + 0xb8], eax
dec ecx
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, ebx
dec eax
add eax, edx
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x10]
add eax, 0x190
push eax
lea eax, [esp + 0xbc]
jmp 0x101f0e06
test eax, eax
je 0x101f0e15
shr eax, 1
mov ecx, 1
je 0x101f0cc5
jmp 0x101f0cc0
inc ecx
shr eax, 1
jne 0x101f0cc0
imul ecx, ecx
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
add eax, 0x1a0
mov ecx, eax
mov dword [esp + 0x20], eax
call dword [0x102abd34]
cmp eax, 0xa0
jle 0x101f0cf9
mov eax, dword [esp + 0x44]
neg eax
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x20]
call dword [0x102abd34]
add eax, dword [esp + 0x44]
lea ecx, [esp + 0x40]
cmp eax, 0x100
mov dword [esp + 0x44], eax
lea edx, [esp + 0x44]
mov dword [esp + 0x40], 0x100
cmovge edx, ecx
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x38]
cmp dword [edx], 0
cmovg eax, edx
mov eax, dword [eax]
mov dword [esp + 0x38], eax
call dword [0x102abd38]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
call dword [0x102abd3c]
push 0xff
push dword [esp + 0x3c]
lea ecx, [esp + 0x110]
push dword [esp + 0x48]
push eax
call dword [0x102abd30]
mov ecx, dword [esi + 8]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 4]
movd xmm1, dword [ebx + 0x78]
imul ecx
cvtdq2pd xmm1, xmm1
mov ecx, dword [esp + 0x10]
sar edx, 1
mov eax, edx
shr eax, 0x1f
movsd xmm2, qword [ecx + 0xc0]
add eax, edx
mov edx, dword [ecx + 0xc8]
movapd xmm0, xmm2
mulsd xmm0, qword [0x102b8d38]
addsd xmm2, qword [ebx + 0x68]
mov ebx, dword [esp + 0x2c]
imul edx, eax
addsd xmm0, qword [0x102dbbc0]
mov dword [esp + 0xac], ebx
addsd xmm2, qword [0x102dbba8]
subsd xmm1, xmm0
cvttsd2si eax, xmm2
cvttsd2si ecx, xmm1
mov dword [esp + 0xa8], eax
dec ecx
add eax, ecx
mov dword [esp + 0xb0], eax
mov eax, ebx
dec eax
add eax, edx
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0xac]
mov ecx, dword [esp + 0x1c]
push eax
call dword [0x102abcf0]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 8]
sub ecx, dword [esi + 4]
add esi, 0x1c
mov eax, dword [eax + 0xc8]
mov dword [esp + 0x20], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, dword [esp + 0x20]
add dword [esp + 0x2c], eax
cmp esi, edi
jne 0x101f0b10
mov edx, dword [esp + 0x10]
movsd xmm0, qword [edx + 0xc0]
mulsd xmm0, qword [0x102b8d38]
mov edi, dword [ebx + 0x14]
movsd xmm4, qword [ebx + 0x68]
movsd xmm3, qword [ebx + 0x70]
mov esi, dword [ebx + 0x10]
addsd xmm4, xmm0
addsd xmm3, xmm0
movsd qword [esp + 0x2c], xmm4
movsd qword [esp + 0x44], xmm3
cmp esi, edi
je 0x101f0f11
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov ecx, dword [edx + 0xc8]
sub eax, ecx
movd xmm0, eax
mov eax, dword [esp + 0x1c]
cvtdq2pd xmm0, xmm0
comisd xmm3, xmm0
jbe 0x101f0ef4
movd xmm0, dword [eax + 0xc]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm3
jbe 0x101f0ef4
push dword [edx + 0x138]
cvttsd2si eax, xmm3
push esi
push 0
push ecx
push dword [ebx + 0x78]
push eax
cvttsd2si eax, xmm4
push eax
push dword [esp + 0x34]
call fcn.1012abb0
movsd xmm3, qword [esp + 0x64]
add esp, 0x20
movsd xmm4, qword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
movd xmm0, dword [edx + 0xc8]
add esi, 0xc
cvtdq2pd xmm0, xmm0
addsd xmm3, xmm0
movsd qword [esp + 0x44], xmm3
cmp esi, edi
jne 0x101f0e91
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x20], eax
cmp edi, eax
je 0x101f11e7
mov eax, dword [edi + 8]
mov esi, dword [edi + 4]
mov dword [esp + 0x40], eax
cmp esi, eax
je 0x101f11d4
mov ecx, dword [esp + 0x1c]
lea esp, [esp]
mov ecx, dword [ecx + 4]
sub ecx, dword [edx + 0xc8]
mov ebx, dword [esp + 0x24]
movd xmm0, ecx
mov ecx, dword [esp + 0x1c]
cvtdq2pd xmm0, xmm0
comisd xmm3, xmm0
jbe 0x101f11ad
movd xmm0, dword [ecx + 0xc]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm3
jbe 0x101f11ad
movsd xmm1, qword [edx + 0xc0]
xorps xmm0, xmm0
comisd xmm1, xmm0
jb 0x101f0f99
movsd xmm0, qword [0x102b9700]
addsd xmm1, xmm0
cvttsd2si ecx, xmm1
jmp 0x101f0fc6
movaps xmm0, xmm1
subsd xmm0, qword [0x102b9708]
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x102b9700]
addsd xmm1, xmm0
cvttsd2si ecx, xmm1
add ecx, eax
mov eax, ecx
and eax, 0x80000001
jns 0x101f0fd4
dec eax
or eax, 0xfffffffe
inc eax
je 0x101f0fd7
inc ecx
mov eax, dword [edx + 0xc8]
sub eax, ecx
push dword [edi]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mulsd xmm2, xmm0
movapd xmm0, xmm4
addsd xmm2, xmm3
movd xmm3, ecx
cvtdq2pd xmm3, xmm3
movsd qword [esp + 0x70], xmm2
unpcklpd xmm3, xmm3
movaps xmm1, xmm3
divsd xmm1, qword [0x102dbba8]
movups xmmword [esp + 0x78], xmm3
subsd xmm0, xmm1
movsd qword [esp + 0x68], xmm0
call dword [0x102ad474]
push dword [edi]
test eax, eax
setne byte [esp + 0x1f]
call dword [0x102ad47c]
push dword [edi]
mov byte [esp + 0x37], al
call dword [0x102ad424]
mov ecx, dword [edi]
mov dl, al
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp ecx, dword [eax + 0x160]
sete cl
cmp byte [esp + 0x17], 0
jne 0x101f10d3
test dl, dl
jne 0x101f10d3
cmp byte [esp + 0x2b], dl
je 0x101f10c4
test cl, cl
je 0x101f10bd
movsd xmm0, qword [esp + 0x74]
add eax, 0x2a0
mulsd xmm0, qword [0x102b9700]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x68]
push eax
movsd qword [esp + 0x7c], xmm0
call dword [0x102abab8]
movsd xmm0, qword [esp + 0x74]
xorps xmm1, xmm1
addsd xmm0, qword [esp + 0x64]
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x64], xmm0
movsd xmm0, qword [esp + 0x6c]
addsd xmm0, xmm1
movsd qword [esp + 0x6c], xmm0
add eax, 0x2d0
jmp 0x101f113c
test cl, cl
je 0x101f1150
add eax, 0x2a0
jmp 0x101f113c
test cl, cl
je 0x101f1129
movsd xmm0, qword [esp + 0x74]
add eax, 0x2a0
mulsd xmm0, qword [0x102b9700]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x68]
push eax
movsd qword [esp + 0x7c], xmm0
call dword [0x102abab8]
movsd xmm0, qword [esp + 0x74]
xorps xmm1, xmm1
addsd xmm0, qword [esp + 0x64]
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x64], xmm0
movsd xmm0, qword [esp + 0x6c]
addsd xmm0, xmm1
movsd qword [esp + 0x6c], xmm0
cmp byte [esp + 0x17], 0
je 0x101f1137
add eax, 0x2b0
jmp 0x101f113c
add eax, 0x2c0
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x68]
push eax
call dword [0x102abab8]
mov eax, dword [esp + 0x10]
push dword [eax + 0x138]
movd xmm0, dword [ebx + 0x78]
movsd xmm1, qword [eax + 0xc0]
cvtdq2pd xmm0, xmm0
push esi
push 0
push dword [eax + 0xc8]
subsd xmm0, xmm1
cvttsd2si eax, xmm0
movsd xmm0, qword [esp + 0x3c]
push eax
cvttsd2si eax, qword [esp + 0x58]
addsd xmm0, xmm1
push eax
cvttsd2si eax, xmm0
push eax
push dword [esp + 0x34]
call fcn.1012abb0
movsd xmm3, qword [esp + 0x64]
add esp, 0x20
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
movd xmm0, dword [edx + 0xc8]
add esi, 0xc
movsd xmm4, qword [esp + 0x2c]
cvtdq2pd xmm0, xmm0
addsd xmm3, xmm0
movsd qword [esp + 0x44], xmm3
cmp esi, eax
jne 0x101f0f40
movsd xmm4, qword [esp + 0x2c]
add edi, 0x1c
cmp edi, dword [esp + 0x20]
jne 0x101f0f23
mov esi, dword [ebx + 0x44]
mov edi, dword [ebx + 0x48]
cmp esi, edi
je 0x101f12bf
mov ebx, dword [esp + 0x18]
lea esp, [esp]
push esi
lea ecx, [esp + 0x40]
call dword [0x102abd20]
cmp byte [esp + 0x4c], 0
mov dword [esp + 0x138], 4
je 0x101f1229
push 2
lea ecx, [esp + 0x40]
call dword [0x102abb84]
lea eax, [esp + 0x3c]
mov ecx, ebx
push eax
call dword [0x102abd00]
push 1
push esi
lea ecx, [esp + 0x58]
call dword [0x102aba7c]
lea eax, [esp + 0x50]
mov byte [esp + 0x138], 5
push eax
mov ecx, ebx
call dword [0x102abb7c]
lea ecx, [esp + 0x50]
mov byte [esp + 0x138], 4
call dword [0x102aba80]
lea eax, [esi + 0x24]
mov ecx, ebx
push eax
call dword [0x102abac0]
push 1
lea ecx, [esp + 0x40]
call dword [0x102abb84]
lea eax, [esp + 0x3c]
mov ecx, ebx
push eax
call dword [0x102abd00]
lea eax, [esi + 0x28]
mov ecx, ebx
push eax
call dword [0x102ababc]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x138], 0xffffffff
call dword [0x102abd18]
add esi, 0x2c
cmp esi, edi
jne 0x101f1200
mov ebx, dword [esp + 0x24]
mov ebx, dword [ebx]
mov esi, 1
mov edi, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
cmp ebx, dword [esp + 0x90]
jne 0x101f0770
mov ecx, dword [esp + 0x130]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.10257318
mov esp, ebp
pop ebp
ret 0x10