Function at 0x4e5363
Capabilities:
Create tcp socket
Create udp socket
Query environment variable
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x338
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], 0xffffffff
lea ecx, [ebp - 0x100]
push ecx
lea edx, [ebp - 0xf8]
push edx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x28]
push ecx
push 0x499
push 0x548010
push str.mysql_real_connect
call fcn.004e9f97
add esp, 0x1c
cmp dword [0x54fc18], 0
je 0x4e5438
push 0x548070
push 0x49e
call fcn.004ea1b6
add esp, 8
cmp dword [ebp + 0x10], 0
je 0x4e53d6
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x318], edx
jmp 0x4e53e0
mov dword [ebp - 0x318], 0x548078
cmp dword [ebp + 0x18], 0
je 0x4e53f1
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x31c], eax
jmp 0x4e53fb
mov dword [ebp - 0x31c], 0x548080
cmp dword [ebp + 0xc], 0
je 0x4e540c
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x320], ecx
jmp 0x4e5416
mov dword [ebp - 0x320], str._Null_
mov edx, dword [ebp - 0x318]
push edx
mov eax, dword [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x320]
push ecx
push str.host:__s__db:__s__user:__s
call fcn.004ea1d8
add esp, 0x10
mov edx, dword [ebp - 8]
mov dword [edx], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1b8], 0
jne 0x4e545d
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1bc], 0
je 0x4e54e5
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1b8], 0
je 0x4e547a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1b8]
mov dword [ebp - 0x324], ecx
jmp 0x4e5484
mov dword [ebp - 0x324], 0x5480ac
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1bc]
push eax
mov ecx, dword [ebp - 0x324]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x190
push edx
call fcn.004e635a
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1b8]
push ecx
call fcn.004ecb51
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1bc]
push eax
call fcn.004ecb51
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1bc], 0
mov edx, dword [ebp + 8]
mov dword [edx + 0x1b8], 0
cmp dword [ebp + 0xc], 0
je 0x4e54f5
mov eax, dword [ebp + 0xc]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x4e5501
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1a0]
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0x10], 0
je 0x4e5511
mov ecx, dword [ebp + 0x10]
movsx edx, byte [ecx]
test edx, edx
jne 0x4e551d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1a8]
mov dword [ebp + 0x10], ecx
cmp dword [ebp + 0x14], 0
jne 0x4e5546
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1ac]
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x14], 0
jne 0x4e5546
push str.MYSQL_PWD
call dword [sym.imp.MSVCRT.dll_getenv]
add esp, 4
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x18], 0
je 0x4e5556
mov ecx, dword [ebp + 0x18]
movsx edx, byte [ecx]
test edx, edx
jne 0x4e5562
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1b4]
mov dword [ebp + 0x18], ecx
cmp dword [ebp + 0x1c], 0
jne 0x4e5574
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x19c]
mov dword [ebp + 0x1c], eax
cmp dword [ebp + 0x20], 0
jne 0x4e5586
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1b0]
mov dword [ebp + 0x20], edx
mov eax, dword [ebp + 8]
mov byte [eax + 0x18d], 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x148], 2
cmp dword [ebp + 0x20], 0
jne 0x4e55ed
cmp dword [ebp + 0xc], 0
jne 0x4e55b5
call fcn.004e6311
movsx edx, al
test edx, edx
jne 0x4e55ed
cmp dword [ebp + 0xc], 0
je 0x4e55d0
push 0x5480bc
mov eax, dword [ebp + 0xc]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x4e55ed
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + 0x199]
test edx, edx
jne 0x4e55ed
movsx eax, byte [0x54fc4c]
test eax, eax
jne 0x4e5728
mov dword [ebp - 0x104], 0
lea ecx, [ebp + 0x20]
push ecx
lea edx, [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x190]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.004e4740
add esp, 0x10
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x4e56ec
cmp dword [0x54fc18], 0
je 0x4e56a1
push 0x5480c0
push 0x4f7
call fcn.004ea1b6
add esp, 8
cmp dword [ebp + 0x20], 0
je 0x4e564e
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x328], eax
jmp 0x4e5658
mov dword [ebp - 0x328], 0x5480c8
cmp dword [ebp + 0xc], 0
je 0x4e5669
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x32c], ecx
jmp 0x4e5673
mov dword [ebp - 0x32c], str._null_
movsx edx, byte [0x54fc4c]
push edx
mov eax, dword [ebp + 8]
movsx ecx, byte [eax + 0x199]
push ecx
mov edx, dword [ebp - 0x328]
push edx
mov eax, dword [ebp - 0x32c]
push eax
push str.host:__s__socket:__s__named_pipe:__d__have_tcpip:__d
call fcn.004ea1d8
add esp, 0x14
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + 0x199]
test edx, edx
jne 0x4e56e5
cmp dword [ebp + 0xc], 0
je 0x4e56ca
push 0x548114
mov eax, dword [ebp + 0xc]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x4e56e5
cmp dword [ebp + 0x20], 0
je 0x4e56ea
push str.MySQL
mov ecx, dword [ebp + 0x20]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x4e56ea
jmp 0x4e621f
jmp 0x4e5728
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004eb00a
add esp, 4
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [str.__.64s_via_named_pipe]
push ecx
lea edx, [ebp - 0xf0]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x4e5956
mov dword [ebp + 0x20], 0
cmp dword [ebp + 0x1c], 0
jne 0x4e5748
mov ecx, dword [0x54fbd8]
mov dword [ebp + 0x1c], ecx
cmp dword [ebp + 0xc], 0
jne 0x4e5755
mov dword [ebp + 0xc], str.localhost
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [str.__.64s_via_TCP_IP]
push eax
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf4]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
cmp dword [0x54fc18], 0
je 0x4e57ab
push 0x54812c
push 0x50f
call fcn.004ea1b6
add esp, 8
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push str.Server_name:__s.__TCP_sock:__d
call fcn.004ea1d8
add esp, 0xc
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0xffffffff
jne 0x4e57fe
mov edx, dword [ebp - 8]
mov dword [edx + 0xe4], 0x7d4
call sub.WSOCK32.dll_WSAGetLastError
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xe4]
mov edx, dword [ecx*4 + 0x546e98]
push edx
mov eax, dword [ebp - 8]
add eax, 0x1c
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
jmp 0x4e621f
push 0
push 1
mov ecx, dword [ebp - 0x104]
push ecx
call fcn.004eaf00
add esp, 0xc
mov edx, dword [ebp - 8]
mov dword [edx], eax
push 0x10
push 0
lea eax, [ebp - 0x38]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov word [ebp - 0x38], 2
mov ecx, dword [ebp + 0xc]
push ecx
call sub.WSOCK32.dll_inet_addr
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xffffffff
je 0x4e5852
push 4
lea edx, [ebp - 0x3c]
push edx
lea eax, [ebp - 0x34]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
jmp 0x4e58c0
mov ecx, dword [ebp + 0xc]
push ecx
call sub.WSOCK32.dll_gethostbyname
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
jne 0x4e589d
mov edx, dword [ebp - 8]
mov dword [edx + 0xe4], 0x7d5
call sub.WSOCK32.dll_WSAGetLastError
push eax
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [str.Unknown_MySQL_Server_Host___.64s___d_]
push ecx
mov edx, dword [ebp - 8]
add edx, 0x1c
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
jmp 0x4e621f
mov eax, dword [ebp - 0x108]
movsx ecx, word [eax + 0xa]
push ecx
mov edx, dword [ebp - 0x108]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x34]
push edx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov ax, word [ebp + 0x1c]
push eax
call sub.WSOCK32.dll_htons
mov word [ebp - 0x36], ax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x190]
push edx
push 0x10
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x104]
push ecx
call fcn.004e62b9
add esp, 0x10
test eax, eax
jge 0x4e5956
cmp dword [0x54fc18], 0
je 0x4e5923
push 0x548158
push 0x543
call fcn.004ea1b6
add esp, 8
mov edx, dword [ebp + 0xc]
push edx
call sub.WSOCK32.dll_WSAGetLastError
push eax
push str.Got_error__d_on_connect_to__s
call fcn.004ea1d8
add esp, 0xc
mov eax, dword [ebp - 8]
mov dword [eax + 0xe4], 0x7d3
call sub.WSOCK32.dll_WSAGetLastError
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [str.Cant_connect_to_MySQL_server_on___.64s___d_]
push edx
mov eax, dword [ebp - 8]
add eax, 0x1c
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
jmp 0x4e621f
mov ecx, dword [ebp - 8]
cmp dword [ecx], 0
je 0x4e5974
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.004eb8e0
add esp, 8
test eax, eax
je 0x4e59bd
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
call fcn.004eb090
add esp, 4
mov ecx, dword [ebp - 8]
mov dword [ecx], 0
mov edx, dword [ebp - 8]
mov dword [edx + 0xe4], 0x7d8
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xe4]
mov edx, dword [ecx*4 + 0x546e98]
push edx
mov eax, dword [ebp - 8]
add eax, 0x1c
push eax
call fcn.004eaec0
add esp, 8
jmp 0x4e621f
push 1
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
call fcn.004eb514
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x140], 0xa
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x190], 0
je 0x4e5a37
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x190]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
call fcn.004eb8d7
add esp, 8
movsx eax, al
test eax, eax
je 0x4e5a37
mov ecx, dword [ebp - 8]
mov dword [ecx + 0xe4], 0x7dd
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0xe4]
mov ecx, dword [eax*4 + 0x546e98]
push ecx
mov edx, dword [ebp - 8]
add edx, 0x1c
push edx
call fcn.004eaec0
add esp, 8
jmp 0x4e621f
mov eax, dword [ebp + 8]
push eax
call fcn.004e4a1c
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x4e5a51
jmp 0x4e621f
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x18]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x140], eax
cmp dword [0x54fc18], 0
je 0x4e5a88
push 0xa
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x18]
push eax
push str.packet
push 0x563
call fcn.004ea2df
add esp, 0x10
cmp dword [0x54fc18], 0
je 0x4e5abc
push 0x548188
push 0x565
call fcn.004ea1b6
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x140]
push edx
push 0xa
push str.mysql_protocol_version__d__server_d
call fcn.004ea1d8
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x140], 0xa
je 0x4e5b09
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x140], 9
je 0x4e5b09
mov edx, dword [ebp - 8]
mov dword [edx + 0xe4], 0x7d7
push 0xa
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x140]
push ecx
mov edx, dword [str.Protocol_mismatch._Server_Version___d_Client_Version___d]
push edx
mov eax, dword [ebp - 8]
add eax, 0x1c
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
jmp 0x4e621f
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x18]
add edx, 1
push edx
call fcn.004ef040
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 1]
mov dword [eax + 0x14c], edx
mov eax, dword [ebp - 0x20]
add eax, 5
mov dword [ebp - 0x20], eax
push 8
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x1dc
push edx
call fcn.004eae70
add esp, 0xc
mov eax, dword [ebp - 0x20]
add eax, 9
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov edx, dword [ebp - 8]
sub ecx, dword [edx + 0x18]
cmp dword [ebp - 4], ecx
jb 0x4e5b79
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cx, word [eax]
mov edx, dword [ebp + 8]
mov dword [edx + 0x13c], ecx
mov eax, dword [ebp - 0x20]
add eax, 0x12
mov ecx, dword [ebp - 8]
sub eax, dword [ecx + 0x18]
cmp dword [ebp - 4], eax
jb 0x4e5bac
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 2]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1ec], eax
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ax, word [edx + 3]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x148], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c4]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
je 0x4e5c16
mov ecx, dword [0x54fc74]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1c0], 0
je 0x4e5beb
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c0]
mov dword [0x54fc74], ecx
push 0x10
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c4]
push eax
call fcn.004ee88b
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1e8], eax
mov edx, dword [ebp - 0x10c]
mov dword [0x54fc74], edx
jmp 0x4e5c94
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1ec], 0
je 0x4e5c86
lea ecx, [ebp - 0x18]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1ec]
push eax
push 0x5481b8
mov ecx, dword [ebp - 0xfc]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0x10
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 0x1ec]
push eax
call fcn.004ee1b2
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1e8], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1e8], 0
jne 0x4e5c84
mov eax, dword [ebp + 8]
mov ecx, dword [0x54a710]
mov dword [eax + 0x1e8], ecx
jmp 0x4e5c94
mov edx, dword [ebp + 8]
mov eax, dword [0x54a710]
mov dword [edx + 0x1e8], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1e8], 0
jne 0x4e5d76
mov edx, dword [ebp - 8]
mov dword [edx + 0xe4], 0x7e3
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1c0], 0
je 0x4e5d12
cmp dword [ebp - 0xfc], 0
je 0x4e5cd4
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x330], ecx
jmp 0x4e5cde
mov dword [ebp - 0x330], 0x5481bc
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c0]
push eax
mov ecx, dword [ebp - 0x330]
push ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0xe4]
mov ecx, dword [eax*4 + 0x546e98]
push ecx
mov edx, dword [ebp - 8]
add edx, 0x1c
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
jmp 0x4e5d71
lea eax, [ebp - 0x30c]
push eax
call fcn.004edba0
add esp, 4
cmp dword [ebp - 0xfc], 0
je 0x4e5d38
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x334], ecx
jmp 0x4e5d42
mov dword [ebp - 0x334], 0x5481c4
lea edx, [ebp - 0x30c]
push edx
mov eax, dword [ebp - 0x334]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0xe4]
mov eax, dword [edx*4 + 0x546e98]
push eax
mov ecx, dword [ebp - 8]
add ecx, 0x1c
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
jmp 0x4e621f
cmp dword [ebp + 0x10], 0
jne 0x4e5d83
mov dword [ebp + 0x10], 0x54fbe4
cmp dword [ebp + 0x14], 0
jne 0x4e5d90
mov dword [ebp + 0x14], 0x54fbe8
cmp dword [ebp + 0x20], 0
je 0x4e5dad
mov edx, dword [ebp + 0x20]
push edx
call sub.MSVCRT.dll_strlen
add esp, 4
add eax, 1
mov dword [ebp - 0x338], eax
jmp 0x4e5db7
mov dword [ebp - 0x338], 1
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
sub ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x124
push edx
mov eax, dword [ebp - 0x338]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x120
push ecx
mov edx, dword [ebp + 0xc]
push edx
call sub.MSVCRT.dll_strlen
add esp, 4
add eax, 1
push eax
mov eax, dword [ebp + 8]
add eax, 0x114
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
call sub.MSVCRT.dll_strlen
add esp, 4
add eax, 1
push eax
mov edx, dword [ebp + 8]
add edx, 0x128
push edx
push 0
call fcn.004eda70
add esp, 0x28
test eax, eax
je 0x4e5e68
push 0
mov eax, dword [ebp + 0x10]
push eax
call fcn.004ecc09
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x118], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x118], 0
je 0x4e5e68
push 0
mov eax, dword [ebp + 0x14]
push eax
call fcn.004ecc09
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x11c], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x11c], 0
jne 0x4e5e9c
mov eax, dword [ebp - 8]
mov dword [eax + 0xe4], 0x7d8
mov ecx, 0x7d8
sub ecx, 0x7d0
mov edx, dword [ecx*4 + 0x548dd8]
push edx
mov eax, dword [ebp - 8]
add eax, 0x1c
push eax
call fcn.004eaec0
add esp, 8
jmp 0x4e621f
mov ecx, dword [ebp - 0xf4]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x128]
push eax
call fcn.004eaec0
add esp, 8
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x114]
push eax
call fcn.004eaec0
add esp, 8
cmp dword [ebp + 0x20], 0
je 0x4e5ee9
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x120]
push eax
call fcn.004eaec0
add esp, 8
jmp 0x4e5ef6
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x120], 0
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x18]
add eax, 1
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x124]
push edx
call fcn.004eaec0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 0x134], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
or eax, dword [edx + 0x194]
mov dword [ebp + 0x24], eax
mov ecx, dword [ebp + 0x24]
or ecx, 0x2005
mov dword [ebp + 0x24], ecx
cmp dword [ebp + 0x18], 0
je 0x4e5f48
mov edx, dword [ebp + 0x24]
or edx, 8
mov dword [ebp + 0x24], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x13c]
and ecx, 0x20
test ecx, ecx
je 0x4e5f7b
mov edx, dword [ebp + 8]
movsx eax, byte [edx + 0x198]
test eax, eax
jne 0x4e5f70
mov ecx, dword [ebp + 0x24]
and ecx, 0x20
test ecx, ecx
je 0x4e5f7b
mov edx, dword [ebp + 0x24]
or edx, 0x20
mov dword [ebp + 0x24], edx
jmp 0x4e5f83
mov eax, dword [ebp + 0x24]
and al, 0xdf
mov dword [ebp + 0x24], eax
mov cx, word [ebp + 0x24]
mov word [ebp - 0xf0], cx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
mov dword [edx + 0x138], eax
cmp dword [0x54fc18], 0
je 0x4e5fe4
push 0x5481cc
push 0x5f7
call fcn.004ea1b6
add esp, 8
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x148]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x13c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x124]
push ecx
push str.Server_version___s__capabilites:__ld__status:__d__client_flag:__d
call fcn.004ea1d8
add esp, 0x14
mov dl, byte [0x5498dc]
mov byte [ebp - 0xee], dl
mov eax, dword [0x5498dc]
shr eax, 8
mov byte [ebp - 0xed], al
mov ecx, dword [0x5498dc]
shr ecx, 0x10
mov byte [ebp - 0xec], cl
cmp dword [ebp + 0x10], 0
je 0x4e6034
mov edx, dword [ebp + 0x10]
movsx eax, byte [edx]
test eax, eax
je 0x4e6034
push 0x20
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0xeb]
push edx
call fcn.004eae70
add esp, 0xc
jmp 0x4e6043
lea eax, [ebp - 0xeb]
push eax
call fcn.004e62cf
add esp, 4
cmp dword [0x54fc18], 0
je 0x4e6072
push 0x54821c
push 0x601
call fcn.004ea1b6
add esp, 8
lea ecx, [ebp - 0xeb]
push ecx
push str.user:__s
call fcn.004ea1d8
add esp, 8
mov edx, dword [ebp + 8]
xor eax, eax
cmp dword [edx + 0x140], 9
sete al
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x1dc
push edx
lea eax, [ebp - 0xeb]
push eax
call fcn.004ef040
add esp, 4
add eax, 1
push eax
call fcn.004ed7bf
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [ebp + 0x18], 0
je 0x4e60fa
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x13c]
and edx, 8
test edx, edx
je 0x4e60fa
push 0x40
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
push ecx
call fcn.004eae70
add esp, 0xc
mov dword [ebp - 0x20], eax
push 0x10
mov edx, dword [ebp + 0x18]
push edx
call fcn.004ecc09
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x130], eax
mov dword [ebp + 0x18], 0
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0xf0]
sub edx, eax
push edx
lea ecx, [ebp - 0xf0]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.004ebba2
add esp, 0xc
test eax, eax
jne 0x4e613e
mov eax, dword [ebp - 8]
push eax
call fcn.004ebb11
add esp, 4
test eax, eax
jne 0x4e613e
mov ecx, dword [ebp + 8]
push ecx
call fcn.004e4a1c
add esp, 4
cmp eax, 0xffffffff
jne 0x4e6143
jmp 0x4e621f
mov edx, dword [ebp + 0x24]
and edx, 0x20
test edx, edx
je 0x4e6157
mov eax, dword [ebp - 8]
mov byte [eax + 0xf6], 1
cmp dword [ebp + 0x18], 0
je 0x4e6173
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004e6b95
test eax, eax
je 0x4e6173
jmp 0x4e621f
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1a4], 0
je 0x4e61cf
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + 0x18d]
mov byte [ebp - 0x310], dl
mov eax, dword [ebp + 8]
mov byte [eax + 0x18d], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1a4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004e6e89
test eax, eax
je 0x4e61b1
jmp 0x4e621f
mov ecx, dword [ebp + 8]
push ecx
call fcn.004e7ff5
push eax
call fcn.004e5008
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x310]
mov byte [edx + 0x18d], al
cmp dword [0x54fc18], 0
je 0x4e61fb
push 0x548230
push 0x61b
call fcn.004ea1b6
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
push str.Mysql_handler:__lx
call fcn.004ea1d8
add esp, 8
lea edx, [ebp - 0xf8]
push edx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x28]
push ecx
push 0x61d
call fcn.004ea08d
add esp, 0x10
mov eax, dword [ebp + 8]
jmp 0x4e62b3
cmp dword [0x54fc18], 0
je 0x4e6258
push 0x54824c
push 0x621
call fcn.004ea1b6
add esp, 8
mov edx, dword [ebp - 8]
add edx, 0x1c
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xe4]
push ecx
push str.message:__u___s_
call fcn.004ea1d8
add esp, 0xc
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x18c]
mov byte [ebp - 0x314], al
mov ecx, dword [ebp + 8]
push ecx
call fcn.004e4eb4
add esp, 4
mov edx, dword [ebp + 8]
mov byte [edx + 0x18c], 0
mov eax, dword [ebp + 8]
push eax
call fcn.004e6c80
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x314]
mov byte [ecx + 0x18c], dl
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x28]
push edx
push 0x62a
call fcn.004ea08d
add esp, 0x10
xor eax, eax
mov esp, ebp
pop ebp
ret 0x20