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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40b6a8
mov eax, dword fs:[0]
push eax
sub esp, 0x188
mov eax, dword [0x411018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
test byte [0x4dc904], 1
mov eax, dword [ebp + 8]
mov edi, ecx
movzx ecx, word [edi + 4]
mov edx, dword [edi + 6]
lea esi, [edi + 6]
mov word [ebp - 0x5c], cx
movzx ecx, word [esi + 8]
mov dword [ebp - 0x184], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x5a], edx
mov dl, byte [esi + 0xa]
mov dword [ebp - 0x18c], edi
mov word [ebp - 0x60], 0x38c1
mov byte [ebp - 0x5e], 1
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x56], eax
mov word [ebp - 0x52], cx
mov byte [ebp - 0x50], dl
mov byte [ebp - 0x41], 1
jne 0x404b69
or dword [0x4dc904], 1
mov dword [ebp - 4], 0
call fcn.00401070
push 0x40b8b0
call fcn.0040a590
add esp, 4
or ebx, 0xffffffff
mov dword [ebp - 4], ebx
jmp 0x404b6c
or ebx, 0xffffffff
lea eax, [edi + 0x2c]
lea ecx, [edi + 0x1c]
push eax
mov dword [ebp - 0x194], eax
push ecx
mov eax, 0x4dc908
mov dword [ebp - 0x190], ecx
call fcn.004019c0
test al, al
jne 0x404bd7
test byte [0x4dc938], 1
mov byte [ebp - 0x41], 7
jne 0x404bbe
mov eax, 1
or dword [0x4dc938], eax
mov dword [ebp - 4], eax
call fcn.00408b50
push 0x40b9f0
call fcn.0040a590
add esp, 4
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x184]
movzx ebx, byte [ebp - 0x5f]
lea eax, [ebp - 0x60]
push eax
push ecx
push 0x4dc940
jmp 0x4054a7
xor ecx, ecx
lea esp, [esp]
mov al, byte [esi + ecx]
cmp al, 0x20
je 0x404c90
cmp al, 0x22
je 0x404c90
cmp al, 0x27
je 0x404c90
inc ecx
cmp ecx, 0xb
jl 0x404be0
test byte [0x4dc904], 1
jne 0x404c2d
or dword [0x4dc904], 1
mov dword [ebp - 4], 3
call fcn.00401070
push 0x40b8b0
call fcn.0040a590
add esp, 4
mov dword [ebp - 4], ebx
push 0x4dc908
mov edx, esi
lea ecx, [ebp - 0xdc]
call fcn.00401530
test al, al
je 0x404d08
mov edx, dword [ebp - 0x184]
movzx ebx, byte [ebp - 0x5f]
lea ecx, [ebp - 0x60]
push ecx
push edx
mov byte [ebp - 0x41], 3
call fcn.00403f20
push eax
call fcn.00409430
lea ecx, [edi + 0x11]
lea eax, [ebp - 0xd1]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404cd9
test dl, dl
je 0x404c8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404cd9
add eax, 2
add ecx, 2
test dl, dl
jne 0x404c70
xor eax, eax
jmp 0x404cde
test byte [0x4dc938], 1
mov eax, 2
mov byte [ebp - 0x41], al
jne 0x404cc0
or dword [0x4dc938], 1
mov dword [ebp - 4], eax
call fcn.00408b50
push 0x40b9f0
call fcn.0040a590
add esp, 4
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x184]
movzx ebx, byte [ebp - 0x5f]
lea edx, [ebp - 0x60]
push edx
push eax
push 0x4dc940
jmp 0x4054a7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4054ac
movzx eax, word [ebp - 0x88]
movzx edx, word [ebp - 0x86]
push eax
lea esi, [ebp - 0xdc]
call fcn.00406310
add esp, 4
jmp 0x4054ac
call fcn.00403e10
mov ebx, eax
lea eax, [ebx + 8]
push eax
mov dword [ebp - 0x188], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x188]
mov ebx, dword [ebx + 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp ebx, 0x2710
jl 0x404d4b
mov eax, dword [ebp - 0x184]
lea edx, [ebp - 0x60]
push edx
mov byte [ebp - 0x41], 4
push eax
jmp 0x40549d
cmp dword [0x4de124], 0
push esi
push str.SELECT_memb__pwd_FROM_MEMB_INFO_WHERE_memb___id_s_COLLATE_Latin1_General_BIN
jne 0x404fa1
call fcn.00401040
mov ecx, eax
call fcn.00407890
add esp, 8
test al, al
je 0x404d8a
call fcn.00401040
mov ecx, dword [eax + 0xc]
push ecx
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
jne 0x404e25
cmp dword [0x4de120], 1
jne 0x405482
lea ecx, [esi + 1]
lea ebx, [ebx]
mov al, byte [esi]
inc esi
test al, al
jne 0x404da0
mov edx, dword [0x4de11c]
sub esi, ecx
cmp esi, edx
jb 0x405482
lea ebx, [edi + 0x11]
mov eax, ebx
mov dword [ebp - 0x188], ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404dc5
sub eax, esi
cmp eax, edx
jb 0x405482
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov eax, dword [0x4de118]
test eax, eax
jg 0x404e80
mov esi, dword [ebp - 0x180]
push ebx
push ebx
push esi
push str.INSERT_INTO_dbo.MEMB_INFO__memb___id_memb__pwd_memb_name_sno__numb_bloc_code_ctl1_code_AccountLevel_AccountExpireDate__VALUES___s__s_JoinServer__s_0_0_0_CURRENT_TIMESTAMP_
call fcn.00401040
mov ecx, eax
call fcn.00407890
add esp, 0x10
push ebx
push esi
test al, al
jne 0x405134
push str.Error:_s_password:_s
push 1
call fcn.0040a100
add esp, 0x10
push 0xb
lea ecx, [ebp - 0x20]
xor eax, eax
push ecx
push str.memb__pwd
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x1f], eax
mov dword [ebp - 0x1b], eax
mov word [ebp - 0x17], ax
call fcn.00401040
mov edi, eax
call fcn.00407ac0
mov edi, dword [ebp - 0x18c]
add edi, 0x11
mov dword [ebp - 0x188], edi
lea ecx, [ebp - 0x20]
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404ed6
test dl, dl
je 0x404e7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404ed6
add eax, 2
add ecx, 2
test dl, dl
jne 0x404e60
xor eax, eax
jmp 0x404edb
cmp eax, 3
jle 0x404e8f
mov eax, 3
mov dword [0x4de118], eax
mov edx, dword [0x4de114]
mov esi, dword [ebp - 0x180]
push edx
push eax
push ebx
push ebx
push esi
push str.INSERT_INTO_dbo.MEMB_INFO__memb___id_memb__pwd_memb_name_sno__numb_bloc_code_ctl1_code_AccountLevel_AccountExpireDate__VALUES___s__s_JoinServer__s_0_0__d_DATEADD__day__d_getdate____
call fcn.00401040
mov ecx, eax
call fcn.00407890
add esp, 0x18
push ebx
push esi
test al, al
jne 0x404ec4
push str.Error:_s_Password:_s
jmp 0x404e1b
mov eax, dword [0x4de118]
push eax
push str.AccountLevel:_d_Account:_s_Password:_s
push 3
jmp 0x40521d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x404f2f
mov ecx, 0x4de108
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404f06
test dl, dl
je 0x404f02
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404f06
add eax, 2
add ecx, 2
test dl, dl
jne 0x404ee6
xor eax, eax
jmp 0x404f0b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x404f2f
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov eax, dword [ebp - 0x184]
lea edx, [ebp - 0x60]
push edx
mov byte [ebp - 0x41], 0
push eax
jmp 0x40549d
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov ecx, 0x4de108
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404f62
test dl, dl
je 0x404f5e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404f62
add eax, 2
add ecx, 2
test dl, dl
jne 0x404f42
xor eax, eax
jmp 0x404f67
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404f85
mov ecx, dword [ebp - 0x180]
push ecx
push str.Account:_s_logged_with_global_password_
push eax
call fcn.0040a100
add esp, 0xc
jmp 0x405225
mov edx, dword [ebp - 0x180]
push edi
push edx
push str.Account:_s_Password:_s_Connected
push 0
call fcn.0040a100
add esp, 0x10
jmp 0x405225
call fcn.00401040
mov ecx, eax
call fcn.00407890
add esp, 8
test al, al
je 0x404fcd
call fcn.00401040
mov edx, dword [eax + 0xc]
push edx
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
jne 0x405073
cmp dword [0x4de120], 1
jne 0x405482
lea ecx, [esi + 1]
lea ecx, [ecx]
mov al, byte [esi]
inc esi
test al, al
jne 0x404fe0
mov edx, dword [0x4de11c]
sub esi, ecx
cmp esi, edx
jb 0x405482
lea ebx, [edi + 0x11]
mov eax, ebx
mov dword [ebp - 0x188], ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405005
sub eax, esi
cmp eax, edx
jb 0x405482
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov eax, dword [0x4de118]
test eax, eax
jg 0x405148
mov ecx, dword [0x4de114]
mov esi, dword [ebp - 0x180]
push ecx
push eax
push ebx
push ebx
push esi
push str.INSERT_INTO_dbo.MEMB_INFO__memb___id_memb__pwd_memb_name_sno__numb_bloc_code_ctl1_code_AccountLevel_AccountExpireDate__VALUES___s_dbo.fn_md5__s__s__JoinServer__s_0_0__d_DATEADD__day__d_getdate____
call fcn.00401040
mov ecx, eax
call fcn.00407890
add esp, 0x18
push ebx
push esi
test al, al
jne 0x405134
push str.ERROR:_s_Password:_s
push 1
call fcn.0040a100
mov edi, dword [ebp - 0x18c]
add esp, 0x10
xor eax, eax
mov dword [ebp - 0x27], eax
mov dword [ebp - 0x23], eax
mov dword [ebp - 0x1f], eax
mov dword [ebp - 0x1b], eax
mov word [ebp - 0x17], ax
mov byte [ebp - 0x15], al
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 0x28], 0
call fcn.00401040
mov ebx, eax
call fcn.00407b40
xor ebx, ebx
add edi, 0x11
mov byte [ebp - 0xe0], bl
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x148], 0x67452301
mov dword [ebp - 0x144], 0xefcdab89
mov dword [ebp - 0x140], 0x98badcfe
mov dword [ebp - 0x13c], 0x10325476
mov dword [ebp - 0x188], edi
call fcn.0040a4a0
push eax
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x17c]
push edx
mov edx, edi
call fcn.00406850
test al, al
jne 0x4051b4
mov ecx, 0x4de108
mov eax, edi
jmp 0x405110
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x405197
cmp dl, bl
je 0x405130
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x405197
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x405110
xor eax, eax
jmp 0x40519c
push str.Account:_s_Password:_s
push 3
call fcn.0040a100
add esp, 0x10
jmp 0x405225
cmp eax, 3
jle 0x405157
mov eax, 3
mov dword [0x4de118], eax
mov esi, dword [ebp - 0x180]
push str.CURRENT_TIMESTAMP__integer_30
push eax
push ebx
push ebx
push esi
push str.INSERT_INTO_dbo.MEMB_INFO__memb___id_memb__pwd_memb_name_sno__numb_bloc_code_ctl1_code_AccountLevel_AccountExpireDate__VALUES___s_dbo.fn_md5__s__s__JoinServer__s_0_0__d__d_
call fcn.00401040
mov ecx, eax
call fcn.00407890
add esp, 0x18
push ebx
push esi
test al, al
je 0x40505e
mov edx, dword [0x4de118]
push edx
push str.AccountLevel:_d_Account:_s_Password:_s
push 1
jmp 0x40521d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4051b4
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov byte [ebp - 0x41], bl
jmp 0x405492
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov ecx, 0x4de108
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4051e7
cmp dl, bl
je 0x4051e3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4051e7
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4051c7
xor eax, eax
jmp 0x4051ec
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x405208
mov edx, dword [ebp - 0x180]
push edx
push str.Account:_s_logged_with_global_password_
push 1
call fcn.0040a100
add esp, 0xc
jmp 0x405225
mov eax, dword [ebp - 0x180]
mov ecx, dword [0x4de118]
push edi
push eax
push ecx
push str.AccountLevel:_d_Account:_s_password:_s
push ebx
call fcn.0040a100
add esp, 0x14
mov edx, dword [ebp - 0x180]
push edx
push str.SELECT_sno__numb_bloc_code_FROM_MEMB_INFO_WHERE_memb___id_s
call fcn.00401040
mov ecx, eax
call fcn.00407890
add esp, 8
test al, al
je 0x405465
call fcn.00401040
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x405465
push 0xe
lea ecx, [ebp - 0x4f]
push ecx
push str.sno__numb
call fcn.00401040
mov edi, eax
call fcn.00407ac0
push str.bloc_code
call fcn.00401040
mov ebx, eax
call fcn.00407a50
mov byte [ebp - 0x40], al
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov edx, dword [ebp - 0x180]
push edx
push str.EXEC_WZ_GetAccountLevel__s
call fcn.00401040
mov ecx, eax
call fcn.00407890
add esp, 8
test al, al
je 0x405448
call fcn.00401040
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.ODBC32.dll_SQLFetch]
cmp ax, 0x64
je 0x405448
push str.AccountLevel
call fcn.00401040
mov ebx, eax
call fcn.00407a50
push 0x14
lea ecx, [ebp - 0x3c]
push ecx
push str.AccountExpireDate
mov word [ebp - 0x3e], ax
call fcn.00401040
mov edi, eax
call fcn.00407ac0
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov edi, dword [ebp - 0x184]
mov edx, dword [ebp - 0x190]
imul edi, edi, 0x6c
mov ecx, dword [ebp - 0x180]
push edx
lea eax, [edi + 0x4de238]
push eax
push ecx
push str.EXEC_WZ_CONNECT_MEMB__s__s__s
call fcn.00401040
mov ecx, eax
call fcn.00407890
add esp, 0x10
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov eax, dword [ebp - 0x184]
movzx ebx, byte [ebp - 0x5f]
lea edx, [ebp - 0x60]
push edx
push eax
call fcn.00403f20
push eax
call fcn.00409430
mov ecx, dword [ebp - 0x180]
mov esi, dword [sym.imp.MSVCR100.dll_strcpy_s]
push ecx
lea edx, [ebp - 0xdc]
push 0xb
push edx
call esi
mov eax, dword [ebp - 0x188]
add esp, 0xc
push eax
lea ecx, [ebp - 0xd1]
push 0xb
push ecx
call esi
mov edx, dword [ebp - 0x190]
add esp, 0xc
push edx
lea eax, [ebp - 0xc6]
push 0x10
push eax
call esi
mov ecx, dword [ebp - 0x194]
add esp, 0xc
push ecx
lea edx, [ebp - 0xb6]
push 0x2d
push edx
call esi
mov eax, dword [ebp - 0x18c]
mov cx, word [eax + 4]
mov dx, word [edi + 0x4de26c]
xor eax, eax
mov word [ebp - 0x88], cx
xor ecx, ecx
mov word [ebp - 0x86], dx
mov byte [ebp - 0x84], al
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], 0xffffffff
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
sub esp, 0x6c
mov dword [ebp - 0x68], eax
mov ecx, 0x1e
lea esi, [ebp - 0xdc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00403e10
push eax
call fcn.00401660
movzx edx, word [ebp - 0x86]
push edx
lea eax, [ebp - 0xc6]
push eax
lea ecx, [ebp - 0xdc]
push ecx
push str._AccountInfo__Account_connected__Account:__s__IpAddress:__s__GameServerCode:__d_
push 1
call fcn.00401000
mov ecx, eax
call fcn.00406570
add esp, 0x14
jmp 0x4054ac
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov eax, dword [ebp - 0x184]
lea edx, [ebp - 0x60]
push edx
mov byte [ebp - 0x41], 2
push eax
jmp 0x40549d
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov edx, dword [ebp - 0x184]
lea ecx, [ebp - 0x60]
push ecx
mov byte [ebp - 0x41], 2
push edx
jmp 0x40549d
call fcn.00401040
mov esi, eax
call fcn.00407a30
mov byte [ebp - 0x41], 2
mov ecx, dword [ebp - 0x184]
lea eax, [ebp - 0x60]
push eax
push ecx
movzx ebx, byte [ebp - 0x5f]
call fcn.00403f20
push eax
call fcn.00409430
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040a4e0
mov esp, ebp
pop ebp
ret