Function at 0x406760
Capabilities:
Hash data with md5
Reference sql statements

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42cea0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x150
mov eax, dword [0x43f014]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14c], edx
mov esi, ecx
mov dword [ebp - 0x154], esi
movzx eax, word [esi + 4]
lea edi, [esi + 6]
movq xmm0, qword [edi]
mov word [ebp - 0x64], ax
movzx eax, word [edi + 8]
mov word [ebp - 0x5a], ax
mov al, byte [edi + 0xa]
mov byte [ebp - 0x58], al
xor eax, eax
mov word [ebp - 0x68], 0x24c1
mov byte [ebp - 0x66], 1
movq qword [ebp - 0x62], xmm0
mov byte [ebp - 0x49], 1
mov cl, byte [edi + eax]
cmp cl, 0x20
je 0x4070fa
cmp cl, 0x22
je 0x4070fa
cmp cl, 0x27
je 0x4070fa
inc eax
cmp eax, 0xb
jl 0x4067e1
mov esi, dword [0x43fb00]
cmp esi, dword [0x43fb04]
je 0x406830
push esi
push edi
call fcn.0040d740
add esp, 8
test eax, eax
jne 0x4068da
add esi, 0x20
cmp esi, dword [0x43fb04]
jne 0x406813
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x150], esp
push 0xd
push str._a_zA_Z0_9___
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00402ca0
sub esp, 0x18
mov dword [ebp - 4], 0
mov edx, esp
mov ecx, edi
mov dword [edx], 0
lea esi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406880
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402ca0
push 0
mov dword [ebp - 4], 0xffffffff
call fcn.00405030
test al, al
jne 0x406907
cmp dword [0x50cd18], 1
jne 0x406907
movzx eax, byte [ebp - 0x67]
push eax
lea eax, [ebp - 0x68]
mov byte [ebp - 0x49], 2
push eax
push dword [ebp - 0x14c]
call fcn.00409430
mov eax, dword [ebp - 0x154]
push edi
add eax, 0x1c
push eax
push str.__s__account__s_symbol_block
jmp 0x407114
movzx eax, byte [ebp - 0x67]
push eax
lea eax, [ebp - 0x68]
mov byte [ebp - 0x49], 2
push eax
push dword [ebp - 0x14c]
call fcn.00409430
mov eax, dword [ebp - 0x154]
push edi
add eax, 0x1c
push eax
push str.__s__account__s_bad_syntax
jmp 0x407114
push edi
lea eax, [ebp - 0xa8]
push eax
call fcn.004039a0
test al, al
je 0x4069d4
movzx eax, byte [ebp - 0x67]
push eax
lea eax, [ebp - 0x68]
mov byte [ebp - 0x49], 3
push eax
push dword [ebp - 0x14c]
call fcn.00409430
movzx edi, word [ebp - 0x8c]
xor edx, edx
movzx esi, word [ebp - 0x8a]
xor eax, eax
mov ecx, dword [eax + 0x50cf04]
test ecx, ecx
js 0x406973
cmp ecx, 0x190
jge 0x406973
cmp dword [eax + 0x50cf08], 0
je 0x406973
cmp dword [eax + 0x50cf1c], 0xffffffff
je 0x406973
cmp word [eax + 0x50cf5c], si
je 0x406983
add eax, 0x70
inc edx
cmp eax, 0xaf00
jl 0x406946
jmp 0x40711e
imul ecx, edx, 0x70
add ecx, 0x50cf00
je 0x40711e
mov ax, word [ebp - 0xa0]
movq xmm0, qword [ebp - 0xa8]
mov word [ebp - 0x26], ax
mov al, byte [ebp - 0x9e]
mov byte [ebp - 0x24], al
lea eax, [ebp - 0x34]
push 0x12
push eax
push dword [ecx + 4]
mov word [ebp - 0x34], 0x12c1
mov byte [ebp - 0x32], 0x30
mov word [ebp - 0x30], di
movq qword [ebp - 0x2e], xmm0
call fcn.00409430
jmp 0x40711e
push 0x43fad0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x43faec]
push 0x43fad0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp esi, 0x9c40
jl 0x406a15
mov byte [ebp - 0x49], 4
movzx eax, byte [ebp - 0x67]
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x14c]
call fcn.00409430
jmp 0x40711e
cmp dword [0x50cd1c], 0
push edi
push str.SELECT_memb___id__memb__pwd_FROM_MEMB_INFO_WHERE_memb___id_s
push 0x43ff40
jne 0x406b92
call fcn.00408520
add esp, 0xc
test al, al
je 0x406b6f
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x406b6f
push 0xb
lea eax, [ebp - 0x20]
mov word [ebp - 0x18], 0
push eax
xorps xmm0, xmm0
mov byte [ebp - 0x16], 0
push str.memb__pwd
movq qword [ebp - 0x20], xmm0
call fcn.004087d0
push 0xb
lea eax, [ebp - 0x40]
mov word [ebp - 0x38], 0
push eax
xorps xmm0, xmm0
mov byte [ebp - 0x36], 0
push str.memb___id
movq qword [ebp - 0x40], xmm0
call fcn.004087d0
lea ecx, [ebp - 0x40]
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406ac0
test dl, dl
je 0x406abc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406ac0
add eax, 2
add ecx, 2
test dl, dl
jne 0x406aa0
xor eax, eax
jmp 0x406ac5
sbb eax, eax
or eax, 1
test eax, eax
je 0x406afe
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push 2
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
movzx eax, byte [ebp - 0x67]
mov esi, dword [ebp - 0x14c]
push eax
lea eax, [ebp - 0x68]
mov byte [ebp - 0x49], 0
push eax
push esi
call fcn.00409430
jmp 0x406b04
mov esi, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x154]
lea ecx, [ebp - 0x20]
add eax, 0x11
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406b30
test dl, dl
je 0x406b2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406b30
add eax, 2
add ecx, 2
test dl, dl
jne 0x406b10
xor eax, eax
jmp 0x406b35
sbb eax, eax
or eax, 1
push dword [0x43ff4c]
test eax, eax
je 0x406d5a
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push 2
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
movzx eax, byte [ebp - 0x67]
push eax
lea eax, [ebp - 0x68]
mov byte [ebp - 0x49], 0
push eax
push esi
call fcn.00409430
jmp 0x40711e
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push 2
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov byte [ebp - 0x49], 2
jmp 0x4069fc
call fcn.00408520
add esp, 0xc
test al, al
je 0x406b6f
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x406b6f
push 0xb
lea eax, [ebp - 0x20]
mov word [ebp - 0x18], 0
push eax
xorps xmm0, xmm0
mov byte [ebp - 0x16], 0
push str.memb___id
movq qword [ebp - 0x20], xmm0
call fcn.004087d0
lea ecx, [ebp - 0x20]
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406bf7
test dl, dl
je 0x406bf3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406bf7
add eax, 2
add ecx, 2
test dl, dl
jne 0x406bd7
xor eax, eax
jmp 0x406bfc
sbb eax, eax
or eax, 1
test eax, eax
je 0x406c32
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push 2
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
movzx eax, byte [ebp - 0x67]
push eax
lea eax, [ebp - 0x68]
mov byte [ebp - 0x49], 0
push eax
push dword [ebp - 0x14c]
call fcn.00409430
xor eax, eax
xor esi, esi
cmp ax, word [0x43ffb4]
jge 0x406c81
mov ecx, 0x43ffb6
mov dword [ebp - 0x158], ecx
nop word [eax + eax]
push ecx
push str.memb__pwd
call fcn.00416182
add esp, 8
test eax, eax
je 0x406fea
mov ecx, dword [ebp - 0x158]
inc esi
movsx eax, word [0x43ffb4]
add ecx, 0x1e
mov dword [ebp - 0x158], ecx
cmp esi, eax
jl 0x406c50
xorps xmm0, xmm0
movups xmmword [ebp - 0x44], xmm0
mov ecx, edi
mov byte [ebp - 0xac], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x114], 0x67452301
mov dword [ebp - 0x110], 0xefcdab89
lea edx, [ecx + 1]
mov dword [ebp - 0x10c], 0x98badcfe
mov dword [ebp - 0x108], 0x10325476
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406cd0
sub ecx, edx
xor esi, esi
xor edx, edx
mov dword [ebp - 0x150], esi
test ecx, ecx
jle 0x406cfb
movsx eax, byte [edi + edx]
add esi, 0x11
inc edx
add esi, eax
cmp edx, ecx
jl 0x406ce7
mov dword [ebp - 0x150], esi
mov eax, ecx
xorps xmm0, xmm0
shl eax, 4
add eax, ecx
mov ecx, dword [ebp - 0x150]
sub ecx, eax
sub ecx, 0x56
movzx eax, cl
lea ecx, [ebp - 0x148]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x154]
add eax, 0x11
push eax
movups xmmword [ebp - 0x34], xmm0
call fcn.004013d0
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x44]
cmp al, byte [ebp + ecx - 0x34]
jne 0x4070d7
inc ecx
cmp ecx, 0x10
jl 0x406d40
push dword [0x43ff4c]
mov esi, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
call esi
push 2
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push edi
push str.SELECT_sno__numb_bloc_code_FROM_MEMB_INFO_WHERE_memb___id_s
push 0x43ff40
call fcn.00408520
add esp, 0xc
test al, al
je 0x4070ca
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x4070ca
push 0xe
lea eax, [ebp - 0x57]
push eax
push str.sno__numb
call fcn.004087d0
xor eax, eax
xor esi, esi
cmp ax, word [0x43ffb4]
jge 0x406e01
mov ecx, 0x43ffb6
mov dword [ebp - 0x150], ecx
nop dword [eax]
push ecx
push str.bloc_code
call fcn.00416182
add esp, 8
test eax, eax
je 0x40708a
mov ecx, dword [ebp - 0x150]
inc esi
movsx eax, word [0x43ffb4]
add ecx, 0x1e
mov dword [ebp - 0x150], ecx
cmp esi, eax
jl 0x406dd0
or eax, 0xffffffff
push dword [0x43ff4c]
mov esi, dword [sym.imp.ODBC32.dll_SQLCloseCursor]
mov byte [ebp - 0x48], al
call esi
push 2
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
push edi
push 0x50cd24
push 0x50cd8c
push 0x50cd58
push str.SELECT__s_FROM__s_WHERE__s_s
push 0x43ff40
call fcn.00408520
add esp, 0x18
test al, al
je 0x4070ca
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x4070ca
xor eax, eax
xor esi, esi
cmp ax, word [0x43ffb4]
jge 0x406e9a
mov edi, 0x43ffb6
push edi
push 0x50cd58
call fcn.00416182
add esp, 8
test eax, eax
je 0x4070aa
movsx eax, word [0x43ffb4]
inc esi
add edi, 0x1e
cmp esi, eax
jl 0x406e75
or eax, 0xffffffff
push dword [0x43ff4c]
mov word [ebp - 0x46], ax
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push 2
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov ecx, dword [ebp - 0x154]
imul edi, dword [ebp - 0x14c], 0x70
lea esi, [ecx + 0x1c]
push esi
lea eax, [edi + 0x50cf28]
push eax
lea eax, [ecx + 6]
push eax
push str.EXEC_WZ_CONNECT_MEMB__s__s__s
push 0x43ff40
call fcn.00408520
add esp, 0x14
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push 2
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
movzx eax, byte [ebp - 0x67]
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x14c]
call fcn.00409430
mov eax, dword [ebp - 0x154]
add eax, 6
push eax
lea eax, [ebp - 0xa8]
push 0xb
push eax
call fcn.004106d3
add esp, 0xc
lea eax, [ebp - 0x9d]
push esi
push 0x10
push eax
call fcn.004106d3
mov eax, dword [ebp - 0x154]
sub esp, 0x34
movups xmm0, xmmword [ebp - 0xa8]
mov byte [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
movzx eax, word [eax + 4]
mov word [ebp - 0x8c], ax
movzx eax, word [edi + 0x50cf5c]
mov word [ebp - 0x8a], ax
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov eax, esp
mov dword [ebp - 0x80], 0xffffffff
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0x98]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x88]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x78]
movups xmmword [eax + 0x30], xmm0
call fcn.00403b50
movzx eax, word [ebp - 0x8a]
push eax
lea eax, [ebp - 0x9d]
push eax
lea eax, [ebp - 0xa8]
push eax
push str._AccountInfo__Account_connected__Account:__s__IpAddress:__s__GameServerCode:__d_
push 1
push 0x43fb10
call fcn.00407bb0
add esp, 0x18
jmp 0x40711e
cmp esi, 0xffffffff
je 0x406c81
shl esi, 0xd
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0x158], eax
add esi, 0x440b6e
mov dword [ebp - 0x15c], 0x30
movups xmmword [ebp - 0x44], xmm0
xor edx, edx
nop word [eax + eax]
mov cl, byte [edx + esi]
test cl, cl
je 0x406c88
lea eax, [ebp + eax - 0x44]
mov dword [ebp - 0x150], eax
mov eax, 0x37
test dl, 1
jne 0x40705e
cmp cl, 0x41
cmovl eax, dword [ebp - 0x15c]
sub cl, al
mov eax, dword [ebp - 0x150]
shl cl, 4
mov byte [eax], cl
mov eax, dword [ebp - 0x158]
jmp 0x40707f
cmp cl, 0x41
cmovl eax, dword [ebp - 0x15c]
sub cl, al
mov eax, dword [ebp - 0x150]
or byte [eax], cl
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
inc edx
cmp eax, 0x10
jl 0x407020
jmp 0x406c88
cmp esi, 0xffffffff
je 0x406e01
shl esi, 0xd
add esi, 0x440b6e
push esi
call fcn.00416aeb
add esp, 4
jmp 0x406e04
cmp esi, 0xffffffff
je 0x406e9a
shl esi, 0xd
add esi, 0x440b6e
push esi
call fcn.00416aeb
add esp, 4
jmp 0x406e9d
push dword [0x43ff4c]
call esi
jmp 0x406b7b
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLCloseCursor]
push 2
push dword [0x43ff4c]
call dword [sym.imp.ODBC32.dll_SQLFreeStmt]
mov byte [ebp - 0x49], 0
jmp 0x4069fc
push 0x24
lea eax, [ebp - 0x68]
mov byte [ebp - 0x49], 2
push eax
push edx
call fcn.00409430
push edi
lea eax, [esi + 0x1c]
push eax
push str.__s__account__s_syntax_block
push 0
call fcn.0040a1d0
add esp, 0x10
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040c166
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret