Function at 0x45fc10
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
push ebx
push esi
push edi
mov edi, edx
mov dword [esp + 0x20], ecx
mov al, byte [edi]
inc edi
movzx esi, al
lea eax, [esi + 1]
push eax
call fcn.004622fd
add esp, 4
mov ebx, eax
push esi
push edi
push ebx
call fcn.004760e0
add edi, esi
mov byte [ebx + esi], 0
add esp, 0xc
movzx esi, byte [edi]
inc edi
lea eax, [esi + 1]
push eax
call fcn.004622fd
add esp, 4
mov dword [esp + 0x1c], eax
push esi
push edi
push eax
call fcn.004760e0
mov eax, dword [esp + 0x28]
add edi, esi
add esp, 0xc
mov byte [eax + esi], 0
movzx esi, byte [edi]
inc edi
lea eax, [esi + 1]
push eax
call fcn.004622fd
add esp, 4
mov dword [esp + 0x18], eax
push esi
push edi
push eax
call fcn.004760e0
mov eax, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x10], 0
mov byte [eax + esi], 0
xor esi, esi
push esi
lea eax, [esp + 0x14]
push eax
push 0xffffffffffffffff
push str.SELECT_Uin__Password__FROM_User__WHERE_Name__
push dword [0x4d1308]
call dword [sym.imp.sqlite3.dll_sqlite3_prepare_v2]
add esp, 0x14
test eax, eax
jne 0x45fd13
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fcd0
push 0xffffffffffffffff
sub ecx, edx
push ecx
push ebx
push 1
push dword [esp + 0x20]
call dword [sym.imp.sqlite3.dll_sqlite3_bind_text]
add esp, 0x14
push dword [esp + 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_step]
add esp, 4
cmp eax, 0x64
jne 0x45fd13
push 0
push dword [esp + 0x14]
call dword [sym.imp.sqlite3.dll_sqlite3_column_int]
add esp, 8
lea esi, [eax + 0x2710]
push dword [esp + 0x10]
mov edi, dword [sym.imp.sqlite3.dll_sqlite3_finalize]
call edi
add esp, 4
test esi, esi
je 0x45ff44
push 0
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push 0xffffffffffffffff
push str.SELECT_IsBan__FROM_User__WHERE_Name__
push dword [0x4d1308]
mov dword [esp + 0x28], 0
call dword [sym.imp.sqlite3.dll_sqlite3_prepare_v2]
add esp, 0x14
test eax, eax
jne 0x45fda1
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fd60
push 0xffffffffffffffff
sub ecx, edx
push ecx
push ebx
push 1
push dword [esp + 0x20]
call dword [sym.imp.sqlite3.dll_sqlite3_bind_text]
add esp, 0x14
push dword [esp + 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_step]
add esp, 4
cmp eax, 0x64
jne 0x45fda1
push 0
push dword [esp + 0x14]
call dword [sym.imp.sqlite3.dll_sqlite3_column_int]
add esp, 8
mov dword [esp + 0x14], eax
push dword [esp + 0x10]
call edi
add esp, 4
cmp dword [esp + 0x14], 0
je 0x45fe53
push 1
call dword [sym.imp.WS2_32.dll_htons]
push 0
mov word [esp + 0x2c], ax
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [esp + 0x20]
mov edx, 3
movups xmm0, xmmword [0x4bed58]
mov dword [esp + 0x2a], eax
mov eax, dword [0x4bed70]
mov dword [esp + 0x47], eax
mov ax, word [0x4bed74]
push 1
mov word [esp + 0x4f], ax
movzx eax, word [ecx + 0x10]
push 1
push eax
movzx eax, word [ecx + 0x36]
push 3
push eax
movups xmmword [esp + 0x43], xmm0
lea eax, [esp + 0x3c]
mov byte [esp + 0x42], 0x1e
movq xmm0, qword [0x4bed68]
push 0x25
push eax
movq qword [esp + 0x5b], xmm0
call fcn.00437370
add esp, 0x1c
push ebx
push ecx
push 0x4bed78
push 0x4d0258
call fcn.0040ae50
add esp, 0xc
push eax
call fcn.0040ae50
push eax
call fcn.00412d50
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x1c]
mov ecx, esi
call fcn.00412220
test eax, eax
jne 0x45fe6f
mov dword [esp + 0x14], 0x4bed9c
jmp 0x45ff4c
xor edi, edi
mov dword [esp + 0x14], str.success
push edi
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edi
push eax
push 0xffffffffffffffff
push str.UPDATE_User_SET_Password____WHERE_Uin____
push dword [0x4d1308]
call dword [sym.imp.sqlite3.dll_sqlite3_prepare_v2]
add esp, 0x14
test eax, eax
jne 0x45fef1
mov edx, dword [esp + 0x18]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45feb0
sub ecx, dword [esp + 0x24]
push 0xffffffffffffffff
push ecx
push edx
push 1
push dword [esp + 0x20]
call dword [sym.imp.sqlite3.dll_sqlite3_bind_text]
add esp, 0x14
lea eax, [esi - 0x2710]
push eax
push 2
push dword [esp + 0x18]
call dword [sym.imp.sqlite3.dll_sqlite3_bind_int]
add esp, 0xc
push dword [esp + 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_step]
add esp, 4
push dword [esp + 0x10]
call dword [sym.imp.sqlite3.dll_sqlite3_finalize]
add esp, 4
mov dword [esp + 0x10], edi
push dword [esp + 0x18]
push ecx
push 0x4bedf0
push ecx
push ebx
push ecx
push 0x4bedfc
push 0x4d0258
call fcn.0040ae50
add esp, 0xc
push eax
call fcn.0040ae50
add esp, 0xc
push eax
call fcn.0040ae50
add esp, 0xc
push eax
call fcn.0040ae50
push eax
call fcn.00412d50
add esp, 0xc
jmp 0x45ff51
mov dword [esp + 0x14], 0x4bee24
mov edi, 1
push ebx
call fcn.00462046
add esp, 4
push dword [esp + 0x1c]
call fcn.00462046
add esp, 4
push dword [esp + 0x18]
call fcn.00462046
mov ecx, dword [esp + 0x24]
add esp, 4
mov edx, esi
push edi
push dword [esp + 0x18]
call fcn.0045ff90
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret