Function at 0x4085c1
Capabilities:
Enumerate pe sections

Disassembly:
jmp 0x539cd0
sub esp, 0x3d4
mov eax, dword [0x93e25c]
push ebx
push ebp
mov ebp, dword [esp + 0x3e4]
mov dword [esp + 0x3d8], eax
mov eax, dword [ebp + 0xb9c]
xor ecx, ecx
cmp eax, 0x525
push esi
push edi
mov dword [esp + 0x1c], ecx
je 0x539d09
cmp dword [ebp + 0xb9c], 1
jne 0x539d18
mov eax, dword [ebp + 0x8c4]
mov dword [ebp + 0xb9c], ecx
mov dword [eax + 0x5c], ecx
mov ebx, dword [esp + 0x3e8]
mov edx, dword [ebp + 0x2c]
mov esi, 1
mov dword [ebp + 0x8c8], ebx
mov dword [ebp + 0xc18], esi
mov dword [edx + 0x714], 0x78
mov eax, dword [ebp + 0x8e0]
cmp eax, ecx
lea edi, [ebp + 0x8d8]
je 0x539d51
mov dword [edi], eax
jmp 0x539d5a
push edi
call fcn.006d15df
add esp, 4
push 0x974678
mov dword [ebp + 0x8dc], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp ebx, 9
mov eax, dword [0x974b10]
mov dword [ebp + 0xb30], eax
mov ecx, dword [0x974b14]
mov dword [ebp + 0xb34], ecx
je 0x539da7
cmp ebx, 0xe
je 0x539da7
mov ecx, dword [0x974b10]
mov eax, dword [0x974b14]
add ecx, esi
adc eax, 0
mov dword [0x974b10], ecx
mov dword [0x974b14], eax
mov edx, dword [0x9745a4]
inc edx
push 0x974678
mov dword [0x9745a4], edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [ebp + 0xb68]
and edx, 0xffffffcf
lea eax, [ebx - 1]
cmp eax, 0x1b
mov dword [ebp + 0xb68], edx
ja case.0x539dda.11
jmp dword [eax*4 + 0x53aee0]
lea eax, [ebp + 0x564]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [esp + 0x3f0]
mov eax, edx
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x539e00
mov ecx, dword [ebp + 0x494]
push ecx
sub eax, edi
push eax
push edx
mov edx, dword [0x9749e0]
push edx
lea eax, [esp + 0x30]
push eax
mov ecx, ebp
call fcn.00409d1d
push 0
lea ecx, [esp + 0x24]
push ecx
push ebp
call fcn.00406429
add esp, 0xc
test eax, eax
jne 0x53acee
mov edx, dword [ebp + 0x814]
push edx
push 0x75cb94
push ebx
push ebp
push 0x81d868
call fcn.00406352
push 0
push 0
push 0
push 0
push ebp
call fcn.00409854
add esp, 0x28
jmp 0x53acee
mov eax, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x3f0]
push eax
push ecx
push ebp
call fcn.0040297d
add esp, 0xc
test eax, eax
jne 0x53acee
jmp 0x53ab93
mov eax, dword [esp + 0x3f0]
movzx ebx, byte [eax]
mov ecx, dword [esp + 0x3f4]
cmp ebx, ecx
jae case.0x539dda.11
cmp ebx, 0x40
ja case.0x539dda.11
movzx eax, byte [ebx + eax + 1]
lea edi, [eax + ebx + 2]
cmp edi, ecx
mov dword [esp + 0x14], eax
ja 0x539f49
cmp eax, 0x40
ja 0x539f49
lea edx, [ebp + 0x4d0]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
movsx eax, byte [0x974bbc]
push edi
lea ecx, [ebp + 0xc]
mov dword [ebp + 0xc18], eax
call fcn.004056eb
mov edi, eax
test edi, edi
jne 0x539f0e
mov ecx, dword [0x974690]
mov edx, dword [ecx + 0xa4]
push eax
push edx
push 0x411
jmp 0x53ace6
mov eax, dword [esp + 0x3f0]
push ebx
inc eax
push eax
push edi
call fcn.0062b670
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x3fc]
mov esi, eax
push ecx
lea eax, [ebx + edx + 2]
push eax
inc esi
push esi
call fcn.0062b670
push esi
push edi
mov esi, ebp
call fcn.00531ea0
add esp, 0x20
jmp 0x53acee
mov ecx, dword [0x974690]
mov edx, dword [ecx + 0xbc]
push 0
push edx
jmp 0x53ace1
mov ecx, ebp
call fcn.0040515f
mov ecx, ebp
call fcn.00405ae7
lea edx, [ebp + 0x4d0]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x3f0]
push eax
call fcn.0062b6a0
mov ecx, dword [ebp + 0x884]
add esp, 4
inc eax
test ch, ch
mov dword [esp + 0x28], eax
mov edx, eax
jns 0x539fa3
movzx ecx, byte [eax]
inc eax
mov dword [esp + 0x28], eax
jmp 0x539fb1
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x539fa6
sub eax, edi
mov ecx, eax
mov esi, dword [ebp + 0x70]
mov eax, dword [esp + 0x3f4]
lea edx, [edx + ecx + 1]
mov dword [esp + 0x18], ecx
mov ecx, edx
sub ecx, esi
cmp ecx, eax
jbe 0x539fdf
mov edx, dword [0x974690]
mov eax, dword [edx + 0xbc]
push 0
push eax
jmp 0x53ace1
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x539fe4
mov ecx, dword [ebp + 0x494]
sub eax, esi
lea esi, [esp + 0x20]
push esi
push ecx
mov ecx, dword [0x9749e0]
push eax
push edx
push ecx
lea edx, [esp + 0x40]
push 0x40
push edx
call fcn.00404f70
mov ecx, dword [ebp + 0x814]
mov edx, dword [esp + 0x40c]
mov esi, dword [ebp + 0x878]
mov ebx, dword [ebp + 0xae0]
mov byte [esp + eax + 0x48], 0
mov eax, dword [ebp + 0xb74]
mov dword [esp + 0x30], ecx
push 0
mov ecx, 0x17
lea edi, [esp + 0x90]
push edx
mov dword [esp + 0x34], eax
rep movsd dword es:[edi], dword [esi]
call fcn.005d8c40
mov ecx, dword [ebp + 0x878]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x878]
mov ecx, dword [eax + 4]
add esp, 0x24
test ecx, ecx
push 0
jne 0x53a088
mov edx, dword [esp + 0x78]
mov dword [eax + 4], edx
mov eax, dword [0x974690]
mov ecx, dword [eax + 0xa4]
push ecx
push 0x411
jmp 0x53ace6
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x30]
push edx
push eax
push ecx
push 0x11
push ebp
mov dword [ebp + 0xae0], 0
call fcn.004063b1
add esp, 0x18
test eax, eax
je 0x53a110
jle 0x53a0ce
mov edx, dword [0x974690]
mov eax, dword [edx + 0xbc]
push 0
push eax
push 0x417
call fcn.005db9a0
add esp, 0xc
mov ecx, dword [ebp + 0x878]
mov edx, dword [ecx + 4]
push edx
call fcn.005d8be0
mov edi, dword [ebp + 0x878]
mov eax, dword [esp + 0x18]
mov ecx, 0x17
lea esi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ebp + 0xae0], ebx
mov dword [ebp + 0x814], eax
mov dword [ebp + 0xb74], ecx
jmp 0x53acee
test ebx, ebx
je 0x53a11b
mov esi, ebx
call fcn.0052b200
mov edx, dword [esp + 0x14]
push edx
call fcn.005d8be0
mov eax, dword [esp + 0x78]
push eax
call fcn.005d8be0
add esp, 8
jmp 0x53acee
mov ecx, dword [esp + 0x3f4]
mov edx, dword [esp + 0x3f0]
push ecx
push edx
push ebp
call fcn.004036ed
jmp 0x53aceb
mov eax, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x3f0]
push eax
push ecx
push ebp
call fcn.004030e9
jmp 0x53aceb
mov edx, dword [esp + 0x3f4]
mov eax, dword [esp + 0x3f0]
push edx
push eax
push ebp
call fcn.004072e8
jmp 0x53aceb
mov ecx, dword [esp + 0x3f4]
mov edx, dword [esp + 0x3f0]
push ecx
push edx
push ebp
call fcn.0040578b
jmp 0x53aceb
mov eax, dword [esp + 0x3f0]
push eax
push ebp
call fcn.0040aef2
add esp, 8
jmp 0x53acee
mov ecx, dword [esp + 0x3f0]
push ecx
push ebp
call fcn.0040ae39
add esp, 8
jmp 0x53acee
mov edx, dword [esp + 0x3f4]
mov eax, dword [esp + 0x3f0]
push edx
push eax
push ebp
call fcn.004066db
add esp, 0xc
test eax, eax
jne 0x53acee
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x34]
push ecx
push eax
push str._.b
push ebx
lea edx, [ecx + eax]
push ebp
push 0x81d868
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], 0
call fcn.00406352
mov al, byte [0x974be0]
add esp, 0x18
test al, al
js 0x53a233
push 2
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x30]
lea eax, [esp + 0x18]
push eax
push ecx
push edx
push ebp
call fcn.004020b3
mov eax, dword [ebp + 0xb9c]
add esp, 0x10
test eax, eax
jne 0x53a358
jmp 0x53a260
mov edi, dword [esp + 0x18]
test edi, edi
je 0x53a358
mov al, byte [ebp + 0x2c8]
test al, al
jne 0x53a358
mov byte [ebp + 0xb4], 0
mov eax, dword [ebp + 0x4c]
test eax, eax
jne 0x53a29d
mov eax, dword [ebp + 0x3c]
test eax, eax
jne 0x53a29d
mov eax, dword [ebp + 0x48]
test eax, eax
jne 0x53a29d
mov eax, dword [ebp + 0x54]
test eax, eax
je 0x53a2aa
push 0
push 0
push ebp
call fcn.00405b32
add esp, 0xc
mov esi, dword [esp + 0x10]
push ebp
sub esi, edi
call fcn.0040ad08
mov eax, dword [ebp + 0x494]
movzx ecx, byte [edi]
mov edx, dword [eax + 0x20]
mov bl, byte [edx + ecx + 1]
mov al, 8
add esp, 4
test al, bl
je 0x53a2eb
nop
test esi, esi
jbe 0x53a2eb
mov ecx, dword [ebp + 0x494]
movzx edx, byte [edi + 1]
mov ecx, dword [ecx + 0x20]
mov bl, byte [ecx + edx + 1]
inc edi
dec esi
test al, bl
jne 0x53a2d0
push 0x974678
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp + 0x34], esi
mov dword [ebp + 0x30], edi
mov eax, dword [0x974b10]
mov edx, dword [0x974b14]
mov ecx, eax
add eax, 1
mov ebx, edx
adc edx, 0
mov dword [0x974b10], eax
mov dword [0x974b14], edx
mov dword [ebp + 0xb30], ecx
mov ecx, ebp
mov dword [ebp + 0xb34], ebx
call fcn.00402dba
push 0x974678
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea edx, [esp + 0x18]
push edx
push esi
push edi
push ebp
call fcn.004020b3
mov eax, dword [ebp + 0xb9c]
add esp, 0x10
test eax, eax
je 0x53a260
mov al, byte [0x974be0]
test al, al
js 0x53acee
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
jmp 0x53acee
push ebp
call fcn.004054ed
add esp, 4
lea eax, [ebp + 0x508]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
xor eax, eax
mov ecx, 0x74
lea edi, [esp + 0x138]
rep stosd dword es:[edi], eax
push eax
lea ecx, [esp + 0x148]
push ecx
mov ecx, ebp
call fcn.00404fa2
test eax, eax
jne 0x53acee
mov esi, dword [esp + 0x3f0]
push esi
call fcn.0062b6a0
mov edx, dword [ebp + 0x494]
mov ecx, dword [0x9749e0]
add esp, 4
push edx
mov edi, eax
sub eax, esi
push eax
push esi
push ecx
lea edx, [esp + 0x30]
push edx
mov ecx, ebp
call fcn.00409d1d
mov edx, dword [str.information_schema]
mov eax, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x148]
mov dword [esp + 0x150], eax
mov dword [esp + 0x14c], eax
mov eax, dword [0x9749e0]
mov ecx, dword [eax + 0x68]
push edx
push eax
lea esi, [edi + 1]
call dword [ecx + 0x1c]
add esp, 0xc
test eax, eax
jne 0x53a43a
mov eax, dword [esp + 0x148]
push eax
push ebp
call fcn.0040b271
add esp, 8
test eax, eax
je 0x53a43a
mov dword [esp + 0x194], eax
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53a440
sub eax, edx
mov dword [ebp + 0x34], eax
inc eax
push eax
push esi
lea ecx, [ebp + 0xc]
call fcn.00408ed6
test eax, eax
mov dword [esp + 0x10], eax
mov dword [ebp + 0x30], eax
je 0x53acee
mov ecx, dword [esp + 0x14c]
push eax
push ecx
push str._s__s
push ebx
push ebp
push 0x81d868
call fcn.00406352
mov eax, dword [0x974594]
add esp, 0x18
test eax, eax
je 0x53a4a3
mov ecx, dword [esp + 0x14c]
mov eax, dword [0x97491c]
mov edx, dword [eax + 0x64]
push ecx
push eax
call dword [edx + 0x2c]
add esp, 8
mov eax, dword [esp + 0x14c]
call fcn.0052dad0
mov esi, dword [esp + 0x194]
mov ecx, dword [ebp + 0xabc]
mov ebx, dword [esp + 0x144]
mov edi, dword [ebp + 0x878]
xor edx, edx
test esi, esi
setne dl
xor eax, eax
and ecx, 2
mov dword [esp + 0x264], eax
or eax, ecx
mov esi, edx
je 0x53a504
mov eax, dword [str._unknown_]
push 0x14ba
push str.._sql_parse.cc
push eax
push str.checking_permissions
lea ecx, [ebp + 0xb08]
call fcn.00401f91
jmp 0x53a50e
mov dword [ebp + 0x880], str.checking_permissions
test ebx, ebx
je 0x53a517
cmp byte [ebx], 0
jne 0x53a53a
mov eax, dword [ebp + 0x814]
test eax, eax
jne 0x53a53a
mov ecx, dword [0x974690]
mov edx, dword [ecx + 0xb8]
push 0
push edx
push 0x416
jmp 0x53ace6
test esi, esi
je 0x53a619
mov dword [esp + 0x264], 1
mov eax, dword [0x974160]
test eax, eax
je 0x53a577
push 0
push 0xffffffffffffffff
push 2
lea eax, [esp + 0x144]
push eax
push 1
push ebp
call fcn.004026cb
add esp, 0x18
test eax, eax
jne 0x53acee
mov ecx, dword [ebp + 0x2c]
add ecx, 0x2e0
push ebp
mov dword [esp + 0x1a8], ecx
call fcn.004054ed
push ebp
call fcn.00405c54
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax + 0x368]
mov edx, dword [eax + 0x370]
add eax, 0x368
inc ecx
mov dword [eax], ecx
lea ecx, [esp + 0x140]
mov dword [edx], ecx
mov edx, ecx
mov dword [eax + 8], edx
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x140], 0
mov ecx, dword [eax + 0xc]
add eax, 8
mov dword [esp + 0x148], ecx
mov dword [ecx], edx
lea ecx, [esp + 0x144]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 0x2c]
push eax
lea ecx, [esp + 0x144]
push ecx
push ebp
mov dword [edx + 0x714], 0xd
call fcn.0040941c
mov ecx, dword [ebp + 0x2c]
add esp, 0x14
add ecx, 0x60
call fcn.00406325
mov ecx, ebp
call fcn.0040a6a0
jmp 0x53acee
mov eax, dword [edi + 0x54]
test al, 1
je 0x53a62f
or eax, dword [edi + 0x58]
mov dword [esp + 0x264], eax
jmp 0x53a54d
xor al, al
jne 0x53a709
cmp ebx, dword [str.any]
je 0x53a54d
test ebx, ebx
je 0x53a69a
mov eax, dword [ebp + 0x814]
test eax, eax
je 0x53a682
mov esi, eax
mov eax, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x53a679
test cl, cl
je 0x53a675
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x53a679
add eax, 2
add esi, 2
test cl, cl
jne 0x53a655
xor eax, eax
jmp 0x53a67e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x53a69a
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi]
push 0
push ebx
push eax
push ecx
push edx
call fcn.004029dc
add esp, 0x14
jmp 0x53a69d
mov eax, dword [edi + 0x58]
mov edx, dword [edi + 0x54]
mov ecx, edx
not ecx
or edx, eax
and ecx, 1
mov eax, ecx
and eax, edx
cmp eax, ecx
mov dword [esp + 0x264], edx
je 0x53a54d
mov edx, dword [0x974160]
test edx, edx
je 0x53a6d5
or eax, 0x1643c3f
not eax
test ecx, eax
je 0x53a54d
test ebx, ebx
je 0x53a6dd
mov eax, ebx
jmp 0x53a6ec
mov eax, dword [ebp + 0x814]
test eax, eax
jne 0x53a6ec
mov eax, str.unknown
mov ecx, dword [edi + 8]
push eax
lea eax, [edi + 0x10]
push eax
push ecx
push 0
push 0x414
call fcn.005db890
add esp, 0x14
jmp 0x53acee
mov eax, dword [ebp + 0xbd0]
test eax, eax
je 0x53a71e
mov edx, dword [0x974690]
mov eax, dword [edx + 0xc]
jmp 0x53a726
mov eax, dword [0x974690]
mov eax, dword [eax + 8]
mov edx, dword [edi + 8]
push eax
lea ecx, [edi + 0x10]
push ecx
push edx
push 0
push 0x415
call fcn.005db890
add esp, 0x14
jmp 0x53acee
push 0
push ebx
push ebp
push 0x81d868
call fcn.00406352
add esp, 0x10
mov byte [ebp + 0x2c0], 0
mov dword [esp + 0x1c], esi
jmp 0x53acee
mov edx, dword [esp + 0x3f0]
lea edi, [ebp + 0xc]
push edx
mov ecx, edi
call fcn.00404840
mov esi, eax
lea eax, [ebp + 0x568]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
test esi, esi
je 0x53a8e5
push esi
mov ecx, edi
call fcn.00404840
test eax, eax
mov dword [esp + 0x10], eax
je 0x53a8ea
push esi
call fcn.00408d50
add esp, 4
test eax, eax
jne 0x53a8ea
mov edx, dword [str.information_schema]
mov eax, dword [0x9749e0]
mov ecx, dword [eax + 0x68]
push esi
push edx
push eax
call dword [ecx + 0x1c]
neg eax
sbb eax, eax
inc eax
push eax
push 0
push 1
push 0
push esi
push 0x10
push ebp
call fcn.0040280b
add esp, 0x28
test eax, eax
jne 0x53acee
mov eax, dword [esp + 0x3f0]
push eax
push ebx
push ebp
push 0x81d868
call fcn.00406352
xor eax, eax
mov ecx, 0x22
lea edi, [esp + 0x80]
rep stosd dword es:[edi], eax
mov eax, dword [0x974594]
add esp, 0x10
cmp eax, 2
jne 0x53a81b
mov esi, dword [esp + 0x10]
push 0
lea ecx, [esp + 0x74]
push ecx
push esi
push ebp
call fcn.00409782
add esp, 0x10
jmp 0x53acee
lea edx, [ebp + 0x56c]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x3f0]
push eax
lea ecx, [ebp + 0xc]
call fcn.00404840
mov esi, eax
test esi, esi
je 0x53a8e5
push esi
call fcn.00408d50
add esp, 4
test eax, eax
jne 0x53a8ea
mov edx, dword [str.information_schema]
mov eax, dword [0x9749e0]
mov ecx, dword [eax + 0x68]
push esi
push edx
push eax
call dword [ecx + 0x1c]
neg eax
sbb eax, eax
inc eax
push eax
push 0
push 1
push 0
push esi
push 0x20
push ebp
call fcn.0040280b
add esp, 0x28
test eax, eax
jne 0x53acee
mov eax, dword [ebp + 0x50]
test eax, eax
jne 0x53a8cd
test byte [ebp + 0xb68], 1
jne 0x53a8cd
push esi
push ebx
push ebp
push 0x81d868
call fcn.00406352
push 0
push 0
push esi
push ebp
call fcn.0040879c
add esp, 0x20
jmp 0x53acee
mov eax, dword [0x974690]
mov ecx, dword [eax + 0x300]
push 0
push ecx
push 0x4a8
jmp 0x53ace6
mov esi, str.NULL
push esi
push 0
push 0x44e
call fcn.005db890
jmp 0x53aceb
lea edx, [ebp + 0x4d0]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
movsx eax, byte [0x974bbc]
push 0x80000
push ebp
mov dword [ebp + 0xc18], eax
call fcn.00407685
add esp, 8
test eax, eax
jne 0x53acee
mov esi, dword [esp + 0x3f0]
mov cx, word [esi + 4]
mov edi, dword [esi]
mov dword [ebp + 0x8cc], eax
mov eax, dword [esi + 6]
test eax, eax
mov word [esp + 0x10], cx
mov dword [esp + 0x14], eax
je 0x53a95a
mov edx, eax
push edx
call fcn.0040ba8c
add esp, 4
mov eax, dword [esp + 0x14]
push edi
add esi, 0xa
push esi
push str.Log:__s__Pos:__ld
push ebx
push ebp
push 0x81d868
mov dword [ebp + 0x8cc], eax
call fcn.00406352
mov ecx, dword [esp + 0x28]
add esp, 0x18
push ecx
push 0
push edi
push esi
lea ecx, [ebp + 0xc]
call fcn.00404840
push eax
push ebp
call fcn.004042eb
push 1
push 1
push ebp
call fcn.00408049
add esp, 0x20
mov dword [esp + 0x1c], 1
mov byte [ebp + 0x2c0], 0
jmp 0x53acee
lea edx, [ebp + 0x59c]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x3f0]
movzx edi, byte [eax]
push 0x40
push ebp
call fcn.00407685
add esp, 8
test eax, eax
jne 0x53acee
push eax
push ebx
push ebp
push 0x81d868
call fcn.00406352
lea ecx, [esp + 0x30]
push ecx
push 0
push edi
push ebp
call fcn.0040ac3b
add esp, 0x20
test eax, eax
jne 0x53acee
jmp 0x53ab93
lea edx, [ebp + 0x4d0]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push 0x80
push ebp
call fcn.00407685
add esp, 8
test eax, eax
jne 0x53acee
mov eax, dword [esp + 0x3f0]
movzx eax, byte [eax]
test eax, eax
je 0x53aa57
cmp eax, 0x10
je 0x53aa57
push str.this_shutdown_level
push 0
push 0x4d3
call fcn.005db890
jmp 0x53aceb
push 0
push ebx
push ebp
push 0x81d868
call fcn.00406352
push ebp
call fcn.00403927
add esp, 0x14
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebp
call fcn.00403927
push esi
push 0
push ebp
call fcn.0040b3c5
push 0
push 0
push ebp
call fcn.00405b32
add esp, 0x1c
call fcn.00405529
mov dword [esp + 0x1c], esi
jmp 0x53acee
push 0
push ebx
push ebp
push 0x81d868
call fcn.00406352
add esp, 0x10
lea ecx, [ebp + 0x518]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
lea edx, [esp + 0x138]
push edx
call fcn.00402a4a
mov esi, dword [edi]
mov eax, dword [0x974344]
add esp, 4
sub esi, eax
je 0x53ab08
mov eax, dword [ebp + 0xb34]
mov ecx, dword [ebp + 0xb30]
push eax
push ecx
call fcn.004097ff
add esp, 8
test esi, esi
mov dword [esp + 0x20], esi
fild dword [esp + 0x20]
jge 0x53ab04
fadd qword [0x73b508]
fdivp st(1)
jmp 0x53ab0e
fld qword [0x73b5d8]
sub esp, 8
fstp qword [esp]
call fcn.00407c2a
mov edx, dword [0x9734cc]
mov ecx, dword [esp + 0x3b0]
push eax
mov eax, dword [esp + 0x39c]
push edx
mov edx, dword [ebp + 0xb30]
push eax
mov eax, dword [0x974968]
push ecx
push edx
push eax
push esi
lea ecx, [esp + 0x94]
push str.Uptime:__lu__Threads:__d__Questions:__lu__Slow_queries:__lu__Opens:__lu__Flush_tables:__lu__Open_tables:__u__Queries_per_second_avg:__.3f
push ecx
call fcn.006cf753
lea eax, [esp + 0x9c]
add esp, 0x2c
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53ab60
sub eax, edx
push eax
lea edx, [esp + 0x74]
push edx
lea esi, [ebp + 0x60]
push esi
call fcn.0040944e
push esi
call fcn.0040681b
add esp, 0x10
jmp 0x53acee
lea eax, [ebp + 0x4d0]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push 0
push 0
push 0
push 0
push ebp
call fcn.00409854
add esp, 0x14
jmp 0x53acee
lea ecx, [ebp + 0x528]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [ebp + 0x878]
mov eax, dword [edx + 8]
cmp byte [eax], 0
jne 0x53abda
push 0x100
push ebp
call fcn.00407685
add esp, 8
test eax, eax
jne 0x53acee
push 0
push ebx
push ebp
push 0x81d868
call fcn.00406352
mov eax, dword [ebp + 0x878]
mov ecx, dword [eax + 0x54]
add esp, 0x10
test ch, 1
je 0x53ac08
xor eax, eax
push eax
push eax
push ebp
call fcn.0040bd84
jmp 0x53aceb
mov eax, dword [eax + 8]
push 0
push eax
push ebp
call fcn.0040bd84
jmp 0x53aceb
lea ecx, [ebp + 0x5a0]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [esp + 0x3f0]
mov eax, dword [edx]
push 0
push eax
push ebp
call fcn.004081e8
jmp 0x53aceb
lea ecx, [ebp + 0x554]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [esp + 0x3f0]
movzx eax, word [edx]
sub eax, 0
je 0x53ac79
dec eax
jne case.0x539dda.11
mov edx, dword [ebp + 0x884]
and edx, 0xfffeffff
push ebp
mov dword [ebp + 0x884], edx
call fcn.00403927
add esp, 4
jmp 0x53acee
mov edx, dword [ebp + 0x884]
or edx, 0x10000
push ebp
mov dword [ebp + 0x884], edx
call fcn.00403927
add esp, 4
jmp 0x53acee
lea edx, [ebp + 0x4d0]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push 0x8000
push ebp
call fcn.00407685
add esp, 8
test eax, eax
jne 0x53acee
call fcn.00401a14
push 0
push ebx
push ebp
push 0x81d868
call fcn.00406352
push ebp
call fcn.00403927
add esp, 0x14
jmp 0x53acee
mov eax, dword [0x974690]
mov ecx, dword [eax + 0xbc]
push 0
push ecx
push 0x417
call fcn.005db9a0
add esp, 0xc
mov eax, dword [ebp + 0x4c]
test eax, eax
jne 0x53ad0a
mov eax, dword [ebp + 0x3c]
test eax, eax
jne 0x53ad0a
mov eax, dword [ebp + 0x48]
test eax, eax
jne 0x53ad0a
mov eax, dword [ebp + 0x54]
test eax, eax
je 0x53ad53
mov ecx, dword [ebp + 0xabc]
and ecx, 2
xor eax, eax
or eax, ecx
je 0x53ad3c
mov edx, dword [str._unknown_]
push 0x862
push str.._sql_parse.cc
push edx
push str.closing_tables
lea ecx, [ebp + 0xb08]
call fcn.00401f91
jmp 0x53ad46
mov dword [ebp + 0x880], str.closing_tables
push 0
push 0
push ebp
call fcn.00405b32
add esp, 0xc
xor eax, eax
mov ecx, 0x10
lea edi, [ebp + 0x974]
rep stosd dword es:[edi], eax
test byte [ebp + 0xb68], 1
jne 0x53ad75
mov dword [ebp + 0x9b8], 0xffffffff
mov eax, dword [ebp + 0xb9c]
mov ecx, eax
dec ecx
neg ecx
sbb ecx, ecx
test eax, ecx
je 0x53adbd
mov al, byte [ebp + 0x2c8]
test al, al
jne 0x53adbd
mov ecx, dword [ebp + 0xb9c]
mov eax, ecx
dec eax
neg eax
sbb eax, eax
and eax, ecx
je 0x53adbd
mov edx, dword [0x974690]
mov ecx, dword [edx + eax*4 - 0xfa0]
xor ebx, ebx
push ebx
push ecx
push eax
call fcn.005db9a0
add esp, 0xc
jmp 0x53adbf
xor ebx, ebx
mov al, byte [ebp + 0x2c8]
test al, al
je 0x53add4
push ebx
push ebx
push ebp
call fcn.00404cb4
add esp, 0xc
push ebp
call fcn.0040ad08
mov ecx, dword [ebp + 0xabc]
and ecx, 2
xor eax, eax
add esp, 4
or eax, ecx
je 0x53ae0f
mov edx, dword [str._unknown_]
push 0x879
push str.._sql_parse.cc
push edx
push str.cleaning_up
lea ecx, [ebp + 0xb08]
call fcn.00401f91
jmp 0x53ae19
mov dword [ebp + 0x880], str.cleaning_up
push 0x974678
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp + 0xabc]
and ecx, 2
xor eax, eax
or eax, ecx
je 0x53ae51
mov eax, dword [str._unknown_]
push 0x87b
push str.._sql_parse.cc
push eax
push ebx
lea ecx, [ebp + 0xb08]
call fcn.00401f91
jmp 0x53ae57
mov dword [ebp + 0x880], ebx
mov dword [ebp + 0x8c8], ebx
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov ecx, dword [0x9745a4]
dec ecx
push 0x974678
mov dword [0x9745a4], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [ebp + 0x40c]
mov eax, dword [ebp + 0x360]
cmp edi, eax
lea esi, [ebp + 0x358]
jae 0x53aeb4
mov edx, dword [esi]
push ebx
push edi
push edx
call fcn.005e0170
add esp, 0xc
cmp eax, ebx
jne 0x53aeaf
push edi
mov ecx, esi
mov dword [esi + 8], ebx
call fcn.00405524
jmp 0x53aeb4
mov dword [esi], eax
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x14]
push 1
push eax
call fcn.005d8f70
mov ecx, dword [esp + 0x3e8]
mov eax, dword [esp + 0x24]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
call fcn.006cedd0
add esp, 0x3d4
ret