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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x4275f0]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov cx, word [edi + 4]
lea esi, [edi + 6]
mov dword [ebp - 0x120], eax
mov eax, dword [esi]
mov word [ebp - 0x50], cx
mov ecx, dword [esi + 4]
mov dword [ebp - 0x4e], eax
mov ax, word [esi + 8]
mov edx, 1
mov dword [ebp - 0x4a], ecx
mov cl, byte [esi + 0xa]
mov word [ebp - 0x46], ax
mov dword [ebp - 0x124], edi
mov ebx, 0x38
mov word [ebp - 0x54], 0x38c1
mov byte [ebp - 0x52], dl
mov byte [ebp - 0x44], cl
mov byte [ebp - 0x35], dl
xor eax, eax
mov cl, byte [esi + eax]
cmp cl, 0x20
je 0x404edc
cmp cl, 0x22
je 0x404edc
cmp cl, 0x27
je 0x404edc
add eax, edx
cmp eax, 0xb
jl 0x4049b3
lea ecx, [ebp - 0x78]
push ecx
mov ecx, esi
call fcn.004011d0
test al, al
je 0x404a4a
mov eax, dword [ebp - 0x120]
movzx ebx, byte [ebp - 0x53]
lea edx, [ebp - 0x54]
push edx
push eax
mov byte [ebp - 0x35], 3
call fcn.004084c0
mov edx, dword [ebp - 0x5a]
call fcn.00409370
test eax, eax
je 0x404ef0
mov cx, word [ebp - 0x5c]
mov edx, dword [ebp - 0x78]
mov eax, dword [eax]
mov word [ebp - 0x18], cx
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x16], edx
mov dx, word [ebp - 0x70]
mov dword [ebp - 0x12], ecx
mov cl, byte [ebp - 0x6e]
mov word [ebp - 0xe], dx
mov ebx, 0x12
mov word [ebp - 0x1c], 0x12c1
mov byte [ebp - 0x1a], 5
mov byte [ebp - 0xc], cl
lea edx, [ebp - 0x1c]
jmp 0x404ee9
push 0x42b7d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x42b7f8]
push 0x42b7d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp ebx, 0x61a80
jl 0x404a86
mov edx, dword [ebp - 0x120]
movzx ebx, byte [ebp - 0x53]
lea ecx, [ebp - 0x54]
push ecx
mov byte [ebp - 0x35], 4
push edx
jmp 0x404eeb
cmp dword [0x42b7bc], 0
push esi
mov ecx, 0x42bc40
push str.SELECT_memb__pwd_FROM_MEMB_INFO_WHERE_memb___id_s_COLLATE_Latin1_General_BIN
jne 0x404bd2
call fcn.00406e80
add esp, 8
test al, al
je 0x404bb5
mov eax, dword [0x42bc48]
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x404bb5
xor eax, eax
lea ecx, [ebp - 0x18]
push ecx
push str.memb__pwd
lea ebx, [eax + 0xb]
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x17], eax
mov dword [ebp - 0x13], eax
mov word [ebp - 0xf], ax
call fcn.00407080
lea ecx, [ebp - 0x18]
lea eax, [edi + 0x11]
jmp 0x404af0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404b10
test dl, dl
je 0x404b0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404b10
add eax, 2
add ecx, 2
test dl, dl
jne 0x404af0
xor eax, eax
jmp 0x404b15
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x404b5c
mov ecx, 0x42b7b0
lea eax, [edi + 0x11]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404b41
test dl, dl
je 0x404b3d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404b41
add eax, 2
add ecx, 2
test dl, dl
jne 0x404b21
xor eax, eax
jmp 0x404b46
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x404b5c
call fcn.00407000
movzx ebx, byte [ebp - 0x53]
mov byte [ebp - 0x35], 0
jmp 0x404ee0
call fcn.00407000
mov ecx, 0x42b7b0
lea eax, [edi + 0x11]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404b90
test dl, dl
je 0x404b8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404b90
add eax, 2
add ecx, 2
test dl, dl
jne 0x404b70
xor eax, eax
jmp 0x404b95
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404d08
lea eax, [edi + 6]
push eax
push str.Account__s_logged_with_global_password_
push 1
call fcn.004091a0
add esp, 0xc
jmp 0x404d08
call fcn.00407000
mov edx, dword [ebp - 0x120]
movzx ebx, byte [ebp - 0x53]
lea ecx, [ebp - 0x54]
push ecx
mov byte [ebp - 0x35], 2
push edx
jmp 0x404eeb
call fcn.00406e80
add esp, 8
test al, al
je 0x404ed3
mov eax, dword [0x42bc48]
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x404ed3
xor eax, eax
lea ebx, [ebp - 0x1c]
mov byte [ebp - 0x1c], 0
mov dword [ebp - 0x1b], eax
mov dword [ebp - 0x17], eax
mov dword [ebp - 0x13], eax
mov word [ebp - 0xf], ax
mov byte [ebp - 0xd], al
call fcn.00407110
mov ebx, dword [ebp - 0x124]
xor edi, edi
mov byte [ebp - 0x80], 0
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xe8], 0x67452301
mov dword [ebp - 0xe4], 0xefcdab89
mov dword [ebp - 0xe0], 0x98badcfe
mov dword [ebp - 0xdc], 0x10325476
add ebx, 0x11
call fcn.004093d0
push eax
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, ebx
lea edx, [ebp - 0x11c]
call fcn.004055d0
test al, al
jne 0x404cad
mov ecx, 0x42b7b0
mov eax, ebx
jmp 0x404c80
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404ca0
test dl, dl
je 0x404c9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404ca0
add eax, 2
add ecx, 2
test dl, dl
jne 0x404c80
xor eax, eax
jmp 0x404ca5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x404b4a
call fcn.00407000
mov ecx, 0x42b7b0
mov eax, ebx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404ce0
test dl, dl
je 0x404cdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404ce0
add eax, 2
add ecx, 2
test dl, dl
jne 0x404cc0
xor eax, eax
jmp 0x404ce5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x404d02
mov eax, dword [ebp - 0x124]
add eax, 6
push eax
push str.Account__s_logged_with_global_password_
push 1
call fcn.004091a0
add esp, 0xc
mov edi, dword [ebp - 0x124]
lea esi, [edi + 6]
push esi
push str.EXEC_WZ_DesblocAccount__s
mov ecx, 0x42bc40
call fcn.00406e80
add esp, 8
test al, al
je 0x404eb9
mov ecx, dword [0x42bc48]
mov ebx, dword [sym.imp.ODBC32.dll_SQLFetch]
push ecx
call ebx
cmp ax, 0x64
je 0x404eb9
push esi
push str.SELECT_sno__numb__bloc_code_FROM_MEMB_INFO_WHERE_memb___id_s
mov ecx, 0x42bc40
call fcn.00406e80
add esp, 8
test al, al
je 0x404bb5
mov edx, dword [0x42bc48]
push edx
call ebx
cmp ax, 0x64
je 0x404bb5
lea eax, [ebp - 0x43]
push eax
push str.sno__numb
mov ebx, 0xe
call fcn.00407080
mov ebx, str.bloc_code
call fcn.00407020
mov byte [ebp - 0x34], al
call fcn.00407000
push esi
push str.EXEC_WZ_GetAccountLevel__s
mov ecx, 0x42bc40
call fcn.00406e80
add esp, 8
test al, al
je 0x404ed3
mov ecx, dword [0x42bc48]
push ecx
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x404ed3
mov ebx, str.AccountLevel
call fcn.00407020
lea edx, [ebp - 0x30]
push edx
push str.AccountExpireDate
mov ebx, 0x14
mov word [ebp - 0x32], ax
call fcn.00407080
call fcn.00407000
mov esi, dword [ebp - 0x120]
imul esi, esi, 0x6c
add edi, 0x1c
push edi
lea eax, [esi + 0x4f6ac4]
push eax
mov eax, dword [ebp - 0x124]
add eax, 6
push eax
push str.EXEC_WZ_CONNECT_MEMB__s__s__s
mov ecx, 0x42bc40
call fcn.00406e80
add esp, 0x10
call fcn.00407000
mov edx, dword [ebp - 0x120]
movzx ebx, byte [ebp - 0x53]
lea ecx, [ebp - 0x54]
push ecx
push edx
call fcn.004084c0
mov eax, dword [ebp - 0x124]
add eax, 6
push eax
lea eax, [ebp - 0x78]
push 0xb
push eax
call fcn.0040b5b1
add esp, 0xc
push edi
lea ecx, [ebp - 0x6d]
push 0x10
push ecx
call fcn.0040b5b1
mov cx, word [esi + 0x4f6af8]
mov edx, dword [ebp - 0x124]
mov ax, word [edx + 4]
mov word [ebp - 0x5a], cx
sub esp, 0x14
mov edi, esp
mov word [ebp - 0x5c], ax
mov ecx, 8
lea esi, [ebp - 0x78]
rep movsd dword es:[edi], dword [esi]
call fcn.004012f0
movzx edx, word [ebp - 0x5a]
push edx
lea eax, [ebp - 0x6d]
push eax
lea ecx, [ebp - 0x78]
push ecx
push str._AccountInfo__Account_connected__Account:__s__IpAddress:__s__GameServerCode:__d_
push 0x42b810
mov ecx, 1
call fcn.00405300
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0040aeaf
mov esp, ebp
pop ebp
ret
call fcn.00407000
mov ecx, dword [ebp - 0x120]
movzx ebx, byte [ebp - 0x53]
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 0x35], 2
push ecx
jmp 0x404eeb
call fcn.00407000
movzx ebx, byte [ebp - 0x53]
mov byte [ebp - 0x35], 2
mov eax, dword [ebp - 0x120]
lea edx, [ebp - 0x54]
push edx
push eax
call fcn.004084c0
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040aeaf
mov esp, ebp
pop ebp
ret