Function at 0x10069b70
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1011e0cd
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x101c7100]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
cmp byte [0x101ce08a], 0
je 0x1006a556
xor al, al
mov dword [ebp - 0x88], 0
mov byte [ebp - 0x69], al
xorps xmm0, xmm0
mov byte [ebp - 0x76], al
mov byte [ebp - 0xa8], al
mov byte [ebp - 0xa4], al
mov byte [ebp - 0xa0], al
mov byte [ebp - 0x9c], al
xor eax, eax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
mov byte [ebp - 0x6b], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov word [ebp - 0x50], ax
mov byte [ebp - 0x4e], al
mov word [ebp - 0x4c], ax
mov byte [ebp - 0x4a], al
mov word [ebp - 0x48], ax
mov byte [ebp - 0x46], al
mov word [ebp - 0x44], ax
mov byte [ebp - 0x42], al
mov word [ebp - 0x58], ax
mov byte [ebp - 0x56], al
mov byte [ebp - 0x6a], al
mov byte [ebp - 0x71], al
mov byte [ebp - 0x90], al
mov byte [ebp - 0x8c], al
mov byte [ebp - 0xb0], al
mov byte [ebp - 0xac], al
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x74], 3
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x14], eax
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x38], eax
call fcn.100ba860
lea ecx, [ebp + 8]
push 1
push 0x10
test al, al
je 0x10069c9c
lea eax, [ebp - 0x70]
push eax
call fcn.100ba600
test al, al
je 0x10069ca8
mov al, byte [ebp - 0x6f]
mov byte [ebp - 0x88], al
mov al, byte [ebp - 0x70]
mov byte [ebp - 0x87], al
jmp 0x10069ca8
lea eax, [ebp - 0x88]
push eax
call fcn.100ba600
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp + 8]
call fcn.1006b590
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp + 8]
call fcn.1006b590
push 1
push 8
lea eax, [ebp - 0x6b]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
mov edx, dword [ebp + 0x10]
lea esi, [edx + 1]
cmp esi, dword [ebp + 8]
jg 0x10069d12
mov ecx, edx
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x10069cf0
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, dword [ebp + 0x14]
sar edx, 3
mov dl, byte [eax + edx]
mov eax, 0x80
sar eax, cl
mov dword [ebp + 0x10], esi
test dl, al
je 0x10069d0d
mov byte [ebp - 0x69], 1
jmp 0x10069d12
xor al, al
mov byte [ebp - 0x69], al
push 1
push 8
lea eax, [ebp - 0x76]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
push 1
push 8
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
push 1
push 8
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
push 1
push 8
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
push 1
push 8
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
xor esi, esi
mov edx, dword [ebp + 0x10]
lea edi, [edx + 1]
cmp edi, dword [ebp + 8]
jg 0x10069dad
mov ecx, edx
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x10069d8a
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, dword [ebp + 0x14]
sar edx, 3
mov dl, byte [eax + edx]
mov eax, 0x80
sar eax, cl
mov dword [ebp + 0x10], edi
test dl, al
je 0x10069da8
mov byte [ebp + esi - 0x5c], 1
jmp 0x10069dad
mov byte [ebp + esi - 0x5c], 0
push 1
lea eax, [ebp - 0x68]
push 8
add eax, esi
lea ecx, [ebp + 8]
push eax
call fcn.100ba600
push 1
lea eax, [ebp - 0x64]
push 8
add eax, esi
lea ecx, [ebp + 8]
push eax
call fcn.100ba600
push 1
lea eax, [ebp - 0x60]
push 8
add eax, esi
lea ecx, [ebp + 8]
push eax
call fcn.100ba600
inc esi
cmp esi, 4
jl 0x10069d70
xor esi, esi
nop dword [eax + eax]
push 1
lea eax, [ebp - 0x50]
push 8
add eax, esi
lea ecx, [ebp + 8]
push eax
call fcn.100ba600
push 1
lea eax, [ebp - 0x4c]
push 8
add eax, esi
lea ecx, [ebp + 8]
push eax
call fcn.100ba600
push 1
lea eax, [ebp - 0x48]
push 8
add eax, esi
lea ecx, [ebp + 8]
push eax
call fcn.100ba600
push 1
lea eax, [ebp - 0x44]
push 8
add eax, esi
lea ecx, [ebp + 8]
push eax
call fcn.100ba600
inc esi
cmp esi, 3
jl 0x10069df0
push 1
push 8
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
push 1
push 8
lea eax, [ebp - 0x57]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
push 1
push 8
lea eax, [ebp - 0x56]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
xor esi, esi
push 1
lea eax, [ebp - 0x34]
push 8
add eax, esi
lea ecx, [ebp + 8]
push eax
call fcn.100ba600
inc esi
cmp esi, 4
jl 0x10069e70
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
lea eax, [edx + 1]
mov dword [ebp - 0x7c], eax
cmp eax, edi
jg 0x10069ecf
mov ecx, edx
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x10069ea7
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, dword [ebp + 0x14]
mov esi, 0x80
sar edx, 3
mov dl, byte [eax + edx]
mov eax, esi
sar eax, cl
test dl, al
mov edx, dword [ebp - 0x7c]
mov dword [ebp + 0x10], edx
je 0x10069ec9
mov byte [ebp - 0x6a], 1
jmp 0x10069ed4
mov byte [ebp - 0x6a], 0
jmp 0x10069ed4
mov esi, 0x80
lea eax, [edx + 1]
mov dword [ebp - 0x7c], eax
cmp eax, edi
jg 0x10069f0c
mov ecx, edx
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x10069eed
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, dword [ebp + 0x14]
sar edx, 3
mov byte [ebp - 0x71], 1
mov dl, byte [eax + edx]
mov eax, esi
sar eax, cl
test dl, al
mov edx, dword [ebp - 0x7c]
mov dword [ebp + 0x10], edx
jne 0x10069f0c
mov byte [ebp - 0x71], 0
lea eax, [edx + 1]
mov dword [ebp - 0x7c], eax
cmp eax, edi
jg 0x10069f4a
mov ecx, edx
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x10069f25
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, dword [ebp + 0x14]
sar edx, 3
mov byte [ebp - 0x90], 1
mov dl, byte [eax + edx]
mov eax, esi
sar eax, cl
test dl, al
mov edx, dword [ebp - 0x7c]
mov dword [ebp + 0x10], edx
jne 0x10069f4a
mov byte [ebp - 0x90], 0
lea eax, [edx + 1]
mov dword [ebp - 0x7c], eax
cmp eax, edi
jg 0x10069f88
mov ecx, edx
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x10069f63
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, dword [ebp + 0x14]
sar edx, 3
mov byte [ebp - 0x8c], 1
mov dl, byte [eax + edx]
mov eax, esi
sar eax, cl
test dl, al
mov eax, dword [ebp - 0x7c]
mov dword [ebp + 0x10], eax
jne 0x10069f88
mov byte [ebp - 0x8c], 0
push 1
push 8
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
push 1
push 8
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
lea edx, [eax + 1]
cmp edx, ecx
jg 0x10069fc0
mov eax, edx
mov dword [ebp + 0x10], eax
lea edx, [eax + 1]
cmp edx, ecx
jg 0x10069fcc
mov eax, edx
mov dword [ebp + 0x10], eax
lea edx, [eax + 1]
cmp edx, ecx
jg 0x10069fd8
mov eax, edx
mov dword [ebp + 0x10], eax
inc eax
cmp eax, ecx
jg 0x10069fe0
mov dword [ebp + 0x10], eax
push 1
push 8
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
mov edx, dword [ebp + 0x10]
lea esi, [edx + 1]
cmp esi, dword [ebp + 8]
jg 0x1006a0a3
mov ecx, edx
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x1006a00e
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, dword [ebp + 0x14]
sar edx, 3
mov al, byte [eax + edx]
mov edx, 0x80
sar edx, cl
mov dword [ebp + 0x10], esi
test al, dl
je 0x1006a0a3
mov byte [ebp - 0x75], 1
lea esi, [ebp - 0x2c]
mov edi, 0xe
call fcn.100ba860
lea ecx, [ebp + 8]
push 1
push 0x10
test al, al
je 0x1006a05f
lea eax, [ebp - 0x70]
push eax
call fcn.100ba600
test al, al
je 0x1006a065
mov al, byte [ebp - 0x6f]
mov byte [esi], al
mov al, byte [ebp - 0x70]
mov byte [esi + 1], al
jmp 0x1006a065
push esi
call fcn.100ba600
add esi, 2
sub edi, 1
jne 0x1006a035
call fcn.100ba860
lea ecx, [ebp + 8]
push 1
push 0x10
test al, al
je 0x1006a098
lea eax, [ebp - 0x70]
push eax
call fcn.100ba600
test al, al
je 0x1006a0c0
mov al, byte [ebp - 0x6f]
mov byte [ebp - 0x38], al
mov al, byte [ebp - 0x70]
mov byte [ebp - 0x37], al
jmp 0x1006a0c0
lea eax, [ebp - 0x38]
push eax
call fcn.100ba600
jmp 0x1006a0c0
xor eax, eax
cmp eax, 0x1c
jae 0x1006a58b
xor ecx, ecx
mov word [ebp + eax - 0x2c], cx
add eax, 2
cmp eax, 0x1c
jl 0x1006a0a8
mov byte [ebp - 0x75], cl
mov si, word [ebp - 0x88]
movzx eax, si
mov dword [ebp - 0x84], eax
movzx eax, byte [ebp - 0x88]
xor eax, 0x811c9dc5
mov dword [ebp - 0x7c], 0
imul ecx, eax, 0x1000193
movzx eax, si
shr eax, 8
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.100b4e30
mov edx, dword [0x10829184]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x10829184]
je 0x1006a124
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x7c], eax
mov dl, byte [ebp - 0x6b]
mov ecx, dword [ebp - 0x88]
push 0
call fcn.100a3e70
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
nop dword [eax]
mov dl, byte [ebp + ecx - 0x60]
mov dh, byte [ebp + ecx - 0x64]
movzx eax, si
mov dword [ebp - 0x84], eax
mov al, byte [ebp + ecx - 0x68]
mov byte [ebp - 0x6b], al
mov al, byte [ebp + ecx - 0x5c]
mov byte [ebp - 0x72], dl
mov byte [ebp - 0x73], dh
mov byte [ebp - 0x6f], al
cmp cl, 3
ja 0x1006a212
movzx eax, si
test ax, ax
jne 0x1006a1b9
push 0
push 0
mov eax, 0x56e0d0
call eax
push eax
call sym.myhome_samp.asi_OptimizeSampPools__get_vehicle_id
movzx ecx, ax
add esp, 0xc
cmp cx, 1
jl 0x1006a19d
mov eax, 0x7d0
cmp cx, ax
jl 0x1006a19f
xor ecx, ecx
mov dl, byte [ebp - 0x72]
mov dh, byte [ebp - 0x73]
movzx eax, cx
mov dword [ebp - 0x84], eax
movzx eax, cx
mov ecx, dword [ebp - 0x3c]
test ax, ax
je 0x1006a212
mov al, byte [ebp - 0x6b]
cmp dl, 0xff
jne 0x1006a1d2
cmp al, dl
jne 0x1006a1cb
cmp dh, dl
jne 0x1006a1d0
jmp 0x1006a1de
cmp dh, 0xff
jne 0x1006a1e4
mov dl, 0xfe
cmp al, 0xff
jne 0x1006a1e4
cmp dh, al
jne 0x1006a1e4
cmp dl, al
jne 0x1006a1e4
mov dl, 0xfe
mov dh, dl
mov al, dh
mov byte [ebp - 0x80], al
mov al, byte [ebp - 0x6f]
neg al
mov byte [ebp - 0x7f], dh
mov byte [ebp - 0x7e], dl
sbb al, al
mov byte [ebp - 0x7d], al
lea eax, [ebp - 0x84]
push eax
call fcn.100b17e0
mov ecx, dword [ebp - 0x3c]
movzx edx, cl
mov ecx, dword [ebp - 0x80]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0x3c]
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 4
jl 0x1006a140
xor ecx, ecx
mov dword [ebp - 0x80], ecx
lea edi, [ecx + 0x65]
nop word [eax + eax]
mov dl, byte [ebp + ecx - 0x44]
mov dh, byte [ebp + ecx - 0x48]
movzx eax, si
mov dword [ebp - 0x84], eax
mov al, byte [ebp + ecx - 0x4c]
mov byte [ebp - 0x6b], al
mov al, byte [ebp + ecx - 0x50]
mov byte [ebp - 0x72], al
movzx eax, si
mov byte [ebp - 0x6f], dl
mov byte [ebp - 0x73], dh
test ax, ax
jne 0x1006a2a0
push 0
push 0
mov eax, 0x56e0d0
call eax
push eax
call sym.myhome_samp.asi_OptimizeSampPools__get_vehicle_id
movzx ecx, ax
add esp, 0xc
cmp cx, 1
jl 0x1006a284
mov eax, 0x7d0
cmp cx, ax
jl 0x1006a286
xor ecx, ecx
mov dl, byte [ebp - 0x6f]
mov dh, byte [ebp - 0x73]
movzx eax, cx
mov dword [ebp - 0x84], eax
movzx eax, cx
mov ecx, dword [ebp - 0x80]
test ax, ax
je 0x1006a2d7
mov cl, byte [ebp - 0x72]
cmp dl, 0x65
movzx eax, dl
cmovb eax, edi
mov byte [ebp - 0x3c], cl
mov cl, byte [ebp - 0x6b]
mov byte [ebp - 0x39], al
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 0x3b], cl
mov byte [ebp - 0x3a], dh
call fcn.100b1650
mov ecx, dword [ebp - 0x80]
movzx edx, cl
mov ecx, dword [ebp - 0x3c]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebp - 0x80]
inc ecx
mov dword [ebp - 0x80], ecx
cmp ecx, 3
jl 0x1006a230
mov edi, dword [ebp - 0x88]
mov edx, edi
mov cl, byte [ebp - 0x74]
call fcn.100a0290
movss xmm0, dword [ebp - 0x94]
xorps xmm2, xmm2
movss xmm1, dword [ebp - 0x98]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1006a319
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x1006a322
mov dl, 1
mov ecx, edi
call fcn.100a0300
cmp byte [ebp - 0x75], 0
je 0x1006a366
xor esi, esi
nop word [eax + eax]
movzx eax, word [ebp + esi*2 - 0x2c]
test ax, ax
je 0x1006a348
push 1
mov ecx, eax
mov edx, edi
call fcn.100a15b0
add esp, 4
inc esi
cmp esi, 0xe
jl 0x1006a330
mov ax, word [ebp - 0x38]
test ax, ax
je 0x1006a366
push 1
movzx ecx, ax
mov edx, edi
call fcn.100a15b0
add esp, 4
mov al, byte [ebp - 0x69]
test al, al
je 0x1006a393
mov dl, byte [ebp - 0x76]
mov cl, al
push edi
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
call fcn.100a1e00
add esp, 0x14
mov dl, byte [ebp - 0x57]
mov cl, byte [ebp - 0x58]
push edi
push dword [ebp - 0x56]
call fcn.100a21d0
mov dl, byte [ebp - 0x33]
mov cl, byte [ebp - 0x34]
push edi
push dword [ebp - 0x31]
push dword [ebp - 0x32]
call fcn.100a2500
mov dl, byte [ebp - 0x71]
mov cl, byte [ebp - 0x6a]
push edi
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
call fcn.100a31c0
mov eax, dword [ebp + 8]
add esp, 0x28
sub eax, dword [ebp + 0x10]
cmp eax, 8
jl 0x1006a556
push 1
push 8
lea eax, [ebp - 0x6a]
mov byte [ebp - 0x6a], 0
xorps xmm0, xmm0
lea ecx, [ebp + 8]
push eax
movlpd qword [ebp - 0x34], xmm0
call fcn.100ba600
mov al, byte [ebp - 0x6a]
mov byte [ebp - 0x69], 1
movzx esi, al
test al, al
je 0x1006a556
push 1
push 8
lea eax, [ebp - 0x6f]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
push 1
push 8
lea eax, [ebp - 0x33]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
mov cl, byte [ebp - 0x6f]
movzx eax, cl
dec eax
cmp eax, 0x23
ja case.default.0x1006a44b
movzx eax, byte [eax + 0x1006a5a0]
jmp dword [eax*4 + 0x1006a590]
mov al, 2
jmp 0x1006a464
mov al, 3
jmp 0x1006a464
mov al, 1
jmp 0x1006a464
mov al, 4
jmp 0x1006a464
xor al, al
mov byte [ebp - 0x33], al
movzx eax, al
dec eax
mov byte [ebp - 0x34], cl
cmp eax, 3
ja case.default.0x1006a477
jmp dword [eax*4 + 0x1006a5c4]
push 1
push 8
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp + 8]
call fcn.100ba600
mov byte [ebp - 0x69], al
jmp 0x1006a526
call fcn.100ba860
lea ecx, [ebp + 8]
push 1
push 0x20
test al, al
je 0x1006a4d9
lea eax, [ebp - 0x38]
push eax
call fcn.100ba600
test al, al
je 0x1006a4d2
mov al, byte [ebp - 0x35]
mov byte [ebp - 0x30], al
mov al, byte [ebp - 0x36]
mov byte [ebp - 0x2f], al
mov al, byte [ebp - 0x37]
mov byte [ebp - 0x2e], al
mov al, byte [ebp - 0x38]
mov byte [ebp - 0x2d], al
mov al, 1
mov byte [ebp - 0x69], al
jmp 0x1006a526
xor al, al
mov byte [ebp - 0x69], al
jmp 0x1006a526
lea eax, [ebp - 0x30]
push eax
call fcn.100ba600
mov byte [ebp - 0x69], al
jmp 0x1006a526
call fcn.100ba860
lea ecx, [ebp + 8]
push 1
push 0x20
test al, al
je 0x1006a4d9
lea eax, [ebp - 0x3c]
push eax
call fcn.100ba600
test al, al
je 0x1006a4d2
mov al, byte [ebp - 0x39]
mov byte [ebp - 0x30], al
mov al, byte [ebp - 0x3a]
mov byte [ebp - 0x2f], al
mov al, byte [ebp - 0x3b]
mov byte [ebp - 0x2e], al
mov al, byte [ebp - 0x3c]
mov byte [ebp - 0x2d], al
mov al, 1
mov byte [ebp - 0x69], al
jmp 0x1006a526
mov al, byte [ebp - 0x69]
test al, al
je 0x1006a53a
push dword [ebp - 0x30]
mov ecx, edi
push dword [ebp - 0x34]
call fcn.10079b50
add esp, 8
sub esi, 1
jne 0x1006a418
mov al, byte [ebp - 0x6a]
test al, al
je 0x1006a556
cmp dword [ebp - 0x7c], esi
je 0x1006a556
mov ecx, edi
call fcn.10079830
cmp byte [ebp + 0x18], 0
je 0x1006a570
cmp dword [ebp + 0xc], 0x800
jle 0x1006a570
push dword [ebp + 0x14]
call fcn.100fcb2a
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100eaab6
mov esp, ebp
pop ebp
ret
call fcn.100eaccc
pop edx
movsb byte es:[edi], byte [esi]
push es
adc byte [edx - 0x5c], dl
push es
adc byte [esi - 0x5c], dl
push es
adc byte [esi - 0x5c], bl
push es
adc byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add al, byte [ecx]
add dword [ecx], eax
add al, byte [ecx]
add dword [ecx], eax
add al, byte [edx]
add dword [ecx], eax
add al, byte [ecx]
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add eax, dword [ebx]
add al, byte [edx]
add dl, byte [esi - 418380124]
movsb byte es:[edi], byte [esi]
push es
adc byte [esi - 0x5c], bh
push es
adc byte [esi - 0x33eff95c], dl
int3