Function at 0x1014ed90
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
sub esp, 0xaf0
push ebx
push ebp
mov ebp, dword [esp + 0xafc]
mov dword [ebp + 0x398], 0x103a2c80
mov dword [ebp], 0
mov dword [ebp + 0x2dc], 0
mov eax, dword [ebp + 0x328]
test eax, eax
push esi
push edi
jne 0x1014edd9
mov ecx, dword [ebp + 0x32c]
test ecx, ecx
je 0x1014ee1c
test eax, eax
jne 0x1014edd9
mov eax, 0x103a2fa8
mov ecx, dword [ebp + 0x32c]
push ecx
push eax
lea edx, [ebp + 0x2f8]
push edx
call fcn.1014e290
mov eax, dword [ebp + 0x328]
push eax
call fcn.10152750
mov ecx, dword [ebp + 0x32c]
push ecx
call fcn.10152750
mov dword [ebp + 0x32c], 0
add esp, 0x14
mov dword [ebp + 0x328], 0
mov edx, dword [esp + 0xb08]
test edx, edx
je 0x1014ee2c
cmp byte [edx], 0
jne 0x1014ee39
mov edx, dword [ebp + 0x310]
mov dword [esp + 0xb08], edx
mov eax, dword [esp + 0xb0c]
test eax, eax
mov esi, 0x10493b10
je 0x1014ee4e
cmp byte [eax], 0
jne 0x1014ee66
mov eax, dword [ebp + 0x314]
test eax, eax
mov dword [esp + 0xb0c], eax
jne 0x1014ee66
mov dword [esp + 0xb0c], esi
mov eax, dword [esp + 0xb10]
test eax, eax
jne 0x1014eea8
mov eax, dword [ebp + 0x318]
test eax, eax
mov dword [esp + 0xb10], eax
jne 0x1014eea8
push str.MYSQL_PWD
call fcn.1013bbc2
add esp, 4
test eax, eax
mov dword [esp + 0xb10], eax
jne 0x1014eea1
mov dword [esp + 0xb10], esi
mov edx, dword [esp + 0xb08]
mov eax, dword [esp + 0xb14]
test eax, eax
je 0x1014eeb8
cmp byte [eax], 0
jne 0x1014eec5
mov eax, dword [ebp + 0x320]
mov dword [esp + 0xb14], eax
mov eax, dword [esp + 0xb18]
test eax, eax
jne 0x1014eedd
mov ecx, dword [ebp + 0x304]
mov dword [esp + 0xb18], ecx
mov eax, dword [esp + 0xb1c]
test eax, eax
jne 0x1014eef5
mov eax, dword [ebp + 0x31c]
mov dword [esp + 0xb1c], eax
mov byte [ebp + 0x36d], 1
mov dword [ebp + 0x2ec], 2
mov eax, dword [ebp + 0x308]
test eax, eax
mov edi, 4
je 0x1014ef1d
cmp eax, edi
jne 0x1014efa7
test edx, edx
je 0x1014ef55
mov esi, str.localhost
mov eax, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x1014ef4c
test cl, cl
je 0x1014ef48
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x1014ef4c
add eax, 2
add esi, 2
test cl, cl
jne 0x1014ef28
xor eax, eax
jmp 0x1014ef51
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1014efa7
mov ecx, dword [ebp + 0x2f8]
push ecx
push ebp
push ebp
call fcn.1014da60
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1014ef80
cmp dword [ebp + 0x308], edi
je 0x1014fb2d
mov edx, dword [esp + 0xb08]
jmp 0x1014efa7
mov dword [ebp + 0x308], edi
mov edx, dword [ebp + 0x34c]
mov eax, dword [str.Shared_memory___lu_]
mov dword [esp + 0xb1c], 0
mov dword [esp + 0xb08], edx
mov dword [esp + 0x18], eax
cmp dword [ebp], 0
mov edi, 3
jne 0x1014f323
cmp dword [ebp + 0x308], edi
je 0x1014f023
test edx, edx
je 0x1014eff6
mov esi, 0x102afdcc
mov eax, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x1014efed
test cl, cl
je 0x1014efe9
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x1014efed
add eax, 2
add esi, 2
test cl, cl
jne 0x1014efc9
xor eax, eax
jmp 0x1014eff2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1014f023
mov al, byte [0x104a5e38]
test al, al
jne 0x1014f11a
mov eax, dword [esp + 0xb1c]
test eax, eax
jne 0x1014f023
test edx, edx
jne 0x1014f11a
call fcn.1014fb70
test al, al
je 0x1014f113
mov eax, dword [ebp + 0x2f8]
lea ecx, [esp + 0xb1c]
push ecx
lea edx, [esp + 0xb0c]
push edx
push eax
push ebp
call fcn.1014d800
add esp, 0x10
cmp eax, 0xffffffff
jne 0x1014f0de
cmp dword [ebp + 0x308], edi
je 0x1014fb2d
mov edx, dword [esp + 0xb08]
test edx, edx
je 0x1014f09b
mov esi, 0x102afdcc
mov eax, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x1014f08e
test cl, cl
je 0x1014f08a
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x1014f08e
add eax, 2
add esi, 2
test cl, cl
jne 0x1014f06a
xor eax, eax
jmp 0x1014f093
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1014fb2d
mov eax, dword [esp + 0xb1c]
test eax, eax
je 0x1014f11a
mov esi, str.MySQL
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x1014f0cf
test cl, cl
je 0x1014f0cb
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x1014f0cf
add eax, 2
add esi, 2
test cl, cl
jne 0x1014f0ab
xor eax, eax
jmp 0x1014f0d4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1014fb2d
jmp 0x1014f11a
push eax
call fcn.10151a20
mov edx, dword [esp + 0xb20]
push edx
mov dword [ebp], eax
mov eax, dword [esp + 0xb10]
lea ecx, [esp + 0x34]
mov dword [esp + 0x20], ecx
mov ecx, dword [str.__.100s_via_named_pipe]
push eax
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.1013e2a8
add esp, 0x14
mov edx, dword [esp + 0xb08]
cmp dword [ebp], 0
jne 0x1014f323
mov eax, dword [ebp + 0x308]
test eax, eax
je 0x1014f137
cmp eax, 1
jne 0x1014f323
mov eax, dword [esp + 0xb18]
test eax, eax
mov dword [esp + 0xb1c], 0
jne 0x1014f159
mov eax, dword [0x104a5e1c]
mov dword [esp + 0xb18], eax
test edx, edx
jne 0x1014f169
mov edx, str.localhost
mov dword [esp + 0xb08], edx
push edx
mov edx, dword [str.__.100s_via_TCP_IP]
push edx
lea eax, [esp + 0x34]
lea ecx, [esp + 0x34]
push eax
mov dword [esp + 0x24], ecx
call fcn.1013e2a8
add esp, 0xc
push 0
push 1
push 2
call sub.WS2_32.dll_socket
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x1014f1dd
mov dword [ebp + 0x25c], 0x7d4
mov ecx, dword [str.HY000]
push ecx
lea edx, [ebp + 0x254]
push edx
call fcn.10151870
add esp, 8
call sub.WS2_32.dll_WSAGetLastError
push eax
mov eax, dword [ebp + 0x25c]
mov ecx, dword [eax*4 + 0x103a10f4]
push ecx
lea edx, [ebp + 0x54]
push edx
call fcn.1013e2a8
add esp, 0xc
jmp 0x1014fb2d
push 0
push 1
push ebx
call fcn.101519c0
mov ecx, dword [esp + 0xb14]
mov dword [ebp], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
add esp, 0xc
mov dword [esp + 0x24], eax
push ecx
mov dword [esp + 0x2c], eax
mov word [esp + 0x20], 2
call sub.WS2_32.dll_inet_addr
cmp eax, 0xffffffff
je 0x1014f221
mov dword [esp + 0x20], eax
jmp 0x1014f2b5
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0xb0c]
push 0x800
lea eax, [esp + 0x308]
push eax
lea ecx, [esp + 0xfc]
push ecx
push edx
call fcn.10154d10
add esp, 0x14
test eax, eax
jne 0x1014f295
call fcn.10154d40
mov dword [ebp + 0x25c], 0x7d5
mov eax, dword [str.HY000]
push eax
lea ecx, [ebp + 0x254]
push ecx
call fcn.10151870
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xb10]
mov ecx, dword [str.Unknown_MySQL_Server_Host___.100s___d_]
push edx
push eax
push ecx
lea edx, [ebp + 0x54]
push edx
call fcn.1013e2a8
add esp, 0x18
jmp 0x1014fb2d
movsx ecx, word [eax + 0xa]
mov eax, dword [eax + 0xc]
mov esi, dword [eax]
mov edx, ecx
shr ecx, 2
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.10154d40
mov eax, dword [esp + 0xb18]
push eax
call sub.WS2_32.dll_htons
mov ecx, dword [ebp + 0x2f8]
push ecx
push 0x10
lea edx, [esp + 0x24]
push edx
push ebx
mov word [esp + 0x2e], ax
call fcn.1014d7e0
add esp, 0x10
test eax, eax
je 0x1014f323
mov dword [ebp + 0x25c], 0x7d3
mov eax, dword [str.HY000]
push eax
lea ecx, [ebp + 0x254]
push ecx
call fcn.10151870
add esp, 8
call sub.WS2_32.dll_WSAGetLastError
mov edx, dword [esp + 0xb08]
push eax
mov eax, dword [str.Cant_connect_to_MySQL_server_on___.100s___d_]
push edx
push eax
lea ecx, [ebp + 0x54]
push ecx
call fcn.1013e2a8
jmp 0x1014fb2a
mov eax, dword [ebp]
test eax, eax
jne 0x1014f352
mov edx, dword [str.HY000]
push edx
lea eax, [ebp + 0x254]
push eax
call fcn.10151870
mov dword [ebp + 0x25c], 0x7fe
mov ecx, dword [str.Wrong_or_unknown_protocol]
jmp 0x1014fb20
push eax
push ebp
call fcn.10151d10
add esp, 8
test al, al
mov eax, dword [ebp]
je 0x1014f3a9
push eax
call dword [eax + 0x54]
mov dword [ebp], 0
mov dword [ebp + 0x25c], 0x7d8
mov eax, dword [str.HY000]
push eax
lea ecx, [ebp + 0x254]
push ecx
call fcn.10151870
mov edx, dword [ebp + 0x25c]
mov eax, dword [edx*4 + 0x103a10f4]
push eax
lea ecx, [ebp + 0x54]
push ecx
call fcn.10151870
add esp, 0x14
jmp 0x1014fb2d
push 1
push eax
call dword [eax + 0x6c]
mov eax, dword [ebp + 0x2fc]
add esp, 8
test eax, eax
je 0x1014f3bf
mov dword [ebp + 0x2c], eax
mov eax, dword [ebp + 0x300]
test eax, eax
je 0x1014f3cc
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x350]
test eax, eax
je 0x1014f3d9
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x2f8]
test eax, eax
mov dword [ebp + 0x2e4], 0xa
je 0x1014f431
mov edx, dword [ebp]
push eax
push edx
call fcn.10154a10
add esp, 8
test al, al
je 0x1014f431
mov dword [ebp + 0x25c], 0x7dd
mov eax, dword [str.HY000]
push eax
lea ecx, [ebp + 0x254]
push ecx
call fcn.10151870
mov edx, dword [ebp + 0x25c]
mov eax, dword [edx*4 + 0x103a10f4]
push eax
lea ecx, [ebp + 0x54]
push ecx
jmp 0x1014fb25
push ebp
call fcn.1014de60
mov ebx, eax
add esp, 4
cmp ebx, 0xffffffff
je 0x1014fb2d
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0xa
mov dword [ebp + 0x2e4], ecx
je 0x1014f495
mov edx, dword [str.HY000]
push edx
lea eax, [ebp + 0x254]
push eax
call fcn.10151870
mov ecx, dword [ebp + 0x2e4]
push 0xa
mov dword [ebp + 0x25c], 0x7d7
mov edx, dword [str.Protocol_mismatch._Server_Version___d_Client_Version___d]
push ecx
push edx
lea eax, [ebp + 0x54]
push eax
call fcn.1013e2a8
add esp, 0x18
jmp 0x1014fb2d
inc eax
push eax
call fcn.101547f0
mov esi, eax
mov ecx, dword [esi + 1]
push 8
add esi, 5
lea eax, [ebp + 0x36e]
push esi
push eax
mov dword [ebp + 0x2d0], ecx
call fcn.10151cd0
mov ecx, dword [ebp + 0x10]
add esi, 9
mov eax, esi
sub eax, ecx
lea edx, [eax + 1]
add esp, 0x10
cmp ebx, edx
jb 0x1014f4d8
xor edx, edx
mov dx, word [esi]
mov dword [ebp + 0x2e0], edx
add eax, 0x12
cmp ebx, eax
jb 0x1014f4f5
movsx eax, byte [esi + 2]
xor edx, edx
mov dword [ebp + 0x2f0], eax
mov dx, word [esi + 3]
mov dword [ebp + 0x2ec], edx
add esi, 0x12
mov eax, esi
sub eax, ecx
add eax, 0xd
cmp ebx, eax
jb 0x1014f517
push 0xc
lea ecx, [ebp + 0x376]
push esi
push ecx
call fcn.10151cd0
add esp, 0xc
jmp 0x1014f521
and dword [ebp + 0x2e0], 0xffff7fff
mov al, byte [ebp + 0x364]
test al, al
je 0x1014f56e
mov edx, dword [esp + 0xb10]
cmp byte [edx], 0
je 0x1014f56e
mov eax, dword [ebp + 0x2e0]
test ah, 0x80
jne 0x1014f56e
mov eax, dword [str.HY000]
push eax
lea ecx, [ebp + 0x254]
push ecx
call fcn.10151870
mov dword [ebp + 0x25c], 0x800
mov edx, dword [str.Connection_using_old__pre_4.1.1__authentication_protocol_refused__client_option_secure_auth_enabled_]
push edx
lea eax, [ebp + 0x54]
push eax
jmp 0x1014fb25
mov ebx, dword [ebp + 0x334]
test ebx, ebx
mov eax, dword [ebp + 0x2f0]
mov dword [esp + 0x14], eax
je 0x1014f5d2
mov eax, dword [ebp + 0x330]
test eax, eax
mov edi, dword [0x104a5e30]
je 0x1014f597
mov dword [0x104a5e30], eax
mov ecx, dword [ebp + 0x334]
push 0x10
push 0x20
push ecx
call fcn.10154540
add esp, 0xc
test eax, eax
mov dword [ebp + 0x290], eax
je 0x1014f5c2
mov edx, dword [eax]
mov dword [esp + 0x14], edx
mov dword [0x104a5e30], edi
jmp 0x1014f62b
mov dword [esp + 0x14], 0
mov dword [0x104a5e30], edi
jmp 0x1014f62b
test eax, eax
je 0x1014f617
push 0xa
lea ecx, [esp + 0xe4]
push ecx
push eax
lea ebx, [esp + 0xec]
call fcn.10151be0
xor edx, edx
mov dl, byte [ebp + 0x2f0]
push 0
push edx
call fcn.10154430
add esp, 0x14
test eax, eax
mov dword [ebp + 0x290], eax
jne 0x1014f62b
mov eax, dword [0x103a3b2c]
mov dword [ebp + 0x290], eax
jmp 0x1014f62b
mov ecx, dword [0x103a3b2c]
mov edx, ecx
mov dword [ebp + 0x290], ecx
mov eax, dword [edx]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x290]
test eax, eax
jne 0x1014f6d8
mov dword [ebp + 0x25c], 0x7e3
mov ecx, dword [str.HY000]
push ecx
lea edx, [ebp + 0x254]
push edx
call fcn.10151870
mov eax, dword [ebp + 0x330]
add esp, 8
test eax, eax
je 0x1014f692
test ebx, ebx
jne 0x1014f66c
mov ebx, str.unknown
push eax
mov eax, dword [ebp + 0x25c]
mov ecx, dword [eax*4 + 0x103a10f4]
push ebx
push ecx
lea edx, [ebp + 0x54]
push 0x1ff
push edx
call fcn.101545d0
add esp, 0x14
jmp 0x1014fb2d
lea eax, [esp + 0x100]
push eax
call fcn.10153ac0
add esp, 4
test ebx, ebx
jne 0x1014f6ab
mov ebx, str.unknown
mov edx, dword [ebp + 0x25c]
mov eax, dword [edx*4 + 0x103a10f4]
lea ecx, [esp + 0x100]
push ecx
push ebx
push eax
lea ecx, [ebp + 0x54]
push 0x1ff
push ecx
call fcn.101545d0
add esp, 0x14
jmp 0x1014fb2d
mov eax, dword [esp + 0xb1c]
test eax, eax
je 0x1014f6f0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
jmp 0x1014f6f5
mov ecx, 1
sub esi, dword [ebp + 0x10]
push 0
push esi
mov esi, dword [esp + 0x20]
lea eax, [ebp + 0x280]
push eax
push ecx
or ecx, 0xffffffff
lea edi, [ebp + 0x27c]
push edi
mov edi, dword [esp + 0xb1c]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
or ecx, 0xffffffff
mov edi, esi
repne scasb al, byte es:[edi]
lea ebx, [ebp + 0x270]
push ebx
not ecx
push ecx
lea edx, [ebp + 0x284]
push edx
push eax
call fcn.10153a50
add esp, 0x28
test eax, eax
je 0x1014fafd
mov edi, dword [esp + 0xb0c]
push 0
push edi
call fcn.101527a0
add esp, 8
test eax, eax
mov dword [ebp + 0x274], eax
je 0x1014fafd
mov edx, dword [esp + 0xb10]
push 0
push edx
call fcn.101527a0
add esp, 8
test eax, eax
mov dword [ebp + 0x278], eax
je 0x1014fafd
mov eax, dword [ebp + 0x284]
push esi
push eax
call fcn.10151870
mov ecx, dword [esp + 0xb10]
mov edx, dword [ebx]
push ecx
push edx
call fcn.10151870
mov eax, dword [esp + 0xb2c]
add esp, 0x10
test eax, eax
je 0x1014f7c5
push eax
mov eax, dword [ebp + 0x27c]
push eax
call fcn.10151870
add esp, 8
jmp 0x1014f7cf
mov dword [ebp + 0x27c], 0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x280]
inc ecx
push ecx
push edx
call fcn.10151870
mov edx, dword [ebp + 0x30c]
mov ecx, dword [esp + 0xb28]
mov eax, dword [esp + 0xb20]
or edx, 0xa285
or ecx, edx
add esp, 8
test ecx, 0x10000
mov dword [ebp + 0x2d8], eax
je 0x1014f813
or ecx, 0x20000
mov ebx, dword [esp + 0xb14]
test ebx, ebx
je 0x1014f821
or ecx, 8
mov eax, dword [ebp + 0x2e0]
or eax, 0xfffff5df
and ecx, eax
test ch, 2
mov dword [esp + 0xb20], ecx
je 0x1014f872
mov edx, dword [ebp + 0x1c]
mov al, byte [esp + 0x14]
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x35], edx
mov dword [esp + 0x39], edx
mov dword [esp + 0x3d], edx
mov dword [esp + 0x41], edx
mov dword [esp + 0x45], edx
mov word [esp + 0x49], dx
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x34], al
mov byte [esp + 0x4b], dl
lea esi, [esp + 0x4c]
jmp 0x1014f895
mov al, byte [ebp + 0x1c]
mov byte [esp + 0x2e], al
mov eax, dword [ebp + 0x1c]
mov edx, eax
shr edx, 8
shr eax, 0x10
mov word [esp + 0x2c], cx
mov byte [esp + 0x2f], dl
mov byte [esp + 0x30], al
lea esi, [esp + 0x31]
test edi, edi
mov dword [ebp + 0x2dc], ecx
je 0x1014f8b2
cmp byte [edi], 0
je 0x1014f8b2
push 0x10
push edi
push esi
call fcn.10151cd0
add esp, 0xc
jmp 0x1014f8bb
push esi
call fcn.10150c20
add esp, 4
push esi
call fcn.101547f0
mov edi, dword [esp + 0xb14]
mov esi, eax
mov al, byte [edi]
add esp, 4
inc esi
test al, al
je 0x1014f90f
mov eax, dword [ebp + 0x2e0]
test ah, 0x80
je 0x1014f8f9
push edi
lea eax, [ebp + 0x36e]
mov byte [esi], 0x14
push eax
inc esi
push esi
call fcn.10153950
add esp, 0xc
add esi, 0x14
jmp 0x1014f913
push edi
lea eax, [ebp + 0x36e]
push eax
push esi
call fcn.10153840
add esp, 0xc
add esi, 9
jmp 0x1014f913
mov byte [esi], 0
inc esi
test ebx, ebx
je 0x1014f93f
test byte [ebp + 0x2e0], 8
je 0x1014f93f
push 0x40
push ebx
push esi
call fcn.10151cd0
inc eax
push 0x10
push ebx
mov esi, eax
call fcn.101527a0
add esp, 0x14
mov dword [ebp + 0x28c], eax
xor ebx, ebx
lea eax, [esp + 0x2c]
sub esi, eax
push esi
lea ecx, [esp + 0x30]
push ecx
push ebp
call fcn.10151ef0
add esp, 0xc
test al, al
jne 0x1014fad4
push ebp
call fcn.10151eb0
add esp, 4
test al, al
jne 0x1014fad4
push ebp
call fcn.1014de60
add esp, 4
cmp eax, 0xffffffff
je 0x1014fb2d
cmp eax, 1
jne 0x1014fa19
mov edx, dword [ebp + 0x10]
cmp byte [edx], 0xfe
jne 0x1014fa19
mov eax, dword [ebp + 0x2e0]
test ah, 0x80
je 0x1014fa19
push edi
lea eax, [ebp + 0x36e]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.10153840
push 9
lea ecx, [esp + 0x3c]
push ecx
push ebp
call fcn.10151ef0
add esp, 0x18
test al, al
jne 0x1014f9e5
push ebp
call fcn.10151eb0
add esp, 4
test al, al
jne 0x1014f9e5
push ebp
call fcn.1014de60
add esp, 4
cmp eax, 0xffffffff
jne 0x1014fa19
jmp 0x1014fb2d
mov dword [ebp + 0x25c], 0x7dd
mov edx, dword [str.HY000]
push edx
lea eax, [ebp + 0x254]
push eax
call fcn.10151870
mov ecx, dword [ebp + 0x25c]
mov edx, dword [ecx*4 + 0x103a10f4]
push edx
lea eax, [ebp + 0x54]
push eax
jmp 0x1014fb25
test byte [esp + 0xb20], 0x20
je 0x1014fa27
mov byte [ebp + 0x38], 1
test ebx, ebx
je 0x1014fa3a
push ebx
push ebp
call fcn.1014fdb0
test eax, eax
jne 0x1014fb2d
mov eax, dword [ebp + 0x324]
test eax, eax
je 0x1014fab1
mov esi, dword [eax]
mov ecx, dword [eax + 4]
mov dl, byte [ebp + 0x36d]
lea ebx, [esi + ecx*4]
cmp esi, ebx
mov byte [esp + 0x13], dl
mov byte [ebp + 0x36d], 0
jae 0x1014faa7
mov edx, dword [esi]
or ecx, 0xffffffff
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push ebp
call fcn.101502b0
test eax, eax
jne 0x1014fb2d
mov eax, dword [ebp + 0x294]
test eax, eax
je 0x1014faa0
push ebp
call fcn.10150450
add esp, 4
test eax, eax
je 0x1014fb2d
push eax
call fcn.1014e1c0
add esi, 4
cmp esi, ebx
jb 0x1014fa61
mov al, byte [esp + 0x13]
mov byte [ebp + 0x36d], al
mov al, byte [ebp + 0x357]
test al, al
je 0x1014fac5
push ebp
call fcn.101508c0
test al, al
jne 0x1014fb2d
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0xaf0
ret 0x20
mov ecx, dword [str.HY000]
push ecx
lea edx, [ebp + 0x254]
push edx
call fcn.10151870
mov dword [ebp + 0x25c], 0x7dd
mov eax, dword [str.Lost_connection_to_MySQL_server_during_query]
push eax
lea ecx, [ebp + 0x54]
push ecx
jmp 0x1014fb25
mov edx, dword [str.HY000]
push edx
lea eax, [ebp + 0x254]
push eax
call fcn.10151870
mov dword [ebp + 0x25c], 0x7d8
mov ecx, dword [str.MySQL_client_run_out_of_memory]
push ecx
lea edx, [ebp + 0x54]
push edx
call fcn.10151870
add esp, 0x10
push ebp
call fcn.1014e190
push ebp
call fcn.1014ff00
mov eax, dword [esp + 0xb28]
add esp, 8
test eax, 0x80000000
jne 0x1014fb53
push ebp
call fcn.1014fe10
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xaf0
ret 0x20