Function at 0x60d310
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xd0
push ebp
mov ebp, dword [esp + 0xd8]
mov eax, dword [ebp + 0x1e4]
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0x1e8]
push esi
mov esi, dword [esp + 0xe0]
push edi
mov edi, dword [ebp]
mov dword [ebp + 0x1e4], eax
inc eax
mov dword [esp + 0x4c], 1
mov dword [ebp + 0x1e8], eax
mov dword [esp + 0x1c], edi
test esi, esi
je 0x60d37c
cmp byte [edi + 0x38], 0
jne 0x60d37c
cmp dword [ebp + 0x44], 0
jne 0x60d37c
push 0
push 0
push 0
push 0x15
mov eax, ebp
call fcn.005df8c0
add esp, 0x10
test eax, eax
je 0x60d38b
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xd0
ret
mov ecx, dword [esp + 0xe8]
xor eax, eax
cmp byte [ecx], 4
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
ja 0x60d3de
mov edx, dword [esi + 0x38]
push edx
push edi
call fcn.005d9430
mov eax, 0xfffe
add esp, 8
and word [esi + 6], ax
mov dword [esi + 0x38], 0
push ebx
push 0
push esi
push ebp
call fcn.0060d2b0
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x28]
mov eax, dword [esi]
add esp, 0xc
cmp dword [ebp + 0x44], 0
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x3c], eax
jne 0x60e447
mov ecx, edi
cmp byte [ecx + 0x38], 0
jne 0x60e447
movzx eax, word [esi + 6]
shr eax, 2
and eax, 1
mov edi, ebp
mov dword [esp + 0x24], eax
call fcn.005e1760
mov ebx, eax
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x60e447
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
push eax
mov eax, dword [esp + 0xf0]
call fcn.005e1160
add esp, 4
test eax, eax
jne 0x60e447
mov dword [esp + 0x2c], eax
cmp dword [esi + 0x3c], eax
jne 0x60d768
mov edi, dword [esp + 0x30]
movsx ecx, word [edi]
cmp eax, ecx
jge 0x60d768
lea edx, [eax + eax*8]
mov eax, dword [edi + edx*8 + 0x1c]
lea edi, [edi + edx*8 + 8]
mov dword [esp + 0x10], eax
test eax, eax
je 0x60d755
mov eax, dword [edi + 0x18]
test eax, eax
je 0x60d4b0
test byte [edi + 0x24], 4
jne 0x60d755
mov ecx, dword [edi + 0x1c]
push ebx
mov edx, 2
call fcn.005d7fb0
add esp, 4
jmp 0x60d755
mov eax, esi
call fcn.005d0fa0
add dword [ebp + 0x1e0], eax
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 6]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
shr eax, 2
and eax, 1
push eax
push ecx
push edx
mov dword [esp + 0x34], eax
push ebp
mov eax, esi
call fcn.005e7970
add esp, 0x10
test eax, eax
je 0x60d50a
cmp dword [esp + 0x28], 0
je 0x60d4fd
or word [esi + 6], 4
mov dword [esp + 0x24], 1
mov dword [esp + 0x2c], 0xffffffff
jmp 0x60d720
mov eax, dword [esp + 0x30]
cmp word [eax], 1
jne 0x60d653
mov ecx, 0x100
test word [esi + 6], cx
jne 0x60d653
mov eax, dword [esp + 0x20]
mov edx, ecx
test word [eax + 0x34], dx
jne 0x60d653
mov eax, 1
add dword [ebp + 0x4c], eax
mov ecx, dword [ebp + 0x4c]
mov dword [edi + 0x1c], ecx
add dword [ebp + 0x4c], eax
mov ecx, dword [ebp + 0x4c]
or esi, 0xffffffff
mov eax, ebp
mov dword [esp + 0x4c], ecx
call fcn.005fe9e0
push ebx
lea eax, [esi + 2]
call fcn.005d7f70
mov eax, dword [edi + 0x2c]
push ebx
lea ecx, [esi + 0x2d]
call fcn.005d7f90
mov esi, eax
mov dl, 1
mov eax, ebx
call fcn.005cfe60
mov eax, dword [esp + 0x54]
xor ecx, ecx
push ebx
lea edx, [ecx + 7]
mov dword [edi + 0x18], esi
call fcn.005d7fb0
mov dl, 1
mov eax, ebx
call fcn.005cfe60
mov edx, dword [edi + 0x1c]
push 0xa
lea eax, [esp + 0xe0]
call fcn.005d2900
mov ecx, dword [esp + 0x20]
mov dl, byte [ebp + 0x1e8]
push eax
push ecx
push ebp
mov byte [edi + 0x28], dl
call fcn.0060d310
mov edx, dword [esp + 0x2c]
fnstcw word [esp + 0x2c]
movzx eax, word [esp + 0x2c]
fld qword [edx + 0x20]
mov ecx, dword [edi + 0x10]
or eax, 0xc00
mov dword [esp + 0x44], eax
fldcw word [esp + 0x44]
fistp qword [esp + 0xc4]
mov eax, dword [esp + 0xc4]
mov dword [ecx + 0x1c], eax
or dword [edi + 0x24], 4
mov edx, dword [esp + 0xf4]
fldcw word [esp + 0x2c]
mov eax, esi
mov ecx, ebx
call fcn.005cfe40
mov edx, dword [esp + 0xf8]
mov eax, esi
mov ecx, ebx
call fcn.005cfe50
mov eax, dword [esp + 0x68]
mov ecx, 1
push ebx
lea edx, [ecx + 6]
call fcn.005d7fb0
mov eax, dword [edi + 0x1c]
push ebx
mov ecx, 4
call fcn.005d7f90
add esp, 0x24
lea eax, [esi - 1]
mov ecx, ebx
call fcn.005cfe80
mov eax, ebp
call fcn.005d17c0
mov esi, dword [esp + 0xe8]
jmp 0x60d720
inc dword [ebp + 0x4c]
mov eax, dword [ebp + 0x4c]
xor ecx, ecx
push ebx
lea edx, [ecx + 7]
mov dword [esp + 0x20], 0
mov dword [edi + 0x1c], eax
call fcn.005d7fb0
mov dword [esp + 0x3c], eax
inc eax
add esp, 4
test byte [edi + 0x24], 2
mov dword [edi + 0x18], eax
jne 0x60d68b
mov eax, ebp
call fcn.005e5770
mov dword [esp + 0x1c], eax
mov edx, dword [edi + 0x2c]
push 9
lea eax, [esp + 0xd4]
call fcn.005d2900
mov ecx, dword [esp + 0x14]
mov dl, byte [ebp + 0x1e8]
push eax
push ecx
push ebp
mov byte [edi + 0x28], dl
call fcn.0060d310
mov edx, dword [esp + 0x20]
fnstcw word [esp + 0x20]
movzx eax, word [esp + 0x20]
fld qword [edx + 0x20]
mov ecx, dword [edi + 0x10]
or eax, 0xc00
mov dword [esp + 0x38], eax
add esp, 0x10
cmp dword [esp + 0x1c], 0
fldcw word [esp + 0x28]
fistp qword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
mov dword [ecx + 0x1c], eax
fldcw word [esp + 0x10]
je 0x60d6fb
mov eax, dword [esp + 0x1c]
mov ecx, ebx
call fcn.005cfe80
mov eax, dword [edi + 0x1c]
push ebx
mov ecx, 3
call fcn.005d7f90
mov edx, eax
mov eax, dword [esp + 0x3c]
add esp, 4
mov ecx, ebx
call fcn.005cfe30
mov eax, ebp
call fcn.005d17c0
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x38], 0
jne 0x60e447
mov eax, esi
call fcn.005d0fa0
sub dword [ebp + 0x1e0], eax
mov ecx, dword [esp + 0xec]
cmp byte [ecx], 4
mov eax, dword [esi + 0x28]
mov dword [esp + 0x30], eax
jbe 0x60d755
mov edx, dword [esi + 0x38]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x2c]
inc eax
cmp dword [esi + 0x3c], 0
mov dword [esp + 0x2c], eax
je 0x60d463
mov eax, dword [esi]
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x30]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x94], eax
mov al, byte [esi + 6]
and al, 1
cmp dword [esi + 0x3c], 0
mov dword [esp + 0x40], ecx
mov dword [esp + 0x10], edx
mov byte [esp + 0x98], al
je 0x60d802
cmp dword [esi + 0x44], 0
jne 0x60d7d7
xor ecx, ecx
xor edx, edx
mov eax, esi
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], esi
mov ecx, eax
mov eax, dword [eax + 0x3c]
inc edx
test eax, eax
jne 0x60d7a4
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x60d7d7
cmp edx, eax
jle 0x60d7d7
push 0x7d3560
mov edi, ebp
call fcn.005dcad0
add esp, 4
jmp 0x60e447
mov edx, dword [esp + 0xec]
push edx
push esi
mov eax, ebp
call fcn.005f3460
mov ecx, dword [esp + 0xac]
add esp, 8
pop ebx
pop edi
pop esi
mov dword [ebp + 0x1e4], ecx
pop ebp
add esp, 0xd0
ret
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
push edx
call fcn.005d15d0
add esp, 4
test eax, eax
jne 0x60d829
mov eax, dword [esp + 0x20]
test byte [eax + 0x34], 4
jne 0x60d829
mov dword [esp + 0x18], 0
mov cl, byte [esi + 6]
and cl, 5
cmp cl, 1
jne 0x60d936
mov edx, dword [esi]
mov edi, dword [esp + 0x18]
push edx
call fcn.005d15d0
add esp, 4
test eax, eax
jne 0x60d936
mov ecx, dword [esi]
mov edx, dword [esp + 0x20]
push 0
push ecx
mov eax, 0xfffe
and word [esi + 6], ax
push edx
call fcn.005d9210
add esp, 0xc
mov dword [esi + 0x30], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0
or edi, 0xffffffff
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0xec]
cmp byte [ecx], 9
jne 0x60d8a3
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov ecx, dword [ecx + 4]
push ebx
mov edx, 0x2a
call fcn.005d7fb0
add esp, 4
mov eax, ebx
call fcn.005d7fd0
fld qword [0x7d11d8]
push eax
fstp qword [esi + 0x20]
mov dword [esp + 0xac], eax
push esi
mov eax, ebp
call fcn.005e1790
add esp, 8
cmp dword [esi + 8], 0
jne 0x60d8e1
test edi, edi
jl 0x60d8e1
mov eax, edi
mov ecx, ebx
call fcn.005cfeb0
mov byte [eax], 0x2b
or word [esi + 6], 0x40
test byte [esi + 6], 1
je 0x60d97c
mov eax, dword [ebp + 0x48]
mov edi, eax
inc eax
mov dword [ebp + 0x48], eax
mov eax, dword [esi]
push 0xfffffffffffffff0
push eax
push ebp
mov dword [esp + 0xa8], edi
call fcn.005ee580
add esp, 8
push eax
mov edx, edi
push 0x2a
xor eax, eax
xor ecx, ecx
mov edi, ebx
call fcn.005de560
mov dword [esp + 0xac], eax
add esp, 0xc
mov dl, 8
mov eax, ebx
call fcn.005cfe60
mov byte [esp + 0x99], 3
jmp 0x60d984
cmp dword [esp + 0x18], 0
je 0x60d879
mov edi, dword [esp + 0x18]
push edi
push ebp
call fcn.005ee580
mov ecx, dword [ebp + 0x48]
mov dword [edi + 4], ecx
inc dword [ebp + 0x48]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
push 0xfffffffffffffff0
push eax
add ecx, 2
push 0x2a
xor eax, eax
mov edi, ebx
call fcn.005de560
add esp, 0x14
mov dword [esp + 0x1c], eax
mov dword [esi + 0x18], eax
mov edi, eax
jmp 0x60d880
mov byte [esp + 0x99], 0
cmp dword [esp + 0x24], 0
mov edi, dword [esp + 0x10]
jne 0x60da5e
test edi, edi
jne 0x60da5e
cmp byte [esp + 0x98], 0
je 0x60d9a9
mov eax, dword [esi]
jmp 0x60d9ab
xor eax, eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
push 0
push 0
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edx
push eax
push ebp
call fcn.00609f10
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x60e447
fld qword [esi + 0x20]
fcomp qword [edi + 0x30]
fnstsw ax
test ah, 0x41
jne 0x60d9e5
fld qword [edi + 0x30]
fstp qword [esi + 0x20]
mov al, byte [edi + 0xe]
test al, al
je 0x60d9f3
mov byte [esp + 0x99], al
mov eax, dword [esp + 0x18]
test eax, eax
je 0x60da09
movzx ecx, word [edi + 8]
cmp ecx, dword [eax]
jne 0x60da09
xor eax, eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jl 0x60da23
test eax, eax
jne 0x60da23
mov edx, ebx
call fcn.005d81f0
mov dword [esi + 0x18], 0xffffffff
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0xec]
push edx
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0xa4]
push edx
push eax
push 0
push 0
push ecx
push esi
push ebp
call fcn.005ee070
push edi
call fcn.005db220
add esp, 0x2c
jmp 0x60e3db
mov dword [esp + 0x24], 0
mov dword [esp + 0x54], 0
test edi, edi
je 0x60dac2
mov ecx, dword [esi]
mov eax, dword [ecx]
mov ecx, dword [ecx + 8]
test eax, eax
jle 0x60da8d
add ecx, 0x10
xor edx, edx
mov word [ecx], dx
dec eax
add ecx, 0x14
test eax, eax
jg 0x60da80
mov eax, dword [edi]
mov ecx, dword [edi + 8]
test eax, eax
jle 0x60daad
add ecx, 0x10
lea esp, [esp]
xor edx, edx
mov word [ecx], dx
dec eax
add ecx, 0x14
test eax, eax
jg 0x60daa0
fld qword [0x7d3558]
fcom qword [esi + 0x20]
fnstsw ax
test ah, 5
jp 0x60dac9
fstp qword [esi + 0x20]
jmp 0x60dacb
fld1
fstp qword [esi + 0x20]
jmp 0x60dacb
fstp st(0)
mov eax, ebx
call fcn.005d7fd0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x58], eax
xor eax, eax
lea edx, [esp + 0x5c]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xbc], edx
cmp edi, eax
je 0x60db34
mov eax, dword [edi]
inc eax
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x3c]
lea ecx, [esp + 0xb0]
push ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], esi
call fcn.005e5a10
mov ebx, dword [esp + 0x1c]
lea edx, [esp + 0xb4]
push edx
call fcn.005e5a10
mov ecx, dword [esp + 0x9c]
xor edi, edi
add esp, 8
cmp ecx, edi
je 0x60db82
lea eax, [esp + 0xb0]
push eax
call fcn.005e59d0
add esp, 4
cmp dword [esp + 0x80], edi
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x2c], edi
jle 0x60dbdf
jmp 0x60dba0
or byte [esp + 0xcc], 8
mov edx, dword [esp + 0x7c]
mov eax, dword [edi + edx]
mov ebx, dword [eax + 0x10]
lea ecx, [esp + 0xb0]
push ecx
call fcn.005e5a10
mov eax, dword [esp + 0x30]
and byte [esp + 0xd0], 0xf7
inc eax
add esp, 4
add edi, 0x10
cmp eax, dword [esp + 0x80]
mov dword [esp + 0x2c], eax
jl 0x60dba0
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x38], 0
jne 0x60e447
test esi, esi
je 0x60e17b
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x60], eax
inc eax
push esi
push ebp
mov dword [ebp + 0x48], eax
call fcn.005ee580
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x1c]
push 0xfffffffffffffff0
push eax
mov dword [esp + 0x98], eax
push 0x2b
xor eax, eax
call fcn.005de560
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0x4c]
inc eax
lea ebx, [eax + 1]
mov dword [esp + 0x5c], eax
lea eax, [ebx + 1]
mov dword [ebp + 0x4c], eax
mov eax, edi
mov dword [esp + 0xa0], ebx
call fcn.005d7fd0
inc dword [ebp + 0x4c]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x60], eax
mov eax, edi
call fcn.005d7fd0
mov edx, dword [esi]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x4c]
lea ecx, [eax + 1]
add eax, edx
mov dword [ebp + 0x4c], eax
mov edx, dword [esi]
mov dword [esp + 0x4c], ecx
lea ecx, [eax + 1]
add edx, eax
mov dword [esp + 0x98], ecx
xor ecx, ecx
mov dword [ebp + 0x4c], edx
push edi
mov eax, ebx
lea edx, [ecx + 7]
call fcn.005d7fb0
mov eax, dword [esp + 0x60]
xor ecx, ecx
push edi
lea edx, [ecx + 7]
call fcn.005d7fb0
mov eax, dword [esp + 0x54]
mov ecx, dword [esi]
lea edx, [ecx + eax - 1]
push edx
push eax
push 0
push 0xa
mov eax, edi
call fcn.005d7f10
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
push edi
mov edx, 2
call fcn.005d7fb0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x60]
push 0
push 0
push 0
push esi
push eax
push ecx
push ebp
call fcn.00609f10
add esp, 0x4c
mov dword [esp + 0x28], eax
test eax, eax
je 0x60e447
movzx edx, word [eax + 8]
cmp edx, dword [esi]
jne 0x60dd08
mov dword [esp + 0x1c], 0
jmp 0x60dec9
cmp byte [esp + 0x98], 0
je 0x60dd24
mov eax, dword [esp + 0xe8]
test byte [eax + 6], 1
mov eax, str.DISTINCT
je 0x60dd29
mov eax, str.GROUP_BY
mov ebx, ebp
call fcn.005e1190
mov esi, dword [esi]
mov ecx, dword [esp + 0x74]
lea edi, [esi + 1]
mov dword [esp + 0x50], esi
mov dword [esp + 0x1c], 1
mov esi, edi
mov dword [esp + 0x54], edi
mov eax, edi
test ecx, ecx
jle 0x60dd6a
mov edx, dword [esp + 0x70]
add edx, 0xc
cmp dword [edx], eax
jl 0x60dd5e
inc esi
inc eax
add edx, 0x18
sub ecx, 1
jne 0x60dd58
mov dword [esp + 0x54], esi
mov ecx, ebp
call fcn.005d1770
mov esi, eax
mov eax, ebp
mov dword [esp + 0x40], esi
call fcn.005d1590
mov eax, dword [esp + 0x10]
push 0
mov ecx, esi
call fcn.005d9830
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x18]
lea eax, [esi + ecx]
mov ecx, dword [esp + 0x64]
push ebx
mov edx, 0x37
call fcn.005d7fb0
add esp, 8
cmp dword [esp + 0x74], 0
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], 0
jle 0x60de25
mov edx, esi
mov eax, edi
lea edi, [edx + eax]
mov eax, dword [esp + 0x70]
xor esi, esi
jmp 0x60ddd0
mov ecx, dword [esp + 0x24]
cmp dword [esi + eax + 0xc], ecx
jl 0x60de13
mov edx, dword [esi + eax + 4]
mov ecx, dword [esi + eax + 8]
push 0
push edi
push edx
mov edx, dword [esi + eax]
push ecx
push edx
push ebp
call fcn.005f2b90
mov ecx, eax
add esp, 0x18
cmp edi, ecx
je 0x60de0a
push ebx
mov eax, edi
mov edx, 0xf
call fcn.005d7fb0
add esp, 4
inc dword [esp + 0x24]
mov eax, dword [esp + 0x70]
inc edi
mov ecx, dword [esp + 0x2c]
inc ecx
add esi, 0x18
cmp ecx, dword [esp + 0x74]
mov dword [esp + 0x2c], ecx
jl 0x60ddd0
mov eax, ebp
call fcn.005d1720
mov edi, dword [esp + 0x54]
mov esi, eax
mov eax, dword [esp + 0x40]
push esi
push edi
push eax
push 0x1f
mov eax, ebx
call fcn.005d7f10
mov ecx, dword [esp + 0x70]
push ebx
mov eax, esi
mov edx, 0x60
call fcn.005d7fb0
mov edx, ebp
call fcn.005d1740
mov ecx, dword [esp + 0x54]
mov esi, edi
mov eax, ebp
call fcn.005d17a0
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.005db220
mov edx, dword [ebp + 0x48]
lea eax, [edx + 1]
mov dword [ebp + 0x48], eax
mov eax, ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x7c], edx
call fcn.005d1720
push edi
push eax
push edx
mov dword [esp + 0x78], eax
push 0x2c
mov eax, ebx
call fcn.005d7f10
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
push ebx
mov edx, 0x46
call fcn.005d7fb0
add esp, 0x2c
mov eax, ebp
mov byte [esp + 0x5d], 1
call fcn.005d1590
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov eax, edi
call fcn.005cfe20
mov dword [esp + 0x50], eax
mov eax, ebp
call fcn.005d1590
cmp dword [esp + 0x1c], 0
je 0x60def8
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x60]
push edi
mov edx, 0x3e
call fcn.005d7fb0
add esp, 4
xor ebx, ebx
cmp dword [esi], ebx
jle 0x60df5c
mov edi, edi
cmp dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x84]
je 0x60df33
mov eax, dword [esp + 0x24]
lea edx, [ebx + ecx]
push edx
push ebx
push eax
push 0x1d
mov eax, edi
call fcn.005d7f10
add esp, 0x10
test ebx, ebx
jne 0x60df57
mov dl, 0x20
mov eax, edi
call fcn.005cfe60
jmp 0x60df57
mov eax, dword [esp + 0x10]
mov byte [esp + 0x5c], 1
lea esi, [ebx + ecx]
mov ecx, dword [eax + 8]
lea edx, [ebx + ebx*4]
mov ecx, dword [ecx + edx*4]
mov eax, ebp
call fcn.005d96d0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
inc ebx
cmp ebx, dword [esi]
jl 0x60df00
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x84]
mov ebx, dword [esp + 0x38]
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
push 0xfffffffffffffffa
push edx
push 0x18
mov ecx, esi
mov edx, ebx
call fcn.005de560
mov eax, edi
call fcn.005cfe20
mov dword [esp + 0x94], eax
inc eax
push eax
push 0
push eax
push 0x19
mov eax, edi
call fcn.005d7f10
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
push edx
mov edi, ebp
call fcn.005d9560
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0x54]
push esi
inc ecx
mov edx, 2
call fcn.005d7fb0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xb0]
push esi
mov edx, 0x78
call fcn.005d7fb0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x74]
push esi
mov edx, 2
call fcn.005d7fb0
mov eax, dword [esp + 0xb4]
mov ecx, esi
call fcn.005cfe80
lea eax, [esp + 0x88]
push eax
mov eax, ebp
call fcn.005ef1b0
mov eax, dword [esp + 0x78]
mov ecx, 1
push esi
lea edx, [ecx + 6]
call fcn.005d7fb0
add esp, 0x34
cmp dword [esp + 0x1c], 0
je 0x60e045
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
push esi
mov edx, 0x51
call fcn.005d7fb0
add esp, 4
jmp 0x60e066
mov ecx, dword [esp + 0x28]
push ecx
call fcn.005db220
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x18]
add esp, 4
call fcn.005d81f0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x8c]
mov eax, dword [esp + 0x34]
lea edi, [ebx + 1]
push esi
mov ecx, edi
mov edx, 2
call fcn.005d7fb0
mov eax, dword [esp + 0x5c]
xor ecx, ecx
push esi
lea edx, [ecx + 1]
call fcn.005d7fb0
mov eax, esi
call fcn.005cfe20
mov ecx, 1
mov dword [esp + 0x98], eax
push esi
mov eax, ebx
lea edx, [ecx + 6]
call fcn.005d7fb0
push esi
mov eax, edi
mov ecx, 3
call fcn.005d7f90
mov edx, dword [esp + 0x44]
mov ecx, esi
call fcn.005cfdf0
mov eax, esi
call fcn.005cfe20
mov ecx, dword [esp + 0x58]
mov ebx, eax
lea eax, [ebx + 2]
push esi
mov edx, 0x78
call fcn.005d7fb0
push esi
mov eax, edi
mov ecx, 3
call fcn.005d7f90
lea edx, [esp + 0x74]
push edx
mov eax, ebp
call fcn.005e1c00
mov eax, dword [esp + 0xb0]
push 8
inc ebx
push ebx
push eax
push ebp
call fcn.00600390
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x48]
push ebx
push edx
lea eax, [esp + 0xd0]
push eax
mov eax, dword [esp + 0x124]
mov edx, dword [eax]
push ecx
push 0
push 0
push edx
push eax
push ebp
call fcn.005ee070
add esp, 0x54
push esi
mov eax, edi
mov ecx, 3
call fcn.005d7f90
mov edx, dword [esp + 0x48]
mov ecx, esi
call fcn.005cfdf0
push ebp
lea ebx, [esp + 0x64]
call fcn.005ef0e0
mov eax, dword [esp + 0x54]
push esi
mov ecx, 3
call fcn.005d7f90
add esp, 0xc
jmp 0x60e3cc
mov ebx, dword [esp + 0xe8]
lea ecx, [esp + 0x5c]
mov eax, ebx
mov dword [esp + 0x34], 0
call fcn.005d2d30
mov edi, eax
test edi, edi
je 0x60e29d
mov esi, dword [edi + 0x40]
mov ecx, dword [ebp]
call fcn.005d2870
mov ebx, eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x48], eax
inc eax
mov dword [ebp + 0x48], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x38], eax
mov esi, ebx
mov eax, ebp
call fcn.005fe9e0
mov ecx, dword [edi]
mov edx, dword [edi + 0x20]
push ecx
push 0
push edx
mov eax, ebp
call fcn.005d9c80
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x34]
add esp, 0xc
test eax, eax
je 0x60e22d
nop
cmp byte [eax + 0x2e], 0
jne 0x60e204
test esi, esi
je 0x60e202
mov ecx, dword [eax + 0x24]
cmp ecx, dword [esi + 0x24]
jge 0x60e204
mov esi, eax
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x60e1f0
test esi, esi
je 0x60e22d
movsx edx, word [edi + 0x26]
cmp dword [esi + 0x24], edx
jge 0x60e22d
mov eax, dword [esi + 0x28]
push esi
push ebp
mov dword [esp + 0x40], eax
call fcn.005ecaa0
add esp, 8
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
push ebx
mov ebx, dword [esp + 0x18]
push ecx
push edx
push 0x27
mov eax, ebx
call fcn.005d7f10
add esp, 0x10
cmp dword [esp + 0x44], 0
je 0x60e265
mov eax, dword [esp + 0x44]
push eax
push ebx
mov ecx, 0xfffffff0
or eax, 0xffffffff
call fcn.005d8230
add esp, 8
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x48]
push ebx
mov edx, 0x20
call fcn.005d7fb0
mov eax, dword [esp + 0x4c]
push ebx
mov ecx, 0x2d
call fcn.005d7f90
add esp, 8
mov eax, esi
mov edx, edi
mov ecx, ebp
call fcn.005e1c60
jmp 0x60e376
mov eax, ebx
xor esi, esi
call fcn.005d2cc0
mov byte [esp + 0x10], al
test al, al
je 0x60e2ed
mov edx, dword [ebx]
mov eax, dword [edx + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov edi, dword [esp + 0x20]
push esi
push edx
push edi
call fcn.005d9210
mov esi, eax
add esp, 0xc
mov dword [esp + 0x34], esi
test esi, esi
je 0x60e2ed
cmp byte [edi + 0x38], 0
jne 0x60e2ed
cmp byte [esp + 0x10], 1
mov ecx, dword [esi + 8]
setne al
mov byte [ecx + 0xc], al
mov edx, dword [esi + 8]
mov eax, dword [edx]
mov byte [eax], 0x98
push ebp
lea ebx, [esp + 0x60]
call fcn.005ef0e0
movzx cx, byte [esp + 0x14]
mov eax, dword [esp + 0x44]
push 0
movzx edx, cx
mov ecx, dword [esp + 0x38]
push edx
push 0
push esi
push eax
push ecx
push ebp
call fcn.00609f10
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x60e336
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
push edx
push eax
call fcn.005d9430
add esp, 8
jmp 0x60e447
lea ecx, [esp + 0x5c]
push ecx
mov eax, ebp
call fcn.005ef1b0
add esp, 4
cmp word [esi + 8], 0
jbe 0x60e361
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x18]
xor ecx, ecx
push edx
lea edx, [ecx + 1]
call fcn.005d7fb0
add esp, 4
push esi
call fcn.005db220
lea eax, [esp + 0x60]
push eax
mov eax, ebp
call fcn.005e1c00
add esp, 8
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x94]
push 8
push esi
push ecx
push ebp
mov dword [esp + 0x28], 0
call fcn.00600390
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax]
push esi
push esi
push edx
push 0
push 0
push 0
push 0
push ecx
push eax
push ebp
call fcn.005ee070
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x58]
push edx
push eax
call fcn.005d9430
mov esi, dword [esp + 0x54]
add esp, 0x40
mov edx, dword [esp + 0x58]
mov ecx, esi
call fcn.005cfdf0
mov ebx, dword [esp + 0x14]
cmp byte [esp + 0x99], 3
jne 0x60e3f5
mov eax, str.DISTINCT
mov ebx, ebp
call fcn.005e1190
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x18], 0
je 0x60e431
mov eax, str.ORDER_BY
mov ebx, ebp
call fcn.005e1190
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov edx, dword [esp + 0xe8]
push ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
push edx
push ebp
call fcn.005e1230
mov ebx, dword [esp + 0x28]
add esp, 0x14
mov edx, dword [esp + 0xa8]
mov ecx, ebx
call fcn.005cfdf0
mov dword [esp + 0x50], 0
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0xa4]
mov dword [ebp + 0x1e4], eax
test edi, edi
jne 0x60e47b
mov ecx, dword [esp + 0xec]
cmp byte [ecx], 5
jne 0x60e47b
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
push edx
push eax
push ebp
call fcn.005e76c0
add esp, 0xc
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x70]
mov ecx, esi
call fcn.005ca970
mov edx, dword [esp + 0x7c]
mov ecx, esi
call fcn.005ca970
pop ebx
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0xd0
ret