Function at 0x45ecb0
Capabilities:
Hash data using fnv
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a4112
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x138
push esi
push edi
xor edi, edi
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x14], edi
xorps xmm0, xmm0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], edi
mov esi, edx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
mov dword [ebp - 4], edi
mov eax, dword [esi]
push eax
mov byte [ebp - 0x9c], 0
movq qword [ebp - 0x9b], xmm0
mov dword [ebp - 0x93], edi
mov word [ebp - 0x8f], di
mov byte [ebp - 0x8d], 0
movups xmmword [ebp - 0x10c], xmm0
mov dword [ebp - 0xf4], edi
movq qword [ebp - 0xfc], xmm0
call dword [sym.imp.WS2_32.dll_ntohl]
push dword [esi + 4]
mov dword [ebp - 0x20], eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [esi + 0x19]
push ecx
mov dword [ebp - 0x4c], eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [esi + 0x1d]
push ecx
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [esi + 0x21]
push ecx
mov dword [ebp - 0x54], eax
call dword [sym.imp.WS2_32.dll_ntohl]
movzx ecx, word [esi + 0x25]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
mov eax, dword [esi + 0x27]
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov eax, dword [esi + 0x2b]
add esi, 0x2f
push eax
mov dword [ebp - 0x58], esi
call dword [sym.imp.WS2_32.dll_ntohl]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x45f532
mov ecx, dword [ebp - 0x54]
call fcn.0045aff0
test eax, eax
jne 0x45edde
push 0xc
call fcn.004622fd
mov edx, dword [ebp - 0x20]
mov esi, eax
mov ecx, dword [ebp - 0x3c]
push esi
push dword [ebp - 0x1c]
mov dword [esi], edi
push 0x4bec1c
push dword [ebp - 0x4c]
mov dword [esi + 8], edi
mov dword [esi + 4], edi
call fcn.0045f5a0
push esi
call fcn.00462046
add esp, 0x18
jmp 0x45f532
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, 0xc
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004622fd
add esp, 4
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x5c], 0
jle 0x45f4db
add eax, 4
mov dword [ebp - 0x18], eax
movzx eax, word [esi]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + 2]
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [ebp - 0x18]
mov dword [ecx - 4], eax
mov eax, dword [esi + 6]
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
push dword [esi + 0xa]
call dword [sym.imp.WS2_32.dll_ntohl]
mov esi, dword [ebp - 0x18]
mov edx, dword [esi - 4]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x40], edx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
movzx eax, al
imul ecx, ecx, 0x1000193
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.0045fba0
mov edx, dword [0x4d2dbc]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x4d2dbc]
je 0x45f551
mov eax, dword [edx + 0xc]
test eax, eax
je 0x45f551
mov ecx, dword [esi]
mov eax, dword [eax + 4]
add ecx, ecx
mov esi, dword [ebp - 0x3c]
push 0
mov edx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x40], edx
mov edx, dword [eax + ecx*8 + 8]
mov eax, dword [eax + ecx*8 + 0xc]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x10]
push eax
push 0xffffffffffffffff
push str.SELECT_SuperMoney_Money_FROM_BaseInfo__WHERE_Uin__
push dword [esi + 0x1a0]
mov dword [ebp - 0x44], edx
call dword [sym.imp.sqlite3.dll_sqlite3_prepare_v2]
add esp, 0x14
test eax, eax
jne 0x45ef50
push dword [ebp - 0x20]
push 1
push dword [ebp - 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_bind_int]
push dword [ebp - 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_step]
add esp, 0x10
cmp eax, 0x64
jne 0x45ef50
push 0
push dword [ebp - 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_column_int]
push 1
push dword [ebp - 0x10]
mov dword [esi + 0x128], eax
call dword [sym.imp.sqlite3.dll_sqlite3_column_int]
add esp, 0x10
mov dword [esi + 0x130], eax
push dword [ebp - 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_finalize]
mov eax, dword [esi + 0x128]
add esp, 4
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x10], 0
js 0x45f28a
mov ecx, esi
mov dword [esi + 0x128], eax
call fcn.0045eba0
push 0
lea eax, [ebp - 0x10]
push eax
push 0xffffffffffffffff
push str.UPDATE_BaseInfo_SET_SuperMoney__WHERE_Uin__
push dword [0x4d1304]
call dword [sym.imp.sqlite3.dll_sqlite3_prepare_v2]
add esp, 0x14
test eax, eax
jne 0x45efca
push dword [esi + 0x128]
push 1
push dword [ebp - 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_bind_int]
push dword [ebp - 0x20]
push 2
push dword [ebp - 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_bind_int]
push dword [ebp - 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_step]
add esp, 0x1c
push dword [ebp - 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_finalize]
mov eax, dword [ebp - 0x18]
mov ecx, esi
mov edx, dword [ebp - 0x54]
push 0
push dword [ebp - 0xa0]
mov dword [ebp - 0x10], 0
push dword [ebp - 0x44]
push dword [eax - 4]
call fcn.00412360
mov dword [ebp - 0x108], eax
mov edx, 1
mov eax, dword [ebp - 0x18]
mov ecx, esi
mov eax, dword [eax - 4]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x18], eax
lea eax, [ebp - 0x10c]
push eax
call fcn.0044fd30
push 0xa
push 0x10
lea eax, [ebp - 0x9c]
push eax
push dword [ebp - 0x40]
call fcn.00485c66
add esp, 0x28
mov byte [ebp - 4], 1
mov eax, 0x7fffffff
mov ecx, dword [ebp - 0x28]
sub eax, ecx
cmp eax, 0x1d
jb 0x45f595
cmp dword [ebp - 0x24], 0xf
lea eax, [ebp - 0x38]
push 0x1d
cmova eax, dword [ebp - 0x38]
push 0x4bed08
push ecx
push eax
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x50]
lea ecx, [ebp - 0x12c]
call fcn.00444330
or edi, 1
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 2
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00408350
mov dword [ebp - 0x64], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x60], 0
or edi, 2
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x74], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x64], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x60]
mov eax, edx
mov ecx, dword [ebp - 0x64]
sub eax, ecx
mov dword [ebp - 0x44], ecx
push 0x4f
push 0x4becb8
cmp eax, 0x4f
jb 0x45f112
cmp edx, 0xf
lea esi, [ebp - 0x74]
lea eax, [ecx + 0x4f]
cmova esi, dword [ebp - 0x74]
mov dword [ebp - 0x64], eax
lea eax, [esi + ecx]
push eax
call fcn.004760e0
mov eax, dword [ebp - 0x44]
add esp, 0xc
mov byte [esi + eax + 0x4f], 0
lea eax, [ebp - 0x74]
jmp 0x45f129
mov byte [ebp - 0xa4], 0
lea ecx, [ebp - 0x74]
push dword [ebp - 0xa4]
push 0x4f
call fcn.0040c0d0
movups xmm0, xmmword [eax]
mov dword [ebp - 0xb8], 0
lea ecx, [ebp - 0x38]
mov dword [ebp - 0xb4], 0
or edi, 4
movups xmmword [ebp - 0xc8], xmm0
movups xmmword [ebp - 0xf0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xb8], xmm0
movq qword [ebp - 0x48], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x14], edi
call fcn.004099e0
movups xmm0, xmmword [ebp - 0xf0]
and edi, 0xfffffffb
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
movups xmmword [ebp - 0x38], xmm0
mov byte [ebp - 0xc8], 0
movq xmm0, qword [ebp - 0x48]
movq qword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 2
and edi, 0xfffffffd
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x60]
cmp ecx, 0xf
jbe 0x45f212
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45f208
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f590
push ecx
push edx
call fcn.0046207b
add esp, 8
and edi, 0xfffffffe
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x12c]
call fcn.004099e0
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x38]
mov edx, dword [ebp - 0x28]
mov eax, esi
sub eax, edx
cmp eax, 1
jb 0x45f26a
cmp esi, 0xf
lea eax, [edx + 1]
mov dword [ebp - 0x28], eax
cmova ecx, dword [ebp - 0x38]
mov al, byte [0x4ba068]
mov byte [ecx + edx], al
mov byte [ecx + edx + 1], 0
jmp 0x45f4bb
push 1
push 0x4ba068
mov byte [ebp - 0xa8], 0
push dword [ebp - 0xa8]
push 1
call fcn.0040c0d0
jmp 0x45f4bb
push 0xa
push 0x10
lea ecx, [ebp - 0x9c]
neg eax
push ecx
push eax
call fcn.00485c66
add esp, 0x10
mov byte [ebp - 4], 4
mov eax, 0x7fffffff
mov ecx, dword [ebp - 0x28]
sub eax, ecx
cmp eax, 0x23
jb 0x45f595
cmp dword [ebp - 0x24], 0xf
lea eax, [ebp - 0x38]
push 0x23
cmova eax, dword [ebp - 0x38]
push 0x4bed34
push ecx
push eax
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x50]
lea ecx, [ebp - 0x144]
call fcn.00444330
or edi, 8
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 5
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x144]
call fcn.00408350
mov dword [ebp - 0x7c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x8c], xmm0
mov dword [ebp - 0x78], 0
or edi, 0x10
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x8c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x7c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x78]
mov eax, edx
mov ecx, dword [ebp - 0x7c]
sub eax, ecx
mov dword [ebp - 0x44], ecx
push 0xa
push str._C00_
cmp eax, 0xa
jb 0x45f38b
cmp edx, 0xf
lea esi, [ebp - 0x8c]
lea eax, [ecx + 0xa]
cmova esi, dword [ebp - 0x8c]
mov dword [ebp - 0x7c], eax
lea eax, [esi + ecx]
push eax
call fcn.004760e0
mov eax, dword [ebp - 0x44]
add esp, 0xc
mov byte [esi + eax + 0xa], 0
lea eax, [ebp - 0x8c]
jmp 0x45f3a5
mov byte [ebp - 0xac], 0
lea ecx, [ebp - 0x8c]
push dword [ebp - 0xac]
push 0xa
call fcn.0040c0d0
movups xmm0, xmmword [eax]
mov dword [ebp - 0xd0], 0
lea ecx, [ebp - 0x38]
mov dword [ebp - 0xcc], 0
or edi, 0x20
movups xmmword [ebp - 0xe0], xmm0
movups xmmword [ebp - 0xf0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xd0], xmm0
movq qword [ebp - 0x48], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x14], edi
call fcn.004099e0
movups xmm0, xmmword [ebp - 0xf0]
and edi, 0xffffffdf
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0xf
movups xmmword [ebp - 0x38], xmm0
mov byte [ebp - 0xe0], 0
movq xmm0, qword [ebp - 0x48]
movq qword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 5
and edi, 0xffffffef
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], 0
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x78]
cmp ecx, 0xf
jbe 0x45f491
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45f487
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f590
push ecx
push edx
call fcn.0046207b
add esp, 8
and edi, 0xfffffff7
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x144]
call fcn.004099e0
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
inc eax
add esi, dword [ebp - 0xb0]
add dword [ebp - 0x18], 0xc
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x5c], eax
cmp eax, dword [ebp - 0x1c]
jl 0x45ee14
movzx eax, word [esi]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov eax, dword [esi + 2]
mov edi, dword [sym.imp.WS2_32.dll_ntohl]
push eax
call edi
mov eax, dword [esi + 6]
push eax
call edi
mov eax, dword [esi + 0xa]
push eax
call edi
mov eax, dword [esi + 0xe]
push eax
call edi
push dword [esi + 0x12]
call edi
cmp dword [ebp - 0x24], 0xf
lea eax, [ebp - 0x38]
mov esi, dword [ebp - 0x50]
cmova eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x3c]
push esi
push dword [ebp - 0x1c]
push eax
push dword [ebp - 0x4c]
call fcn.0045f5a0
push esi
call fcn.00462046
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.004099e0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0xc
call fcn.004622fd
mov edx, dword [ebp - 0x20]
mov esi, eax
mov ecx, dword [ebp - 0x3c]
push esi
push dword [ebp - 0x1c]
mov dword [esi], 0
push 0x4bec40
push dword [ebp - 0x4c]
mov dword [esi + 8], 0
mov dword [esi + 4], 0
call fcn.0045f5a0
push esi
call fcn.00462046
add esp, 0x18
jmp 0x45f532
call fcn.00480419
call fcn.00403b70
int3